blob: 0f106c042557180055ffd631abc807a8ee7bf36f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# Dokka
`Dokka` is an API documentation engine for `Kotlin` that performs the same function as the `Javadoc` tool for `Java`,
but it's modern and highly pluggable.
Just like `Kotlin` itself, `Dokka` supports mixed-language projects (`Kotlin`/`Java`). It understands
[KDoc comments](https://kotlinlang.org/docs/reference/kotlin-doc.html) in `Kotlin` source files as well
as [Javadoc comments](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html#format) in `Java`
files, and can generate documentation in multiple formats including its own `HTML` format, Java's `Javadoc` lookalike
and `Markdown`.
Some libraries that use `Dokka` for API reference docs:
* [kotlinx.coroutines](https://kotlinlang.org/api/kotlinx.coroutines/)
* [kotlinx.serialization](https://kotlinlang.org/api/kotlinx.serialization/)
* [Ktor](https://api.ktor.io/)
* [Spring Framework](https://docs.spring.io/spring-framework/docs/current/kdoc-api/)
___
`Dokka` provides support for the following build systems:
* [Gradle](user_guide/applying/gradle.md) (preferred)
* [Maven](user_guide/applying/maven.md)
* [Command line](user_guide/applying/cli.md)
___
`Dokka` is also very pluggable and comes with convenient plugin and extension point API.
You can write a plugin to support [mermaid.js](community/plugins-list.md#mermaid) diagrams,
[mathjax](community/plugins-list.md#mathjax) formulas or even write custom processing of your own tags and annotations.
For more info, see:
* [Sample plugin tutorial](developer_guide/plugin-development/sample-plugin-tutorial.md)
* [Community plugins](community/plugins-list.md)
* [Developer guides](developer_guide/introduction.md)
|