Repository navigation
Converting Chapters
docs-bot edited this page Oct 26, 2026
·
1 revision
Turn
.odtchapters into pages without losing a word.
For maintainers. Writers never need this: once a chapter is converted, it is edited as Markdown.
| Tool | Version |
|---|---|
| π Python | 3.10 or newer |
| π Pandoc | 3.x |
| π¦ Python packages | pip install -r docs2/tools/requirements.txt |
python3 docs2/tools/inventory.py ../path/to/odt/manual # words, images, tables per file β docs2/reports/
python3 docs2/tools/map_pages.py . # where every file lands β docs2/reports/page-map.md
python3 docs2/tools/map_pages.py . --apply --section editors --chapter 7 # move one chapter into pages.json| File | Holds |
|---|---|
docs2/tools/sections.yml |
The 8 sidebar sections, in chapter-list order, with folder names and group titles |
docs2/tools/page_map.json |
Every planned page, in pages.json format |
docs2/tools/legacy_pages.json |
The current website's documentation addresses, for redirects |
docs2/reports/page-map.md |
The map as a table: done β , planned β³, very long βοΈ |
The rule: one page per .odt file. A chapter becomes a folder with index.md, its sub-chapters pages inside it.
Files under 80 words fold into the page above them.
From the repository root:
DOCS_ROOT=docs2 DOCS_URL_PREFIX=/docs2 python3 docs2/tools/convert.py . docs2/tools/pages.json docs2 docs2/.work
python3 docs2/tools/wordcount.py docs2 docs2/.work # fails if any source words are lost
python3 docs2/tools/make_nav.py docs2/tools/pages.json docs2/nav.yml
python3 docs2/tools/find_repeats.py docs2 > docs2/reports/repeats.jsonDecides which source sections become which page.
| Key | Meaning |
|---|---|
file |
The page to write, under docs2/
|
parts |
Where its text comes from: an .odt chapter (src), the current website (web), or a short note (note) |
slug, icon, status
|
Front matter for the website |
snippets |
Shared sections, written to docs2/snippets/
|
| Guarantee | How |
|---|---|
| π No lost words |
wordcount.py compares every chapter with its pages; the run fails otherwise |
| ποΈ Editor-ready | Pages are written exactly as Pages CMS saves them, so a later one-word edit changes one line |
| βοΈ Plain writing | Tips become > **Tip:** quotes, hotkeys Ctrl + S, menus A βΊ B
|
| π Safe characters | No backslash escapes; paths and *.py patterns go in backticks |
| πΌοΈ One copy per image | Images are stored once and named by where they are used |
π Bforartists Manual wiki Β· GPL v3 Β· Repository Β· Website Β· Report a docs problem Β· These pages are kept in docs2/dev-docs/ and copied here, so edit them there.
π Home
βοΈ Writing
- π Writer quick start
- βοΈ Editing the docs online
- βοΈ Plain writing
- πΌοΈ Images and screenshots
- π Formatting standard
- β»οΈ Shared sections
- π Reference Manual writing guide
βοΈ How it works
- πΊοΈ How Docs 2.0 works
- πΏ Branches and review
- π Converting chapters
- β Checks and previews
- π Website sync
π§° Maintaining
- π§° Maintainer guide
- π§ Structure and navigation
- πΊοΈ Workspace maps
- β¨οΈ Keymap
- ποΈ Site scripts
- π Release update
- π©Ί Troubleshooting
π Status