Documentation
Project documentation is stored in docs/ and built with Zensical. The Russian version is the primary site and opens at the root URL. The English version is served separately from /en/.
| Version | Sources | Config | Build output |
|---|---|---|---|
| Russian | docs/ru/ |
zensical.toml |
docs-site/ |
| English | docs/en/ |
zensical.en.toml |
docs-site/en/ |
GitHub Pages publishing uses separate configs: zensical.pages.toml and zensical.pages.en.toml. They use the same sources, but set the absolute site_url for https://ethercod3.github.io/diploma_latex/.
Local run
Run documentation:
task docs
docker compose --profile docs up docs
After startup, the site is available in the browser:
http://localhost:8000
task docs first builds both language versions, then serves static files from docs-site/. After Markdown or config changes, restart the command.
Bilingual build
Both configs define extra.alternate, so the regular task docs UI shows a language selector. Russian is listed first.
Build the static site without starting the server:
task docs:build
docker compose --profile docs run --rm docs "zensical build --config-file zensical.toml && zensical build --config-file zensical.en.toml"
Build the GitHub Pages variant:
task docs:build:pages
docker run --rm --entrypoint sh -v "$PWD:/data" -w /data zensical/zensical:0.0.40 -lc "zensical build --config-file zensical.pages.toml && zensical build --config-file zensical.pages.en.toml"
Stop the service:
task docs:down
docker compose --profile docs down
Download the documentation Docker image in advance:
task docs:pull
docker compose --profile docs pull docs
Image
Documentation uses the official image:
zensical/zensical:0.0.40
If you change structure or navigation, update zensical.toml for the Russian version first, then mirror the same changes in zensical.en.toml, zensical.pages.toml, and zensical.pages.en.toml.