我的目标是生成也可以从 github 中浏览的站点文档,因此我编写了一堆降价页面。
我正在使用maven-site-plugin
withdoxia-module-markdown
来生成项目文档。
我遇到的问题是表单的链接[foo](foo.md)
在生成的 HTML 中显示为<a href="foo.md">foo</a>
,而不是<a href="foo.html">foo</a>
.
将链接更改为指向foo.html
会使事情无法从 Github 浏览,在我看来.md
→.html
映射对于 HTML 生成的工作方式是不可或缺的,因此应该在此处进行链接重写。
以下是重现的最小案例,它为我产生以下输出
我是否缺少一些配置选项来获得相对链接重写以将源文件路径也应用于目标文件路径转换?
翻译后的 HTML 包含 .md 链接。
$ mvn clean site && cat target/site/a.html | grep -i banana
...
<p>‘A’ is for apple, <a href="b.md">‘b’</a> is for banana.</p>
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>foo</groupId>
<artifactId>bar</artifactId>
<packaging>jar</packaging>
<version>1-SNAPSHOT</version>
<name>Foo</name>
<description>
Tests link rewriting using the doxia markdown module.
</description>
<url>https://example.com/</url> <!-- should not affect relative URLs -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.5</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-module-markdown</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.8.1</version>
</plugin>
</plugins>
</build>
</project>
站点.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
<version>1.5</version>
</skin>
<body>
<links>
</links>
<menu name="docs">
<item name="a" href="a.html"/>
<item name="b" href="b.html"/>
</menu>
<menu ref="reports"/>
<menu ref="modules"/>
<menu ref="parent"/>
</body>
</project>
a.md
# A
'A' is for apple, ['b'](b.md) is for banana.
b.md
# B
['A'](a.md) is for apple, 'b' is for banana.