- the search index is generated by Hugo as a separate JSON file
(searchindex output format), loaded by the search page and cached by
the browser: the search pages go from 96 KB to 7 KB
- Fuse.js 6.4.3 -> 7.5.0 (basic build). Since Fuse.js 7 no longer
provides an UMD build, search.js is now an ES module importing it.
- search on the input event instead of keyup (paste, autocompletion)
Refs #11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3
- Content-Security-Policy without inline script: the search page now
embeds its data in a JSON data block, used by /js/search.js
- X-Content-Type-Options, X-Frame-Options, Referrer-Policy
- cache the fingerprinted CSS forever and the fonts for 30 days
HSTS is already set by Netlify.
Refs #11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3
The theme was only used by this site. Having it at the root of the
repository removes the need for a git submodule and the double commits.
- layouts, assets, i18n and static files moved to the root
- theme LICENSE kept as LICENSE-theme
- ./hugo now generates chroma.css in assets/css
- remove the obsolete static/css/.gitignore
The generated site is identical, except for the stale /css/chroma.css
and /css/.gitignore files that are no longer published.
Closes#12
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YNHsWYTXPThURz6TbVS1j3