9

For an in-application help browser, I would like to render API docs. Unfortunately, Scaladoc seems to produce only HTML files full of horrible JavaScript stuff, so it's impossible to render these files even with rather heavy weight components such as SwingBox (which does have very good CSS though).

So my question is: Can I leverage the Scaladoc tool or its API (if there is any) to generate some intermediate representation which I can then write out into, say, custom Markdown files or static HTML pages?

4

1 回答 1

9

您正在寻找的是一个自定义Doclet实现,可以通过-doc-generator命令行选项使用scaladoc. 我无法回答预先存在的Doclet实现是否能满足您的需求,但值得探索的一个有希望的实现是Extradoc。但是,它已经有一段时间没有更新了。

在较低级别,您可以通过子类化Doclet和关联的 API(例如HTMLFactoryTemplate)来实现您自己的。除了 Extradoc 1之外,似乎没有任何/很多例子说明如何做到这一点。不幸的是,看起来 ScalaDoc 在这个领域没有得到与 JavaDoc 同等水平的关注。根据这些发行说明,2.12 具有改进的 ScalaDoc 接口,但我认为它不会改变对 JavaScript 的依赖。

我还遇到了Nyandoc,它将 ScalaDoc 和 JavaDoc 转换为 Markdown。也许作为一种直接的形式,它可以让你更接近你的目标。

综上所述,使用 JavaFXWebView组件是一种选择吗?它背后有一个成熟的 WebKit 浏览器和 JS 引擎,并且可以在 Swing 中嵌入 JavaFX 组件

于 2016-06-04T15:55:29.000 回答