Files
export_1c_help/README.md
T
mihailkudravcev 92fd17689c Fix Gitea wiki filenames: use percent-encoded Cyrillic slugs.
Unicode names caused HTTP 500 in the wiki UI; match Gitea storage format.
2026-07-23 14:58:58 +03:00

101 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`