语法高亮显示的javadoc?(syntax highlighting for javadoc?)

2019-08-04 05:20发布

目前,我格式化代码示例中使用PRE标签如我的javadoc:

/**
 * Example javadoc
 * 
<pre>
String foo = "bar";
</pre>
 *
 * @return   true if the operation completed
 */

但事实证明这相当单调和所得的javadoc无聊,我宁愿有一些语法高亮类似SyntaxHighlighter的 。

如何才能做到这一点?

Answer 1:

您可以使用jQuery的把它用做beautyOfCode插件。 我不知道是否有挂接到Javadoc生成一个简单的方法,但后 - 事实上,你可以做你的头以下几点:

$(function(){  
    $("pre").beautifyCode('java');  
});

和PRE标签内的所有文本将被突出显示如Java。 看看上面的链接获取更多信息。



Answer 2:

另一种选择是使用pegdown-doclet ,它可以让你使用Github上式围栏代码块。

```java
public static class Example {}
```


Answer 3:

这里的其他答案的所有工作,但引入额外的依赖或增加额外的复杂性建设。 如果你正在使用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来做到这一点,但它不应该太难。 这种解决方案可能是侵入性最小的是,因为这纯粹是在构建配置一对夫妇行。

我标志着这个社会的维基,所以如果有人想一起去,并补充说,请这样做。



Answer 4:

迟到总比不到好。

此答案由我解释-尽管它的标题-如何语法高亮显示功能添加到SyntaxHighlighter的使用作为OP请求您的Javadoc。

答案假设你正在使用Maven的 ,但它有所有的项目将自动继承做语法高亮显示的Javadoc能力的好处。 你将不必为每一个项目做到这一点。 有了这个配方没有什么,你需要在每个项目中有功能做的。

此外,这是如果你想要做的风格定制,你会使用相同的机制(即你的Javadoc的样子)。



Answer 5:

发现这一问题寻找别的东西。 在此期间我写了一个工具嵌入要点样品到的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



文章来源: syntax highlighting for javadoc?