Release 0.5.0: form_wiki_export — выгрузка HTML-форм в Gitea wiki.

Полный обход Form.xml, настраиваемый wiki_prefix, русские типы в именах, ссылки без percent-encoding.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-08-14 16:38:04 +03:00
parent f6003e9ebf
commit f55c654de2
7 changed files with 1009 additions and 2 deletions
+59 -1
View File
@@ -1,6 +1,6 @@
# export_1c_help
**Версия:** см. [`VERSION`](VERSION) (текущая: **0.4.4**) · [CHANGELOG](CHANGELOG.md)
**Версия:** см. [`VERSION`](VERSION) (текущая: **0.5.0**) · [CHANGELOG](CHANGELOG.md)
**Лицензия:** [MIT](LICENSE)
Выгрузка встроенной справки **любой** конфигурации 1С (`**/Ext/Help/ru.html`) в Markdown и публикация в wiki git-репозитория (Gitea / GitLab: `*.wiki.git`).
@@ -287,6 +287,64 @@ python3 form_xml_to_html.py \
---
## Wiki: все формы (`form_wiki_export.py`)
Полный обход `**/Ext/Form.xml` в одной или нескольких конфигурациях, генерация HTML и
wiki-страниц с настраиваемым префиксом (по умолчанию **`form_`**, в конфиге crm3-26 —
**`forms_`**) для просмотра в Gitea wiki (iframe + HTML-вложение).
Обновление **не затирает** другие wiki-страницы: используется отдельный manifest
`manifest.export_forms.json` и маркеры `<!-- export_forms:begin/end -->` (не пересекаются
с `export_docs` и справкой `export_1c_help`).
```bash
cd tools/export_1c_help
# локальная сборка (без push)
python3 form_wiki_export.py build -b crm3-26.rhana -o out/form-wiki-rhana
# другой префикс (переопределяет JSON)
python3 form_wiki_export.py build -c configs/form_wiki.crm3-26.json --wiki-prefix form_
# сборка + push в wiki (dry-run сначала)
python3 form_wiki_export.py push -c configs/form_wiki.crm3-26.json --dry-run
python3 form_wiki_export.py push -c configs/form_wiki.crm3-26.json
# только расширение
python3 form_wiki_export.py push -b crm3-26.rhana
# удалить form_* из wiki
python3 form_wiki_export.py clean --wiki-url https://git.p7net.ru/1c/crm3_26.wiki.git
```
| Команда | Описание |
|---------|----------|
| `build` | собрать `{prefix}*.md` + `{prefix}*.html` + `{prefix}INDEX.md` локально |
| `push` | `build` + git push в wiki |
| `clean` | удалить ранее опубликованные страницы по manifest |
Имена страниц: `{prefix}{конфа}__{тип RU}__{объект}__{форма}.md` (для общих форм —
`{prefix}{конфа}__Общие_формы__{форма}.md`).
Тип — русское имя из метаданных (`Справочники`, `Документы`, `Обработки`, …);
пробелы в типе заменяются на `_`.
Приоритет префикса: `--wiki-prefix` → `wiki_prefix` в JSON → `form_`.
Если в значении нет завершающего `_`, он добавляется (`forms` → `forms_`).
Конфиг `configs/form_wiki.crm3-26.json`:
```json
{
"bases": ["crm3-26"],
"search_roots": ["../.."],
"out_path": "out/form-wiki",
"wiki_url": "https://git.p7net.ru/1c/crm3_26.wiki.git",
"wiki_prefix": "forms_"
}
```
---
## Репозиторий инструмента
- путь в монорепо: `tools/export_1c_help/`