Skip to content

chore(devenv): 0.3.1, docs built with Zensical - #1005

Merged
ajslater merged 12 commits into
developfrom
v0.3.1-zensical
Nov 6, 2026
Merged

ajslater merged 12 commits into
developfrom
v0.3.1-zensical

Conversation

@ajslater

@ajslater ajslater commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

devenv 0.3.1 (ajslater/devenv#48, ajslater/devenv#49): the admin guide on Read the Docs builds with Zensical instead of MkDocs. Same pages, same URLs, same heading anchors.

What make update-devenv changed

  • mkdocs.yml, docs/requirements.txt and docs/style.css (a symlink to style.mkdocs.css) deleted
  • zensical.toml created from devenv's template: modern variant, dark slate palette, smarty, toc permalinks, native minify
  • .readthedocs.yaml builds through build.jobs: pip install uv, then uv run --only-group docs --no-dev zensical build --strict, then copies site/ into $READTHEDOCS_OUTPUT/html/. The mkdocs: and python: keys are gone.
  • docs dependency group: mkdocs and mkdocs-minify-plugin replaced by zensical~=0.1; uv.lock relocked (zensical 0.1.0, nothing else moved)
  • source-include: the mkdocs and docs/style*.css entries out, zensical.toml in
  • cfg/docs.mk runs zensical build --strict / zensical serve --open
  • cfg/eslint.config.base.js ignores site/. codespell's skip already had site and .gitignore already had site/, so neither changed.
  • .devenv-version 0.2.11 → 0.3.1
  • the usual bun update: eslint_d 15.1.0, eslint-plugin-yml 3.10.0 (separate commit)

Hand edits

  • zensical.toml [project]: site_name, site_author, site_description and nav = ["NEWS.md", "DOCKER.md"] from the old mkdocs.yml, plus site_url = "https://codex-comic-reader.readthedocs.io/"; [project.theme] logo = "codex/img/logo.svg"
  • deleted docs/style.material.css, docs/style.mkdocs.css and docs/style.readthedocs.css, which only existed as targets for the retired docs/style.css
  • source-include sorted, with the explicit docs/… entries that docs/** already covers dropped. The sdist file list is identical before and after (2219 files).
  • kept: the symlinked directories docs/docs, docs/NEWS/codex, docs/img, docs/codex/img/logo.svg, and their source-exclude entries

Verified locally

  • make docs passes --strict (it never worked under mkdocs, which refused --site-dir docs/site)
  • the built site has / from the README, /DOCKER/, /NEWS/ and /WINDOWS/, all with the slate scheme, the codex/img/logo.svg logo and canonical URLs on codex-comic-reader.readthedocs.io
  • the anchors the app and frontend link to are present: /DOCKER/#migrating-from-docker-hub, /#reset-the-admin-password, /#administration. A crawl of every internal href/src and #fragment in site/ found no broken links, so the README and NEWS relative links through the symlinked directories still resolve.
  • checked in a browser through zensical serve
  • site/ and .cache/ stay out of git status; a second make update-devenv changes nothing
  • make fix lint ty test green, with site/ present, so 0.3.1's codespell and ESLint skips work: pytest 1753 passed (1 xfailed), vitest 1070 passed

Read the Docs

Not exercised yet. The codex-comic-reader RTD project builds latest from main, so the live site changes only after this is released to main. Then check https://codex-comic-reader.readthedocs.io/DOCKER/#migrating-from-docker-hub, /#reset-the-admin-password and /#administration. The build.jobs shape is the one already live for treestamps.

Also in this branch

a1dff0090 update deps was on local develop but not on origin/develop when this branch was cut, so it rides along.

Follow-up: devenv 0.3.2 and 0.3.3, warning callouts

  • AJ's fix docs orange: [project.theme.font] (Inter, JetBrains Mono) plus a deep purple / orange palette
  • devenv 0.3.2: primary moves to indigo (accent orange stays), and zensical.toml turns on admonition, pymdownx.details, pymdownx.superfences and pymdownx.quotes.callouts. Its bun update moved a few transitive lint packages in bun.lock (separate commit).
  • devenv 0.3.3: Markdown lint accepts GitHub callouts (no-missing-label-refs allowLabels)
  • docs: the Docker Hub move note, the three config deprecation notes and the read-only /comics note are > [!WARNING] callouts, written with a bare > line after the marker so make fix keeps them intact. GitHub renders them as alerts, and the Zensical site renders five admonition warning boxes (four on /, one on /DOCKER/). The heading anchors the app links to are unchanged.
  • make docs strict and make fix lint ty test green again (pytest 1753 passed, 1 xfailed; vitest 1070 passed)

🤖 Generated with Claude Code

ajslater and others added 12 commits November 2, 2026 23:35
From the bun update that make update-devenv runs: eslint_d 15.1.0,
eslint-plugin-yml 3.10.0 and their lockfile transitive updates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Raw make update-devenv output against devenv 0.3.1, plus uv lock for
the new docs group.

- mkdocs.yml, docs/requirements.txt and docs/style.css retired
- zensical.toml created from the devenv template
- .readthedocs.yaml builds through build.jobs with uv
- docs group: mkdocs + mkdocs-minify-plugin -> zensical~=0.1
- source-include: mkdocs and docs/style*.css entries out, zensical.toml in
- cfg/docs.mk runs zensical build --strict / zensical serve --open
- cfg/eslint.config.base.js ignores site/

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zensical.toml [project] takes site_name, site_author, site_description
and nav from the old mkdocs.yml, plus site_url for Read the Docs and the
codex/img/logo.svg theme logo. The style.{material,mkdocs,readthedocs}.css
variants only existed for docs/style.css, which devenv retired.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
update-devenv appended docs/** and zensical.toml after the sorted list.
The explicit docs/ files are all inside docs/**; the sdist file list is
unchanged (2219 files, compared before and after).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From the bun update that make update-devenv runs: mdast-util-* and
vue-eslint-parser patch releases. package.json is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Raw make update-devenv output against devenv 0.3.2: the docs palette
primary moves from deep purple to indigo (accent orange stays), and
zensical.toml enables admonition, pymdownx.details, pymdownx.superfences
and pymdownx.quotes callouts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Raw make update-devenv output against devenv 0.3.3: Markdown lint
accepts GitHub callouts (no-missing-label-refs allowLabels for !NOTE,
!TIP, !IMPORTANT, !WARNING and !CAUTION). The bun update and uv lock
changed nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Docker Hub move note, the three config deprecation notes and the
read-only /comics mount note become > [!WARNING] callouts, which GitHub
renders natively and Zensical renders as admonitions through
pymdownx.quotes callouts. The bare > line after each marker keeps
Prettier's proseWrap from joining the marker onto the text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The CSRF 403 section now ends with a callout: in general a correctly
configured reverse proxy shouldn't need csrf_trusted_origins or
CODEX_CSRF_TRUSTED_ORIGINS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The note that a correctly configured reverse proxy needs no CSRF
trusted origins moves from the end of the section to the top, and the
first paragraph drops the clause that said the same thing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ajslater
ajslater merged commit 4a30692 into develop Nov 6, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant