Repository navigation
chore(deps): bump zensical, self-host docs fonts - #2009
Conversation
Update Zensical to 0.0.74 and enable the privacy plugin so visitors no longer fetch Google Fonts or glightbox from third parties. An include list scopes it, since the theme bundle references unused libraries whose ad SDKs fail the strict build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Bundle size report (gzip)
120 chunks compared, 27 changed. Sizes are gzip, matching what nginx serves. |
There was a problem hiding this comment.
🟢 Approval recommended
The review surfaced no unresolved defects or open concerns on this well-scoped documentation-tooling change, leaving nothing outstanding to block approval.
No open issues 🎉
What changed in this PR
This PR updates the documentation site tooling. It bumps the Zensical static site generator and enables its privacy plugin to self-host the docs' Google Fonts and glightbox assets under /assets/external/, so visitors no longer make third-party requests for them. The plugin is deliberately scoped with an assets_include allow-list rather than exclusions, both to avoid self-hosting unused lazy-loaded theme libraries (whose plyr references would pull in Google ad SDKs that break the --strict build) and to keep the Weblate badge external so it stays live. Supporting documentation (a stale social-card comment and AGENTS.md) is refreshed to match.
Changes:
- Bump Zensical
0.0.71→0.0.74(docs/requirements.txt). - Enable and scope the
privacyplugin with anassets_includeallow-list for Google Fonts + glightbox; refresh the social-card comment now that the palette crash is fixed (docs/zensical.toml). - Document the
privacyplugin rationale and whyoptimizeis not enabled inAGENTS.md.
| File | Description |
|---|---|
docs/requirements.txt |
Pins Zensical to 0.0.74. |
docs/zensical.toml |
Adds the [project.plugins.privacy] allow-list to self-host fonts/glightbox and rewrites the stale social-card layout comment. |
AGENTS.md |
Documents the privacy plugin's allow-list rationale, updates the social note, and records why optimize is intentionally off. |
Review effort: Balanced
Summary
privacyplugin, so the docs serve their own copies of Google Fonts and glightbox from/assets/external/and visitors no longer request them from third partiesassets_includeallow-list. The theme bundle also references lazily loaded libraries we never use (pyodide, ace, mermaid, plyr, vimeo), and plyr's pull in Google ad SDKs that fail the--strictbuild. Unlisted URLs, like the Weblate badge, stay external so the badge keeps updatingAGENTS.md, including whyoptimizeis not enabled: it requirespngquanton every machine that builds the docs, and TOML config can't enable it for CI onlyTest plan
zensical build --clean --strictpasses/assets/external/for the fonts and glightbox; the Weblate badge is still external🤖 Generated with Claude Code