Files
GeoLibre/docs
Qiusheng Wu f9e2cae0be docs: migrate documentation build from MkDocs to Zensical (#442)
* docs: migrate the documentation build from MkDocs to Zensical

Mkdocs and Material for MkDocs are now in maintenance mode; the same
team's successor is Zensical, which natively reads the existing
mkdocs.yml. Switch the docs toolchain over:

- Replace mkdocs-material with zensical in requirements-docs.txt
- Build with `zensical build --strict` in the Pages workflow and the
  Netlify build (Zensical's default site_dir is already `site`)
- Update contributing docs to use `zensical serve` / `zensical build`
- Escape the `[::1]` IPv6 literal in plugins.md so Zensical's stricter
  link checker no longer treats it as an unresolved reference
- Refresh the extra.css comment to note the selectors target Zensical's
  output

Closes #441

* Address review feedback

- Pin zensical to >=0.0.45,<0.1 in requirements-docs.txt so the docs
  build doesn't silently pull a future 0.0.x (or 0.1+) release that
  breaks the build. zensical is pre-1.0, so any minor/patch bump can be
  breaking; the lower bound matches the locally verified version and the
  upper bound caps within the tested 0.0.x series. Addresses the Claude
  and CodeRabbit comments on the unpinned dependency.

* Address review feedback

- Set site_dir: site explicitly in mkdocs.yml. zensical build has no
  --site-dir flag (only -f/-c/-s), but it honors the site_dir key from
  mkdocs.yml (verified: setting a temp value redirected the output). This
  pins the build target to site/, matching the hard-coded upload path in
  the Pages workflow and the netlify.toml publish dir, so a future 0.0.x
  default-dir shift can't silently upload an empty directory. Addresses
  the Claude comment about the implicit output directory.
2026-06-17 15:28:02 -04:00
..