Antora — это генератор статических сайтов документации, ориентированный на техническую документацию и использующий язык разметки AsciiDoc. Он разработан таким образом, чтобы объединять контент из одного или нескольких репозиториев, управлять версиями и компонентами, а затем преобразовывать исходные тексты в полноценный веб-сайт. Antora позволяет авторам хранить документы и материалы наряду с кодом, используя средства системы контроля версий.
Проект возник как ответ на потребность команд, которым надо обслуживать обширную, модульную, часто версионную документацию, распределённую между разными репозиториями. Antora используется в сочетании с инструментами, такими как Asciidoctor, для рендеринга AsciiDoc в HTML и других форматах, а также включает удобства для навигации, тем и шаблонов пользовательского интерфейса. Он обеспечивает модульную структуру, где каждая компонента может содержать версии и модули, что упрощает поддержку документации на разных релизах программного продукта.
Хотя Antora предоставляет множество готовых возможностей, в открытых источниках отмечают, что некоторый функционал должен быть настроен или дополнен расширениями. Пользователи могут определять собственные шаблоны, темы, навигационные схемы и подключать плагины для обработки пользовательских случаев. Таким образом, Antora балансирует между готовностью «из коробки» и возможностью гибкой адаптации под нужды проекта.
- Мульти-репозиторный ввод контента: поддержка нескольких git-репозиториев как источников документации для одного сайта.
- Версионирование компонентов: документ может быть организован по компонентам и версиям, что позволяет публиковать и обслуживать разные релизы параллельно.
- Поддержка AsciiDoc и Asciidoctor: документация пишется на AsciiDoc, а для конвертации используется Asciidoctor или совместимые компоненты.
- Конфигурация через playbook: один файл конфигурации (playbook) задаёт, где искать контент, как строить сайт, какую тему использовать и куда помещать результат.
- UI-шаблоны и темы: разделение контента и представления, возможность использовать пользовательский интерфейс (шаблоны, стили, ассеты).
- Навигация и структура: определение меню, навигационных деревьев, карты сайта, модулей для логической группировки страниц.
- Выходные форматы и публикация: генерация HTML-сайта, размещenie на статическом хостинге, поддержка разных мест вывода, в том числе каталогов или при помощи CI/CD.
- Расширяемость: поддержка плагинов и расширений, позволяющих внедрять пользовательскую логику, обработку, автоматизацию.
- Изоляция контента и дизайна: возможность разделять содержание и оформление, что облегчает обновление темы без изменения текста и наоборот.