Архитектура системы
Adaptadocx — модульная система документации на базе Antora. Стек организован в пять слоёв:
-
Исходные файлы
-
Оркестрация сборки
-
Генерация форматов (HTML, PDF, DOCX)
-
Контроль качества
-
CI-процессы безопасности и упаковки
Основные компоненты
Слой | Каталог / Файл | Роль |
---|---|---|
Контент |
|
Языковые исходники AsciiDoc |
Контент |
|
Отдельные страницы |
Контент |
|
Имя компонента, версия, навигация |
Конфигурация |
|
Глобальная конфигурация сайта (источники, UI, вывод) |
Конфигурация |
|
Настройки ассемблера для экспортов PDF/DOCX |
Конфигурация |
|
Тема PDF и метаданные по локалям ( |
UI |
|
Переопределения CSS/JS и макетов (ссылки на загрузки ведут в |
Сборка |
|
Основной и альтернативный оркестраторы |
Контейнер |
|
Воспроизводимая цепочка инструментов для CI и локального запуска |
CI |
|
Workflow для QA, security audit и релизов |
Приоритеты конфигурации
Приоритет | Файл | Область |
---|---|---|
1 |
|
Компонент |
2 |
|
Весь сайт |
3 |
Встроенные атрибуты |
Отдельный документ |
Конвейер сборки
-
build-html — Antora генерирует сайт в
build/site/
и экспорт ассемблера вbuild/asm/
. Объём сборки управляется переменными BUILD_SCOPE (local
по умолчанию илиtags
) и BUILD_REF (по умолчаниюHEAD
). -
build-pdf — использует
build/asm/
, создаёт версионированные PDF вbuild/pdf/<locale>/<version>/
, затем копирует их вsite/<locale>/<version>/_downloads/
. -
build-docx — использует
build/asm/
, создаёт версионированные DOCX вbuild/docx/<locale>/<version>/
, затем копирует их вsite/<locale>/<version>/_downloads/
. -
make test — запускает Vale, htmltest, Shellcheck.
-
Упаковка —
make release
архивирует результат (adaptadocx-docs-<version>.zip
).
Каталог build/asm/ содержит промежуточные сборки от @antora/pdf-extension . Каталог build/site/ содержит итоговый HTML-сайт.
|
Поток HTML
AsciiDoc → Antora → UI bundle → Lunr index → HTML site
-
Поиск — Lunr со стеммерами EN/RU.
-
Диаграммы SVG рендерятся нативно в браузере.
Контроль качества
Инструмент | Проверки | Вывод |
---|---|---|
Vale |
Стиль, орфография |
|
htmltest |
Целостность ссылок |
|
Shellcheck |
Lint shell-скриптов |
Консоль |
Параметры объёма сборки
Переменная | Назначение | Значение по умолчанию |
---|---|---|
|
|
|
|
Ветка/ссылка для локального режима (например, |
|
Контейнерный образ
-
База — Node.js 20 + Ruby ≥ 2.7
-
Дополнительно — Asciidoctor PDF, Pandoc, Vale, htmltest, Shellcheck, Graphviz, шрифты DejaVu
Образ собирается один раз и переиспользуется во всех задачах CI.
CI-процессы
Workflow | Задача | Триггер |
---|---|---|
QA Checks |
Vale, htmltest, Shellcheck |
|
Security Audit |
OSV-Scanner, Sandworm, проверка запрещённых паттернов |
|
Release |
Контейнерная сборка, мультиверсионные доки ( |
|
Релизный workflow публикует полный сайт и загружает архив с артефактами. |