Initial release: export 1C Help to Gitea wiki.

Convert Ext/Help/ru.html to Markdown and push to a wiki git repository.
This commit is contained in:
mihailkudravcev
2026-07-23 14:54:04 +03:00
commit aec0407b87
15 changed files with 1339 additions and 0 deletions
+100
View File
@@ -0,0 +1,100 @@
# export_1c_help
**Версия:** см. [`VERSION`](VERSION) (текущая: **0.1.0**) · [CHANGELOG](CHANGELOG.md)
**Лицензия:** [MIT](LICENSE)
Выгрузка встроенной справки конфигурации 1С (`**/Ext/Help/ru.html`) в Markdown и публикация в [Gitea Wiki](https://docs.gitea.com/usage/wiki).
Зависимости: **Python 3.10+**, только стандартная библиотека.
---
## Быстрый старт
```bash
cd tools/export_1c_help
# конвертация в каталог
python3 export_1c_help.py convert \
-s ../../crm3-26/src \
-o ./out/wiki-md \
--clean
# конвертация + push в wiki-репозиторий Gitea
python3 export_1c_help.py push \
-s ../../crm3-26/src \
--wiki-url https://git.p7net.ru/1c/crm3_26.wiki.git \
-o ./out/wiki-md
```
Проверка версии:
```bash
python3 export_1c_help.py --version
```
---
## Команды
### `convert`
Читает `src/`, пишет Markdown-дерево wiki:
| Файл | Назначение |
|------|------------|
| `Home.md` | оглавление по типам метаданных |
| `_Sidebar.md` | боковая навигация (объекты без форм) |
| `«Заголовок».md` / `%D0%….md` | страницы справки (кириллица — percent-encoded, как в Gitea) |
| `manifest.json` | карта `meta_key` → title / filename |
| Параметр | Описание |
|----------|----------|
| `-s` / `--src` | каталог `src` выгрузки конфигурации |
| `-o` / `--out` | каталог результата |
| `--objects-only` | без справки форм (`Forms/*/Ext/Help`) |
| `--keep-empty` | не пропускать почти пустые страницы |
| `--clean` | очистить `--out` перед записью (кроме `.git`) |
### `push`
Выполняет `convert`, затем `git clone` / обновление wiki-репозитория (обычно `*.wiki.git`), коммит и `git push`.
| Параметр | Описание |
|----------|----------|
| `--wiki-url` | URL wiki git, напр. `https://git.p7net.ru/1c/crm3_26.wiki.git` |
| `--work-dir` | локальный clone wiki |
| `--dry-run` | только convert |
| `--keep-unmanaged` | не удалять чужие `.md` в wiki |
| `-m` / `--message` | сообщение коммита |
Для `push` нужны права записи в wiki (HTTPS + credential helper / token).
---
## Как устроены ссылки
В HTML справки 1С:
```text
Catalog.ВидыНоменклатуры/Help
Document.ЗаказКлиента.Form.ФормаДокумента/Help
```
В wiki:
```markdown
[[Виды номенклатуры]]
[[текст|Виды номенклатуры]]
```
Ключ метаданных (`Catalog.ВидыНоменклатуры`) стабилен и пишется в подвал страницы и в `manifest.json`.
---
## Репозиторий
Отдельный git-репозиторий (подмодуль монорепозитория миграции):
- путь в дереве проекта: `tools/export_1c_help/`
- remote (ожидаемый): `https://git.p7net.ru/tools/export_1c_help.git`