Documentation & Building
This documentation is built with MkDocs + the Material theme + the i18n plugin. The source is the docs/ folder.
Local preview
pip install mkdocs mkdocs-material "mkdocs-static-i18n"
mkdocs serve # default http://127.0.0.1:8000, with live reload
Build the static site
mkdocs build # output to site/; --strict fails on broken links / missing translations
Directory convention
docs/
├── zh/ # Chinese (default language)
└── en/ # English
Each language folder shares the same structure: index.md, about.md, guide/, dev/, api/
- Adding a page: create a same-named file in both
zh/anden/, then register it in thenavofmkdocs.yml. - Chinese → English navigation mappings live in
nav_translations.
Code conventions (for contributors)
- File names: UI feature pages use Chinese pinyin (e.g.
qiudao.py= Derivative); library modules such ascore/,functions/use English. - Layering: computation logic goes in
functions/(pure functions, no Qt); UI goes inui/; shared services go incore/. - Docstrings: public functions / classes should have docstrings to support the API reference.
- Lazy loading: new UI modules must be registered in
_submodulesofui/__init__.pyto benefit from faster startup.
Documentation categories
This help site is split into three categories for different readers:
- User Guide (
guide/): for end users — installation, configuration, and how to use each feature. - Developer Guide (
dev/): for contributors — architecture, how to add a feature, internationalization, and building docs. - API Reference (
api/): for integrators — the public functions of eachcore/andfunctions/module.
Contribution workflow
- Fork the repository and create a branch.
- Update docs in both
docs/zhanddocs/en. - Run
mkdocs build --strictlocally to confirm no broken links / missing translations. - Open a Pull Request.