Adaptadocx Documentation
Adaptadocx is a documentation-publishing system built around Antora. The platform assembles multilingual AsciiDoc sources and produces three outputs: HTML, PDF and DOCX. Built-in QA checks, security audits, and CI workflows ensure consistent quality and reproducible builds.
The system currently supports:
-
Two locales (English and Russian)
-
Custom Antora UI theming
-
SVG diagram rendering
-
Containerised builds with Docker
-
Automated QA, security, and linting workflows
-
Multiversion site by Git tags with versioned downloads
Architecture Overview
Adaptadocx follows a modular design: Antora is the core generator, while auxiliary components extend its capabilities.
Component | Purpose |
---|---|
Documentation Sources |
AsciiDoc content for EN and RU in |
Configuration |
PDF theme and per-locale metadata in |
UI Components |
Antora UI customisations in |
Build Scripts |
|
CI/CD |
GitHub Actions workflows in |
Core Features
Multi-format Output
A single set of AsciiDoc files yields three independent artefacts.
-
HTML — static site with a custom UI bundle and full-text search
-
PDF — print/offline version with a custom theme and DejaVu Cyrillic fonts
-
DOCX — editable document generated through Pandoc with an automatic cover page
Build Pipeline
Adaptadocx can be built with Make (default) or an equivalent Python script. Both produce identical artefacts in build/
.
Build modes
Local (default) — builds only the current branch HEAD
or a branch set by BUILD_REF
.
make build-all
make build-all BUILD_REF=my-feature
Tags — multiversion build over all Git tags.
make build-all BUILD_SCOPE=tags
Outputs are versioned and stored in:
-
build/pdf/<locale>/<version>/adaptadocx-<locale>.pdf
-
build/docx/<locale>/<version>/adaptadocx-<locale>.docx
-
copied to
site/<locale>/<version>/_downloads/
The header menu links PDF and DOCX always point to _downloads
of the current version.
Docker Environment
The container image includes:
-
Node.js 20 and Ruby ≥ 2.7
-
Python 3.11+
-
Asciidoctor PDF
-
Vale, htmltest, Shellcheck
-
Graphviz
-
DejaVu fonts
-
rsvg-convert
for SVG→PDF/SVG→PNG conversion
Makefile Targets
Target | Purpose |
---|---|
|
Build HTML + PDF + DOCX (alias of |
|
Build HTML only |
|
Build PDF only |
|
Build DOCX only |
|
Run Vale, htmltest and Shellcheck |
|
Remove |
|
Zip artefacts after QA |
Python build script
If make
is not available, run the same tasks via build.py
(Python 3.11+).
Command | Purpose |
---|---|
|
HTML + PDF + DOCX |
|
HTML only |
|
PDF only |
|
DOCX only |
|
Run tests (Vale, htmltest if site exists, Shellcheck) |
|
Version substitution only |
|
Remove |
Use either entry point — mixing them in one run is unnecessary.
Continuous Integration
GitHub Actions defines three workflow groups.
-
QA Checks — lints AsciiDoc, validates links, analyses scripts
-
Security Audit — dependency and content audit (OSV-Scanner, Sandworm, banned patterns)
-
Release — full multiversion build (
BUILD_SCOPE=tags
), packaging, and deployment to Netlify