Документация Adaptadocx
Adaptadocx — это система публикации документации на базе Antora. Платформа автоматически собирает многоязычные материалы из исходников AsciiDoc и создаёт три вида артефактов: HTML, PDF и DOCX. В проект встроены проверки качества, аудит безопасности и CI-конвейеры для воспроизводимых сборок.
Система поддерживает:
-
две локали (английская и русская);
-
кастомизацию UI Antora;
-
рендеринг диаграмм SVG;
-
сборки в Docker;
-
автоматизированные процессы QA, Security и линтинг;
-
мультиверсии по Git-тегам.
Обзор архитектуры
Adaptadocx построен модульно: Antora служит ядром генерации, а вспомогательные компоненты расширяют её возможности.
Компонент | Назначение |
---|---|
Исходники документации |
Контент AsciiDoc для EN и RU в |
Конфигурация |
Тема PDF и метаданные локалей в |
UI-компоненты |
Кастомизация Antora UI в |
Скрипты сборки |
|
CI/CD |
Workflow GitHub Actions в |
Ключевые возможности
Мультиформатный вывод
Единый набор AsciiDoc-файлов порождает три независимых артефакта.
-
HTML — статический сайт с кастомным UI-bundle и полнотекстовым поиском
-
PDF — офлайн/печать с пользовательской темой и шрифтами DejaVu для кириллицы
-
DOCX — редактируемый документ через Pandoc с автоматической обложкой
Конвейер сборки
Adaptadocx можно собирать Make (по умолчанию) или эквивалентным Python-скриптом. Оба варианта формируют одинаковые артефакты в build/
.
Режимы сборки
Локальный (по умолчанию) — собирает только текущую ветку HEAD
или ветку, указанную в BUILD_REF
.
make build-all
make build-all BUILD_REF=my-feature
По тегам — мультиверсийная сборка по всем Git-тегам.
make build-all BUILD_SCOPE=tags
Выходные артефакты версионированы и размещаются в:
-
build/pdf/<locale>/<version>/adaptadocx-<locale>.pdf
-
build/docx/<locale>/<version>/adaptadocx-<locale>.docx
-
копии публикуются в
site/<locale>/<version>/_downloads/
Ссылки PDF и DOCX в шапке всегда указывают на _downloads
активной версии.
Docker-окружение
Контейнерный образ включает:
-
Node.js 20 и Ruby ≥ 2.7
-
Python 3.11+
-
Asciidoctor PDF
-
Vale, htmltest, Shellcheck
-
Graphviz
-
Шрифты DejaVu
-
rsvg-convert
для конвертации SVG→PDF/PNG
Цели Makefile
Цель | Назначение |
---|---|
|
Собрать HTML + PDF + DOCX (алиас |
|
Собрать только HTML |
|
Собрать только PDF |
|
Собрать только DOCX |
|
Запустить Vale, htmltest и Shellcheck |
|
Удалить |
|
Заархивировать артефакты после QA |
Python-скрипт сборки
Если make
недоступен, используйте build.py
(Python 3.11+).
Команда | Назначение |
---|---|
|
HTML + PDF + DOCX |
|
Только HTML |
|
Только PDF |
|
Только DOCX |
|
Только подстановка версии |
|
Удалить |
Используйте либо Makefile, либо Python-скрипт — совмещать их в одной сборке не требуется.
Непрерывная интеграция
В GitHub Actions определены три группы workflow.
-
QA Checks — линтинг AsciiDoc, проверка ссылок, анализ скриптов
-
Security Audit — аудит зависимостей и содержимого (OSV-Scanner, Sandworm, запрещённые паттерны)
-
Release — полная мультиверсийная сборка (
BUILD_SCOPE=tags
), упаковка и деплой