Сохраните Asciidoctor AST как текстовый документ AsciiDoc.

Работая с Asciidoc программно (я использую AsciiDoctorJ), есть ли простой способ вернуть текстовые данные AsciiDoc из AST DOM?

Я могу получить предварительно обработанный поток AsciiDoc из препроцессора, но если я хочу внести какие-либо изменения в AST во время его загрузки, я не вижу никакого способа отобразить Document обратно в форму AsciiDoc.

Я предполагаю, что можно реализовать Converter или просто пройтись по дереву DOM и записать его содержимое в виде текста AsciiDoc самостоятельно, но это серьезное предприятие, и есть много закоулков, которые я обязательно пропущу.

Учитывая, что код AsciiDoc содержит информацию, которая позволяет ему определить, как преобразовать текст в дерево, мне было интересно, есть ли простой способ просто отменить это.


person Pawel Veselov    schedule 19.06.2021    source источник


Ответы (1)


Синтаксический анализатор Asciidoctor в настоящее время не хранит достаточно информации для воспроизведения исходного документа. Для получения дополнительной информации см.: https://github.com/asciidoctor/asciidoctor/issues/3312< /а>

В зависимости от того, чего вы хотите достичь, лучшим вариантом, вероятно, будет использование расширения Preprocessor для обработки необработанного AsciiDoc до того, как Asciidoctor проанализирует его: https://docs.asciidoctor.org/asciidoctorj/latest/extensions/preprocessor/

person Mogztter    schedule 19.06.2021