first commit

This commit is contained in:
2026-10-03 23:43:38 +04:00
commit 3a8045a141
40 changed files with 6262 additions and 0 deletions

42
README.md Normal file
View File

@@ -0,0 +1,42 @@
# lab-gen
Автономный генератор отчётов **DOCX** из **Markdown** по дизайну
[СТО 02068410-004-2018](documentation/STO_SGAU_02068410-004-2018.md).
Поведение полностью задаётся файлом `config.yaml`; путь выходного файла — ключ
`document.output`.
Полная документация: **[AGENTS.md](AGENTS.md)** — CLI, схема конфига, формат контента,
директивы и сборка `.exe`.
## Быстрый старт
```powershell
.\lab-gen.exe --init # создать config.yaml, примеры content/ и content/assets/
# ... правим config.yaml и content/*.md ...
.\lab-gen.exe --check # проверить ссылки и конфиг
.\lab-gen.exe # собрать report.docx
```
## Разработка
```powershell
npm install
npm run generate # локальная сборка report.docx
npm run check # проверка конфига и ссылок
npm run build:exe # собрать lab-gen.exe в корне (@yao-pkg/pkg, node24-win-x64)
```
## Структура репозитория
| Путь | Назначение |
|------|------------|
| `src/cli.js` | точка входа, разбор аргументов |
| `src/config/` | дефолты, загрузка и валидация `config.yaml`, шаблон |
| `src/markdown/` | markdown-it, директивы `:::`, инлайн-ссылки `[@n]`, `@fig/@tbl/@eq` |
| `src/render/` | сборка DOCX: стили, примитивы, нумерация, слияние титульника |
| `src/build.js` | оркестрация сборки |
| `content/` | примеры Markdown |
| `content/assets/` | PNG для рисунков, опциональный `title-page.docx` |
| `documentation/` | стандарт СТО |
Инструмент не рендерит диаграммы: PNG готовятся заранее и кладутся в `content/assets/images/`.