docs: sync README and SPEC_EXPORT_DOCS with export_docs 0.3.12

Document flat-root pages, indexes, sidebar DFS tree, and link rewriting.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-07-29 13:48:37 +03:00
parent 31659d4287
commit a2c68fa5d5
3 changed files with 66 additions and 34 deletions
+13 -7
View File
@@ -1,11 +1,11 @@
# export_1c_help
**Версия:** см. [`VERSION`](VERSION) (текущая: **0.3.9**) · [CHANGELOG](CHANGELOG.md)
**Версия:** см. [`VERSION`](VERSION) (текущая: **0.3.12**) · [CHANGELOG](CHANGELOG.md)
**Лицензия:** [MIT](LICENSE)
Выгрузка встроенной справки **любой** конфигурации 1С (`**/Ext/Help/ru.html`) в Markdown и публикация в wiki git-репозитория (Gitea / GitLab: `*.wiki.git`).
Дополнительно: публикация произвольных Markdown-статей в подпапки wiki через `export_docs.py` (спецификация: [`SPEC_EXPORT_DOCS.md`](SPEC_EXPORT_DOCS.md)).
Дополнительно: публикация произвольных Markdown-статей в wiki через `export_docs.py` (спецификация: [`SPEC_EXPORT_DOCS.md`](SPEC_EXPORT_DOCS.md)).
Зависимости: **Python 3.10+**, только стандартная библиотека.
@@ -149,15 +149,21 @@ python3 export_1c_help.py push -c /path/to/config
```bash
python3 export_docs.py push \
--files ./docs/*.md \
--files ./docs/**/*.md \
--folder docs
```
Если `-s/ -c` не указаны, wiki URL берётся из git remote текущей папки.
Если `-s` / `-c` не указаны, wiki URL берётся из git remote текущей папки.
Выгружаются только `.md`, но если внутри них есть локальные ссылки на файлы (картинки/документы), эти файлы тоже копируются в wiki и относительные ссылки сохраняются. Поддерживаются и reference-style ссылки через `[id]: target` (для `[text][id]` переопределения переписываются).
По умолчанию имена страниц **плоские** (`docs__transfer__mapping__file.md`) — так Gitea wiki открывает страницы, где вложенные `/wiki/docs/...` дают 404. Отключить: `--no-flat-root`.
С сохранением структуры подкаталогов:
Что делает `push`:
- выгружает `.md` и вложения по локальным ссылкам (`[](...)`, `![](...)`, reference-style `[id]: target`);
- для каждой папки с статьями собирает `…__INDEX` (статьи + подпапки); исходный `INDEX.md` папки вшивается в эту страницу;
- в каждой статье — ссылка «вернуться в индекс папки»;
- обновляет блок навигации в `Home` / `_Sidebar` (иерархия папок DFS, подписи вида `📁 meta` без полного пути);
- внутренние wiki-ссылки **без** суффикса `.md`; ссылки на файлы репозитория вне выгрузки → URL `…/src/branch/<branch>/…`.
```bash
python3 export_docs.py push \
@@ -174,7 +180,7 @@ python3 export_docs.py clean \
--wiki-url https://git.example/org/repo.wiki.git
```
`clean` не принимает `--files`: удаление идёт по сохранённому `manifest.export_docs.*.json` для указанного `--folder`.
`clean` не принимает `--files`: удаление идёт по сохранённому `manifest.export_docs.*.json` для указанного `--folder` (и убирает блок `export_docs` из `Home` / `_Sidebar`).
Общие параметры источника (взаимоисключающие):