Подсветка синтаксиса в уценке для сайта Maven (Fluido)
Я попробовал следующее в моем проекте 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
не выделен синтаксис
https://st ackru.com/images/e96980c3ae8c8595293ef27114f6c5681c76cdcf.png
Что мне нужно сделать, чтобы получить подсветку синтаксиса?
0 ответов
Я также не смог заставить его работать с 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 автоматически определяет языки, и это работает в большинстве случаев.