No description
- HTML 38.2%
- SCSS 36.1%
- Nix 19.3%
- Ruby 2.4%
- JavaScript 2.1%
- Other 1.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
The flake was pinned to nixpkgs from April 2024, which held the build on
Ruby 3.1.4 (EOL since March 2025) and Jekyll 4.1.1 (2020).
Toolchain:
- Ruby 3.1.4 -> 3.4.9, Jekyll 4.1.1 -> 4.4.1, Rouge 3.30 -> 4.7
- sassc/libsass (EOL 2020) -> sass-embedded (dart-sass)
- commonmarker 0.17.13 (2019) -> kramdown 2.5.2 + GFM
jekyll-commonmark-ghpages had to go: from 0.2.0 on it requires Jekyll 3.x,
since it targets GitHub Pages, which is frozen on 3.9. Plain jekyll-commonmark
drops syntax highlighting, so this moves to kramdown, Jekyll's built-in engine,
removing the third-party markdown gem entirely. hard_wrap is off to keep
CommonMark's newline handling, and the two <details> blocks are marked
markdown="1" since kramdown does not parse markdown inside raw HTML by default.
All pages verified to render identical text before and after.
nixpkgs patches sass-embedded to use its own dart-sass, but dropping the
download task also drops the side effect that created ARCHDIR, so the build
fails writing cli.rb. flake.nix carries a gemConfig override for this.
Theme:
- The stylesheet asked for Roboto but never loaded it, so every visitor got
fallback Arial. Use a system-ui stack instead.
- Colours are CSS custom properties, collapsing the parallel dark stylesheet
from 253 lines to 15. Theme resolves before first paint and follows the OS
preference; @import -> @use, so the build is warning-free under dart-sass.
- Drop Font Awesome (~1MB of webfonts plus 100KB of CSS) for a single icon,
replaced by a masked inline SVG that keeps existing post markup working.
- Theme toggle is a real button, so it is keyboard reachable. Transitions are
scoped rather than applied to every element, and honour prefers-reduced-motion.
- Remove dead metadata: empty twitter/fb tags, the theme's own name in the app
metadata, an unreferenced disqus.js, and the unused tweet block.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
||
| src | ||
| .envrc | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| patch-feed-date.py | ||
| README.md | ||
Blog
$ cd src
$ jekyll serve