Files
export_1c_help/README.md
T
mihailkudravcev ecddcef586 Track configuration version and page lifecycle in wiki export.
Record created/edited/deleted-in versions per page; add History.md and update workflow docs.
2026-07-23 15:16:06 +03:00

109 lines
4.1 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.2.0**) · [CHANGELOG](CHANGELOG.md)
**Лицензия:** [MIT](LICENSE)
Выгрузка встроенной справки конфигурации 1С (`**/Ext/Help/ru.html`) в Markdown и публикация в [Gitea Wiki](https://docs.gitea.com/usage/wiki).
Зависимости: **Python 3.10+**, только стандартная библиотека.
---
## Порядок обновления wiki (после доработки справки в конфигурации)
Инструмент **всегда** пересобирает wiki из всего `src/` (инкрементального патча нет). Частичная правка Help в конфигураторе → полная перевыгрузка `src` → полный `push`.
1. Доработать справку в конфигураторе (нужные объекты/формы).
2. Выгрузить конфигурацию в git (`crm3-26/`) и закоммитить/запушить, как обычно.
3. В монорепо: `git pull` (актуальный `crm3-26/src`, в т.ч. `VERSION` / `Configuration.xml`).
4. Синхронизировать wiki:
```bash
cd tools/export_1c_help
python3 export_1c_help.py push \
-s ../../crm3-26/src \
--wiki-url https://git.p7net.ru/1c/crm3_26.wiki.git \
-m "sync help after config update"
```
Перед записью можно проверить без push:
```bash
python3 export_1c_help.py push \
-s ../../crm3-26/src \
--wiki-url https://git.p7net.ru/1c/crm3_26.wiki.git \
--dry-run
```
**Канон текста** — HTML в конфигурации. Ручные правки страниц в wiki сотрутся при следующем `push` (если не указан `--keep-unmanaged`).
---
## Версии конфигурации на страницах
| Где | Что фиксируется |
|-----|-----------------|
| `Home.md` | версия конфигурации **этой** выгрузки |
| подвал каждой страницы | версия выгрузки; **создана в** / **изменена в** |
| `History.md` | сводка +/−/~ и накопительный список **удалённых** (`deleted_in`) |
| `manifest.json` | те же поля + `content_hash`, история `exports[]` |
Версия берётся из `<config>/VERSION` или `<Version>` в `Configuration.xml` (можно переопределить `--config-version`).
Жизненный цикл считается относительно предыдущего `manifest.json` в wiki (при `push` подтягивается автоматически).
---
## Быстрый старт
```bash
cd tools/export_1c_help
python3 export_1c_help.py convert \
-s ../../crm3-26/src \
-o ./out/wiki-md \
--clean
python3 export_1c_help.py push \
-s ../../crm3-26/src \
--wiki-url https://git.p7net.ru/1c/crm3_26.wiki.git
```
```bash
python3 export_1c_help.py --version
```
---
## Команды
### `convert`
| Параметр | Описание |
|----------|----------|
| `-s` / `--src` | каталог `src` выгрузки конфигурации |
| `-o` / `--out` | каталог результата |
| `--objects-only` | без справки форм |
| `--keep-empty` | не пропускать почти пустые страницы |
| `--clean` | очистить `--out` перед записью |
| `--prev-manifest` | предыдущий `manifest.json` (lifecycle) |
| `--config-version` | явная версия конфигурации |
### `push`
`prepare wiki``convert` (с `manifest.json` из wiki) → `git commit` / `push`.
| Параметр | Описание |
|----------|----------|
| `--wiki-url` | URL `*.wiki.git` |
| `--dry-run` | только convert |
| `--keep-unmanaged` | не удалять чужие `.md` |
| `-m` / `--message` | сообщение коммита |
---
## Репозиторий
- путь: `tools/export_1c_help/`
- remote: https://git.p7net.ru/tools/export_1c_help.git