System Architecture
Adaptadocx is a modular documentation system built on Antora. The stack is organised into five layers:
-
Content sources
-
Build orchestration
-
Format generation (HTML, PDF, DOCX)
-
Quality assurance
-
CI-driven security and packaging
Core Components
Layer | Directory / File | Role |
---|---|---|
Content |
|
Language-specific AsciiDoc sources |
Content |
|
Individual |
Content |
|
Component name, version, navigation |
Config |
|
Site-level config (sources, UI, output) |
Config |
|
Assembler settings for PDF/DOCX exports |
Config |
|
PDF theme and per-locale metadata ( |
UI |
|
CSS/JS and layout overrides (downloads point to |
Build |
|
Primary / alternative orchestrators |
Container |
|
Reproducible tool-chain for CI and local runs |
CI |
|
QA, security audit, and release workflows |
Configuration Precedence
Priority | File | Scope |
---|---|---|
1 |
|
Component |
2 |
|
Entire site |
3 |
Inline attributes |
Single document |
Build Pipeline
-
build-html — Antora generates the HTML site into
build/site/
and assembly exports intobuild/asm/
. Build scope is controlled by BUILD_SCOPE (local
by default, ortags
) and BUILD_REF (defaults toHEAD
). -
build-pdf — consumes
build/asm/
and emits versioned PDFs underbuild/pdf/<locale>/<version>/
, then copies them tosite/<locale>/<version>/_downloads/
. -
build-docx — consumes
build/asm/
and emits versioned DOCXs underbuild/docx/<locale>/<version>/
, then copies them tosite/<locale>/<version>/_downloads/
. -
make test — runs Vale, htmltest, Shellcheck.
-
Packaging —
make release
zips the build output (e.g.,adaptadocx-docs-<version>.zip
).
build/asm/ holds the intermediate assemblies produced by @antora/pdf-extension . build/site/ is the final HTML website.
|
HTML flow
AsciiDoc → Antora → UI bundle → Lunr index → HTML site
-
Search — Lunr with English/Russian stemmers.
-
SVG diagrams render natively in the browser.
Quality Assurance
Tool | Checks | Output |
---|---|---|
Vale |
Style, spelling |
|
htmltest |
Link integrity |
|
Shellcheck |
Shell-script lint |
Console |
Build Scope Controls
Variable | Meaning | Default |
---|---|---|
|
|
|
|
Branch/ref to build in local mode (e.g., |
|
Container Image
-
Base — Node.js 20 + Ruby ≥ 2.7
-
Extras — Asciidoctor PDF, Pandoc, Vale, htmltest, Shellcheck, Graphviz, DejaVu fonts
The image is built once and reused by all CI jobs.
CI Workflows
Workflow | What it does | Trigger |
---|---|---|
QA Checks |
Vale, htmltest, Shellcheck |
|
Security Audit |
OSV-Scanner, Sandworm, banned-pattern scan |
|
Release |
Docker build, multiversion docs ( |
|
Release uploads a full site build and packaged artefacts. |