Создание сайта Maven с использованием расширенного Markdown?

Мы используем Markdown на нашем сайте, созданном Maven. Работает как шарм. AFAIK плагин использует Flexmark под капотом, который поддерживает расширения Admonition.

Мы тоже хотели бы использовать их, информационные окна очень полезны для документации. Конфигурация нашего сайта вpom.xml выглядит так:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <version>3.8.2</version>
</plugin>

Как мы могли настроить его для распознавания дополнительной уценки?

1 ответ

Этот вопрос немного устарел, но я пытался понять это для использования расширения Gitlab для математических уравнений, и короткий ответ: я не думаю, что вы можете сделать это из коробки.

Плагин maven-site-plugin использует модуль doxia-module-markdown для уценки, который использует Flexmark внутри, но предварительно настроен с помощью расширений, которые он использует для этого.

Вот ссылка на код и точный фрагмент из

      // Initialize the Flexmark parser and renderer, once and for all
static
{
    MutableDataSet flexmarkOptions = new MutableDataSet();

    // Enable the extensions that we used to have in Pegdown
    flexmarkOptions.set( com.vladsch.flexmark.parser.Parser.EXTENSIONS, Arrays.asList(
            EscapedCharacterExtension.create(),
            AbbreviationExtension.create(),
            AutolinkExtension.create(),
            DefinitionExtension.create(),
            TypographicExtension.create(),
            TablesExtension.create(),
            WikiLinkExtension.create(),
            StrikethroughExtension.create()
    ) );

// ...
}

Я думаю, что вы могли бы разветвить этот проект, добавить необходимые вам расширения и добавить его в качестве зависимости от плагина maven-site-plugin, и он может работать следующим образом:

      <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <version>3.8.2</version>
    <dependencies>
        <dependency>
            <groupId>${my-forked-groupId}</groupId>
            <artifactId>${my-forked-artifactId}</artifactId>
            <version>${my-forked-version}</version>
        </dependency>
    </dependencies>
</plugin>

На мой взгляд, это далеко не идеально, и я, вероятно, буду изучать другие (не maven) варианты, чтобы получить результат, который я ищу, но, вероятно, все равно попробую это на следующий день или около того, и если я получу его работу, я отправлю ссылку на код, если кому-то еще это может быть полезно.

Другие вопросы по тегам