如何为Maven Site Plugin添加代码语法高亮功能?
解决maven-site-plugin的Markdown代码语法高亮问题
要让maven-site-plugin支持GitHub风格的代码块语法高亮(```java形式),可以通过配置FlexMark渲染器并集成Prism语法高亮工具来实现,具体步骤如下:
1. 更新maven-site-plugin配置
修改pom.xml中的插件配置,引入FlexMark相关依赖并指定它作为Markdown渲染器:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.9.0</version> <dependencies> <!-- 引入FlexMark全量包支持GFM语法 --> <dependency> <groupId>com.vladsch.flexmark</groupId> <artifactId>flexmark-all</artifactId> <version>0.64.8</version> </dependency> <!-- 引入Prism扩展用于语法高亮 --> <dependency> <groupId>com.vladsch.flexmark</groupId> <artifactId>flexmark-ext-prism</artifactId> <version>0.64.8</version> </dependency> </dependencies> <configuration> <!-- 指定使用FlexMark渲染Markdown --> <markdownRenderer>flexmark</markdownRenderer> <flexmarkConfig> <options> <!-- 启用GFM扩展 --> <option>GFM</option> <!-- 启用Prism语法高亮 --> <option>PRISM</option> </options> </flexmarkConfig> </configuration> </plugin>
2. 添加Prism前端资源
语法高亮需要前端的CSS和JS支持,按以下步骤操作:
- 下载Prism的CSS(prism.css)和JS(prism.js)文件
- 将prism.css放入项目的
src/site/resources/css/目录 - 将prism.js放入项目的
src/site/resources/js/目录
3. 在站点模板中引入Prism资源
修改项目的src/site/site.xml,在装饰器的head部分添加资源引用:
<project> <!-- 其他配置 --> <body> <decorator name="classic"> <head> <link rel="stylesheet" href="${site.baseUrl}/css/prism.css"/> <script src="${site.baseUrl}/js/prism.js"></script> </head> </decorator> <!-- 其他页面配置 --> </body> </project>
完成以上配置后,你在Markdown中编写的```java形式代码块就会自动生成带语法高亮的效果,和GitHub上的展示一致。
内容的提问来源于stack exchange,提问作者Ralph
相关产品推荐
相关产品推荐

