Подсветка синтаксиса в уценке для сайта Maven (Fluido) - PullRequest
0 голосов
/ 08 февраля 2019

В своем проекте Maven я пробовал следующее:

  • Добавить файл уценки content.md с содержанием
```java
int a = 4;
```

в src/main/site/markdown.

  • Запись site.xml с содержанием

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <project>
      <skin>
        <groupId>org.apache.maven.skins</groupId>
        <artifactId>maven-fluido-skin</artifactId>
        <version>1.7</version>
      </skin>
      <body>
    
        <menu name="Dokumentation">
          <item name="Benutzerhandbuch" href="content.html" />
        </menu>
        <menu ref="reports" />
    
      </body>
    </project>
    
  • Запись pom.xml с

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>de.continentale.testsvn</groupId>
      <artifactId>site-test</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.7.1</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-webdav-jackrabbit</artifactId>
                <version>2.6</version>
              </dependency>
              <dependency>
                <groupId>org.apache.maven.doxia</groupId>
                <artifactId>doxia-module-xhtml</artifactId>
                <version>1.8</version>
              </dependency>
              <dependency>
                <groupId>org.apache.maven.doxia</groupId>
                <artifactId>doxia-module-markdown</artifactId>
                <version>1.8</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    
    </project>
    

Теперь я получаю файл content.html из mvn site.В этом файле выделен синтаксис int a = 4 , а не .

enter image description here

Что мне нужно сделать, чтобы получить подсветку синтаксиса?

1 Ответ

0 голосов
/ 26 апреля 2019

Я также не смог заставить его работать с Maven, но я нашел обходной путь: выделите клиентскую часть в Javascript с помощью highligh.js .

Загрузите highlight.js ипоместите его в src/site/resources/highlightjs.pack.js, а также в тему CSS, например, src/site/resources/styles/atom-one-light.css.

В дескрипторе вашего сайта:

<project>
  <body>
    <head>
      <![CDATA[
      <link rel="stylesheet" href="styles/foundation.css" />
      <script src="highlight.pack.js"></script>
      <script>
          document.addEventListener('DOMContentLoaded', (event) => {
            document.querySelectorAll('pre.source').forEach((block) => {
              hljs.highlightBlock(block);
            });
          });
      </script>
      ]]>
    </head>
  </body>
</project>

Maven сгенерирует <pre class="source" /> блоков для блоков кода, поэтому мыНужно сказать, что на highlight.js.К сожалению, Maven не помещает имя класса, соответствующее языку (Java в вашем примере), но highlight.js автоматически определяет языки, и это работает в большинстве случаев.

...