Asciidoctor не выделяет исходный код с помощью highlightjs - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь сгенерировать документацию через Spring Rest Docs, используя Asciidoctor. Руководство пользователя гласит: для выделения исходного кода в документации я буду использовать атрибут :source-highlighter: highlightjs в заголовке файла .adoc.

Вот пример моего index.adoc :

:source-highlighter: highlightjs

= Source code listing

Code listings look cool with Asciidoctor and highlight.js with {highlightjs-theme} theme.

[source,groovy]
----
// File: User.groovy
class User {
    String username
}
----

[source,sql]
----
CREATE TABLE USER (
    ID INT NOT NULL,
    USERNAME VARCHAR(40) NOT NULL
);
----

после этого я создаю и запускаю приложение, и вот сгенерированный документ без выделения исходного кода: enter image description here

Моя конфигурация плагина maven:

<plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <version>1.5.3</version>
    <executions>
        <execution>
            <id>generate-docs</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>process-asciidoc</goal>
            </goals>
            <configuration>
                <backend>html</backend>
                <doctype>book</doctype>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.springframework.restdocs</groupId>
            <artifactId>spring-restdocs-asciidoctor</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
    </dependencies>
</plugin>

Что я делаю не так?

PS Также я попытался установить highlight.js локально с переименованием highlight/highlight.pack.js в highlight/highlight.min.js и highlight/styles/github.css в highlight/styles/github.min.css ии так далее, как сказано в руководстве пользователя, но результата тоже нет

1 Ответ

0 голосов
/ 05 октября 2018

К сожалению, как вы, наверное, поняли, Groovy не входит в стандартный языковой пакет highlight.js.Он включает только те, которые указаны в разделе "common" .SQL будет работать, хотя.Как вы можете видеть на этом рисунке, часть SQL работает с моей установкой из коробки, но не с Groovy.

enter image description here

Чтобы исправить код GroovyВы можете использовать Java в качестве языка (хорошо для большого количества примеров кода на Groovy) или загрузить пользовательский пакет HighlightJS с проверенным Groovy.Я предполагаю, что это то, куда вы попали.


Если вы используете пользовательский пакет HighlightJS, сначала я столкнулся с подобной проблемой.Когда я вошел в инструменты разработчика в браузере, он показал, что файлы highlight.js не найдены.Еще один намек на проблему - это то, что все примеры Spring REST Docs потеряли свою подсветку.Хотя в руководстве по Asciidoctor сказано, что он должен быть помещен в ту же папку, и он должен автоматически копироваться, в Gradle мне все же пришлось указать, чтобы он включал файлы подсветки с помощью параметра конфигурации resources.Я не пользователь Maven, но, возможно, плагин Maven имеет аналогичную настройку?

После того, как я исправил конфигурацию, он работал как для Groovy, так и для SQL

enter image description here

поэтому я надеюсь, что это сработает и для вас.

...