92fd17689c
Unicode names caused HTTP 500 in the wiki UI; match Gitea storage format.
101 lines
3.3 KiB
Markdown
101 lines
3.3 KiB
Markdown
# 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` | страницы справки (кириллица в git — **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`
|