Skip to content

Publish docs/ as a MkDocs website next to the app - #37

Merged
firsttris merged 1 commit into
mainfrom
claude/mk-docs-ci-job-syuvsx
Oct 8, 2026
Merged

firsttris merged 1 commit into
mainfrom
claude/mk-docs-ci-job-syuvsx

Conversation

@firsttris

Copy link
Copy Markdown
Owner

What

The documentation in docs/ is built with MkDocs Material and published next to the app on GitHub Pages: https://firsttris.github.io/reactive-volcano-app/docs/. Same setup as in ccu-addon-mui, adapted to this repository, where GitHub Pages already hosts the app.

How

  • New Docs job in build.yml: pull requests run mkdocs build --strict, so a broken link or anchor (also between pages) fails before it is published. On main the job uploads the site, and the deploy job assembles the Pages artifact from the app (dist/) and the docs (dist/docs/).
  • paths-ignore now only skips the README files, CONTRIBUTING.md and LICENSE; changes to docs/ run the workflow.
  • mkdocs.yml, requirements-docs.txt, docs/assets/: theme in the app's orange with light/dark toggle, GitHub-style anchors, mermaid, admonitions, edit links, search.
  • docs/hooks/repo_links.py: links from docs/ to files outside it (../README.md, ../Dockerfile, workflow files) become GitHub links while building, so the Markdown works on GitHub and on the website.
  • vite.config.ts: the service worker leaves /docs/ to the network (navigateFallbackDenylist) instead of answering with the app's index.html.
  • READMEs and the docs (testing.md, releases.md, development.md) describe the website, the local build (mkdocs serve) and the new job.

Not included

The Docker image stays the plain app, without the documentation. No Pages setup is needed, the source is already GitHub Actions.

Checked

mkdocs build --strict, npm run lint and npm run build pass locally; the denylist entry is in the generated sw.js.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Pbr82fad6qrixb8849N4wK


Generated by Claude Code

The documentation is built with MkDocs Material (mkdocs.yml,
requirements-docs.txt) in a new "Docs" job of build.yml and published under
https://firsttris.github.io/reactive-volcano-app/docs/ on every push to
main. Pull requests run mkdocs build --strict, so a broken link or anchor
fails before it is published.

- The deploy job assembles the Pages artifact from the app and the docs
  site, and docs-only changes now run the workflow
- Theme in the app's orange, GitHub-style anchors, mermaid and admonitions
- A hook turns links to files outside docs/ (../README.md, ../Dockerfile)
  into GitHub links, so the Markdown works on GitHub and on the website
- The service worker leaves /docs/ to the network instead of answering
  with the app's index.html
- READMEs and the docs describe the website, the local build and the new
  CI job

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pbr82fad6qrixb8849N4wK
@firsttris
firsttris merged commit b2b0732 into main Oct 8, 2026
6 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.

2 participants