目前,我格式化代码示例中使用PRE标签如我的javadoc:
/**
* Example javadoc
*
<pre>
String foo = "bar";
</pre>
*
* @return true if the operation completed
*/
但事实证明这相当单调和所得的javadoc无聊,我宁愿有一些语法高亮类似SyntaxHighlighter的 。
如何才能做到这一点?
目前,我格式化代码示例中使用PRE标签如我的javadoc:
/**
* Example javadoc
*
<pre>
String foo = "bar";
</pre>
*
* @return true if the operation completed
*/
但事实证明这相当单调和所得的javadoc无聊,我宁愿有一些语法高亮类似SyntaxHighlighter的 。
如何才能做到这一点?
您可以使用jQuery的把它用做beautyOfCode插件。 我不知道是否有挂接到Javadoc生成一个简单的方法,但后 - 事实上,你可以做你的头以下几点:
$(function(){
$("pre").beautifyCode('java');
});
和PRE标签内的所有文本将被突出显示如Java。 看看上面的链接获取更多信息。
另一种选择是使用pegdown-doclet
,它可以让你使用Github上式围栏代码块。
```java
public static class Example {}
```
这里的其他答案的所有工作,但引入额外的依赖或增加额外的复杂性建设。 如果你正在使用Maven生成的文档,并希望得到这个没有多余的文件或依赖工作的最简单的方法,然后加入到maven-javadoc-plugin
的配置:
<additionalOptions>-html5 --allow-script-in-comments</additionalOptions>
<header><![CDATA[
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/vs.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/highlight.min.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
]]></header>
完整的插件配置会是这个样子:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<additionalOptions>-html5 --allow-script-in-comments</additionalOptions>
<nohelp>true</nohelp>
<show>private</show>
<header><![CDATA[
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/vs.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/highlight.min.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
]]></header>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
从这里选择你的主题,并更换“与”上面的主题,你喜欢(全部小写瓦特/字之间的破折号,所以像mono-blue
;如果你想要一个不工作,你可以看看这里的列表可用的文件)。
然后写你的例子是这样的:
/**
* Does something cool.
* <pre><code class="java">{@code
// some example code here
int x = 5;
* }</code></pre>
*/
https://burningmime.gitlab.io/setmatch/javadoc/com/burningmime/setmatch/RuleDB.html
编辑:你实际上并不需要在类<pre><code class="java">
您可以修改的JavaScript位,这样你就不需要更改源文件所有,并在任何{@code}
部分将得到强调,因为已经的Javadoc添加<code>
标签。 我不知道够不够JavaScript来做到这一点,但它不应该太难。 这种解决方案可能是侵入性最小的是,因为这纯粹是在构建配置一对夫妇行。
我标志着这个社会的维基,所以如果有人想一起去,并补充说,请这样做。
迟到总比不到好。
此答案由我解释-尽管它的标题-如何语法高亮显示功能添加到SyntaxHighlighter的使用作为OP请求您的Javadoc。
答案假设你正在使用Maven的 ,但它有所有的项目将自动继承做语法高亮显示的Javadoc能力的好处。 你将不必为每一个项目做到这一点。 有了这个配方没有什么,你需要在每个项目中有功能做的。
此外,这是如果你想要做的风格定制,你会使用相同的机制(即你的Javadoc的样子)。
发现这一问题寻找别的东西。 在此期间我写了一个工具嵌入要点样品到的JavaDoc在: https://www.codenameone.com/blog/javadoc-source-samples-that-dont-suck.html
你可以看到在我们的代码如此使用: https://www.codenameone.com/javadoc/com/codename1/components/MediaPlayer.html
https://www.codenameone.com/javadoc/com/codename1/ui/package-summary.html