Project Icon

dokka

Kotlin多格式API文档生成引擎

Dokka是专为Kotlin设计的API文档引擎,支持混合语言项目和多种文档格式。它可通过Gradle、Maven或命令行运行,具有高度可插拔性。Dokka支持KDoc和Javadoc注释,为开发者提供灵活的文档生成选项,适用于各类Kotlin项目的文档化需求。

Dokka

Kotlin Beta JetBrains official project Maven Central Gradle Plugin License Revved up by Develocity

Dokka是一个Kotlin的API文档引擎。

就像Kotlin本身一样,Dokka支持多语言项目。它理解Kotlin的KDoc注释和Java的Javadoc注释

Dokka可以生成多种格式的文档,包括其自身的现代HTML格式,多种风格的Markdown,以及Java的Javadoc HTML

一些使用Dokka来生成API参考文档的库包括:

您可以使用GradleMaven或者命令行运行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、它的插件以及如何开发它们,并与维护人员取得联系。

建设和贡献

请参阅贡献指南

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号