Dokka
Dokka是一个Kotlin的API文档引擎。
就像Kotlin本身一样,Dokka支持多语言项目。它理解Kotlin的KDoc注释和Java的Javadoc注释。
Dokka可以生成多种格式的文档,包括其自身的现代HTML格式,多种风格的Markdown,以及Java的Javadoc HTML。
一些使用Dokka来生成API参考文档的库包括:
您可以使用Gradle、Maven或者命令行运行Dokka。它也是高度可插拔的。
文档
Dokka的全面文档可在kotlinlang.org上获得。
开始使用Dokka
Gradle
Kotlin DSL
在项目根build脚本中应用Gradle的Dokka插件:
plugins {
id("org.jetbrains.dokka") version "1.9.20"
}
当文档多项目构建时,您需要在子项目中也应用Gradle的Dokka插件:
subprojects {
apply(plugin = "org.jetbrains.dokka")
}
Groovy DSL
在根项目中应用Gradle的Dokka插件:
plugins {
id 'org.jetbrains.dokka' version '1.9.20'
}
当文档多项目构建时,您需要在子项目中也应用Gradle的Dokka插件:
subprojects {
apply plugin: 'org.jetbrains.dokka'
}
要生成文档,请运行以下Gradle任务:
dokkaHtml
用于单个项目构建dokkaHtmlMultiModule
用于多项目构建
默认情况下,输出目录分别设置为 /build/dokka/html
和 /build/dokka/htmlMultiModule
。
要了解有关 Dokka 的 Gradle 插件的更多信息,请参见 Gradle 文档。
Maven
将 Dokka Maven 插件添加到您的 POM 文件的 plugins
部分:
<build>
<plugins>
<plugin>
<groupId>org.jetbrains.dokka</groupId>
<artifactId>dokka-maven-plugin</artifactId>
<version>1.9.20</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>dokka</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
要生成文档,请运行 dokka:dokka
目标。
默认情况下,输出目录设置为 target/dokka
。
要了解如何将 Dokka 与 Maven 一起使用的更多信息,请参见 Maven 文档。
CLI
也可以直接从命令行运行 Dokka,而不需要使用任何构建工具,但设置起来更加困难,所以本节中没有涉及。
请查阅 命令行运行程序文档 了解如何使用它。
Android
除了应用和配置 Dokka 之外,您还可以应用 Dokka 的 Android 文档插件,它旨在改善 Android 平台上的文档体验:
Gradle Kotlin DSL
dependencies {
dokkaPlugin("org.jetbrains.dokka:android-documentation-plugin:1.9.20")
}
Gradle Groovy DSL
dependencies {
dokkaPlugin 'org.jetbrains.dokka:android-documentation-plugin:1.9.20'
}
Maven
<plugin>
<groupId>org.jetbrains.dokka</groupId>
<artifactId>dokka-maven-plugin</artifactId>
...
<configuration>
<dokkaPlugins>
<plugin>
<groupId>org.jetbrains.dokka</groupId>
<artifactId>android-documentation-plugin</artifactId>
<version>1.9.20</version>
</plugin>
</dokkaPlugins>
</configuration>
</plugin>
输出格式
HTML
HTML 是 Dokka 的默认和推荐输出格式。您可以通过浏览 kotlinx.coroutines 的文档来看到输出示例。
HTML 格式是可配置的,除其他事项外,还允许您修改样式表、添加自定义图像资产、更改页脚消息,并通过模板重塑生成的 HTML 页面的结构。
更多详细信息和示例,请参见 HTML 格式文档。
Markdown
Dokka 能够生成 GitHub Flavored 和 Jekyll 兼容的 Markdown 文档。然而,这两种格式仍处于 Alpha 阶段,因此您可能会遇到错误和迁移问题。
更多详细信息和示例,请参见 Markdown 格式文档。
Javadoc
Dokka 的 Javadoc 输出格式是 Java 的 Javadoc HTML 格式 的仿制品。这种格式仍处于 Alpha 阶段,因此您可能会遇到错误和迁移问题。
Javadoc 格式试图在视觉上模仿 Javadoc 工具生成的 HTML 页面,但它不是直接实现或完全复制。此外,所有 Kotlin 签名都被转换为 Java 签名。
更多详细信息和示例,请参见 Javadoc 格式文档。
Dokka 插件
Dokka 是从头开始构建的,旨在易于扩展和高度可定制,这使得社区能够实现缺失或非常特定的功能,这些功能不是开箱即用的。 了解更多关于Dokka插件及其配置的信息,请访问Dokka插件。
如果您想学习如何开发Dokka插件,请查看开发者指南。
社区
Dokka在Kotlin社区Slack上有一个专门的#dokka
频道,在那里您可以讨论Dokka、它的插件以及如何开发它们,并与维护人员取得联系。
建设和贡献
请参阅贡献指南