Documentation¶
This site is built with Zensical. The configuration is in
zensical.toml at the
repository root, and the pages are Markdown under docs/.
Preview¶
The site is served at http://localhost:8000 and reloads on every change. For another port:
Build¶
The output goes to site/, which is gitignored. It is a build artifact and is never committed.
The build reports broken internal links as warnings. Read them; a link to a page that does not exist still builds a site, just a broken one.
Publishing¶
.github/workflows/docs.yml builds and deploys to GitHub Pages on pushes to main
that touch the docs:
--only-group docs because the build needs Zensical and nothing else. --locked fails on a drifted
uv.lock. --clean wipes the output first. The published site is at
https://jbsilva.github.io/renovate-apply/.
Adding a page¶
Create the Markdown file under docs/ and add it to the nav table in zensical.toml. A page that
is not in nav is not in the site.
Each page starts with front matter setting an icon, then one H1, then a short intro:
---
icon: lucide/book-open-text
---
# Page title
One to three sentences saying what the page covers.
Icons come from Lucide, as lucide/<name>.
Syntax worth knowing¶
An admonition is a fenced callout. The body is indented four spaces after a blank line:
note, tip and warning are the three used here.
Content tabs group real alternatives:
Mermaid diagrams render from a fenced block:
Style¶
- Hard-wrap at 100 columns.
mdformatdoes it for you as a hook. - Sentence-case headings. One H1 per page.
- Indent nested list items four spaces.
- Link between pages with relative
.mdpaths, such as Testing or Installation. Add a#kebab-anchorfor a heading. - Link to source with an absolute GitHub URL on
main, such asreplace.py. - Write plainly. Short sentences. Say the thing, then stop.
Warning
The docs describe behavior, and behavior changes. When you change a flag, a default, or what the
tool holds back, grep docs/ for it in the same commit. Nothing checks this automatically yet.