🌿 My personal website https://wonderfulfrog.com
Find a file
Devin Haska efcdb7296e
All checks were successful
Build and Deploy / build_and_deploy (push) Successful in 1m19s
Update CSS Pipeline (#4)
The goal of this change was to speed up my CSS pipeline. Previously builds would take up to 30s because it had to rebuild the CSS for every page (I inlined the CSS).

This updates the pipeline to remain somewhat the same, but offloads the busywork of computing my theme CSS (my design system in other words), and is replaced by a mostly static file (`css/global/lilypad.css`), which I can update as my design system changes.

I also offloaded several of my utility classes as I know I will want to use them in other sites I design, so it made sense to move them as well.

The new pipeline makes use of 11ty's bundle feature (newly included in 11ty v3), which allows me to bundle all my CSS together into one file. Since I know my core styles like `lilypad.css` will always remain the same, I decided to keep that inline. I use the `transforms` feature for bundling to run a PostCSS transform on the bundled output, which resolves any imports and minifies the final output.

In order to cut down my build times even further, I removed my XML minifier - it was taking upwards of 3 seconds to minify XML to probably a small benefit to end users.

Reviewed-on: #4
Co-authored-by: Devin Haska <wonderfulfrog@noreply.git.cloud.haska.me>
Co-committed-by: Devin Haska <wonderfulfrog@noreply.git.cloud.haska.me>
2025-05-30 11:16:37 -07:00
.forgejo/workflows feat: re-enable workflows (#1) 2025-05-27 09:17:55 -07:00
config Update CSS Pipeline (#4) 2025-05-30 11:16:37 -07:00
scripts feat: replace deploy step with node script 2025-04-14 13:45:38 -07:00
src Update CSS Pipeline (#4) 2025-05-30 11:16:37 -07:00
.gitignore Feat/remove netlify (#5) 2024-09-29 20:39:55 -07:00
.nvmrc Update to Eleventy v3 (#11) 2025-01-27 18:23:38 -08:00
_redirects fix: update redirects for rss feeds 2024-09-30 19:05:30 -07:00
eleventy.config.js Update CSS Pipeline (#4) 2025-05-30 11:16:37 -07:00
jsconfig.json feat: update catalogue to work with tags 2024-02-17 12:56:42 -08:00
package-lock.json Update CSS Pipeline (#4) 2025-05-30 11:16:37 -07:00
package.json Update CSS Pipeline (#4) 2025-05-30 11:16:37 -07:00
README.md feat: add new post 2024-05-22 21:11:33 -07:00

wonderfulfrog.com

https://wonderfulfrog.com

Here is the source code for my website. With the exception of my content, feel free to take, remix, do whatever you want!

Content is kept under posts and catalogue.

Setup

This project relies on Node.js 20.11.1 (LTS at time of writing), but probably works fine with older (or newer) versions too.

Clone the repo wherever, then:

  1. npm i
  2. npm run dev

That's it. You'll have a dev server on http://localhost:8080. Have fun!

Notes

The following tokens need to be defined inside .env:

  • DARK_VISITORS_ACCESS_TOKEN
  • LAST_FM_API_KEY