Writing documentation
Public docs live under website/docs/. Repository-internal design records and deep operational evidence remain under the root docs/ directory.
Audience contract
Assume the reader knows basic self-hosting but not how Jiandu components fit together. Lead with a successful task, give copy/paste-safe commands, explain what the reader should observe, and place advanced choices later.
Outside Development:
- describe supported behavior rather than modules, traits, tables, or internal control flow;
- introduce one trust boundary at a time;
- use the exact user-visible error message in troubleshooting pages;
- link to source only with a commit permalink and only when it improves understanding;
- do not promise unmeasured performance, OCR quality, or production readiness.
Local workflow
cd website
npm install
npm start
Before committing:
npm run check
Version lifecycle
The working docs/ tree is Latest (main). During a site build, scripts/prepare-versions.mjs finds exact major release tags such as v2.0.0, reads that tag's website/docs tree, and creates a temporary 2.x Docusaurus version. Generated version directories are ignored; never edit them by hand.