Сборка ADR (как resume/)¶
Скрипт ../build-adr.csx склеивает нумерованные ADR (NNNN-*.md) и гоняет Pandoc → HTML, TXT, PDF (без DOCX).
Зависимости¶
- dotnet-script:
dotnet tool install -g dotnet-script - Pandoc:
winget install JohnMacFarlane.Pandoc - PDF без LaTeX: Microsoft Edge (headless print-to-pdf), как в
resume/build-resume.csx
Запуск¶
Из каталога docs/adr (корень ADR):
dotnet script build-adr.csx
Иначе:
dotnet script build-adr.csx --root "D:\path\to\cascade-ide\docs\adr"
Тематическая сборка UI-ADR (отдельный корень и имена артефактов):
dotnet script build-adr.csx --book adr-book-ui.md
Корневой файл ../adr-book-ui.md тянет ../UI/ui-adr-manifest.txt; карта смыслов — ../UI/principles.md.
Тематическая сборка TECH-ADR:
dotnet script build-adr.csx --book adr-book-tech.md
Корневой файл ../adr-book-tech.md тянет ../TECH/tech-adr-manifest.txt; карта смыслов — ../TECH/principles.md.
Режимы¶
- По умолчанию — все файлы
NNNN-*.mdвdocs/adrпо имени, между ними разделитель---; сверху YAML-шапка со датой сборки. - Свой порядок и преамбула — положи
adr-book.mdвdocs/adr(YAML + директивы{{ INCLUDE: ... }}/INCLUDE_MANIFEST/INCLUDE_GLOB), какresume.mdв репо резюме. --book <файл.md>— другой корень (напримерadr-book-ui.md); выход:build/<stem>.md,out/html/<stem>.htmlи т.д.
Общие фрагменты — каталог snippets/ (пример пути в INCLUDE: snippets/foo.md).
Fenced-блоки (``` … ```): директивы INCLUDE внутри таких блоков не обрабатываются (чтобы литературные примеры в ADR, напр. 0023, не требовали фиктивных файлов).
Выход¶
| Путь | Содержимое |
|---|---|
build/<stem>.md |
Развёрнутый Markdown после INCLUDE (<stem> — имя без .md у --book или adr-book) |
out/html/<stem>.html |
+ adr.css |
out/txt/<stem>.txt |
plain |
out/pdf/<stem>.pdf |
Edge или xelatex |
Каталоги build/ и out/ в .gitignore.