AsciiDoc в HTML, DOCX и JSON.
Один файл. Без Ruby.
adoctra — обработчик AsciiDoc, написанный на Rust: утилита командной строки, библиотека и WASM-привязки для редакторов. Ориентир поведения — Asciidoctor 2.0.23.
cargo install adoctra-cli
Версия 0.0.4 — ранний выпуск. API и вывод ещё могут меняться.
Возможности
- Весь язык. Включения и директивы препроцессора, заголовок и атрибуты документа, разделы, все ограниченные блоки, списки и выноски, таблицы с ячейками AsciiDoc, перекрёстные ссылки, сноски, предметный указатель, STEM и полный конвейер подстановок.
- Современный HTML. Семантический HTML5 со встроенной таблицей стилей, визуально совпадающей с оформлением Asciidoctor по умолчанию. Полный документ или фрагмент, синтаксис HTML или XHTML.
- Документы Word. DOCX по шаблону: каждый элемент получает именованный стиль, который переопределяет ваш
.docxили.dotx. Подробнее о DOCX. - Подсветка синтаксиса. Встроенный порт Rouge со всеми 228 лексерами.
source-highlighter=rougeработает без Ruby. - 58 типов диаграмм. PlantUML, Graphviz, Mermaid, D2, ditaa, штрихкоды и другие — через локальные инструменты, Kroki или сервер PlantUML. Подробнее о диаграммах.
- Для редакторов. Разбор, устойчивый к ошибкам, байтовые диапазоны у каждого блока, поток токенов для подсветки, сборка в WASM. Подробнее о WASM.
Привычная командная строка
adoctra повторяет команду asciidoctor, поэтому существующие скрипты сборки в основном продолжают работать:
adoctra document.adoc # document.html рядом с исходником
adoctra --to docx document.adoc # document.docx
adoctra -a toc -a icons=font -n book.adoc # атрибуты, нумерация разделов
adoctra -r asciidoctor-diagram doc.adoc # диаграммы
Все опции — в справочнике по командной строке.
Проверено на реальной документации
Тестовый корпус включает документацию Asciidoctor, Spring, Quarkus, Gradle, Hibernate ORM, JUnit и других проектов. Структура документов, диагностики и поведение командной строки сравниваются с Asciidoctor 2.0.23, HTML — визуально. Известные отличия перечислены открыто.