Skip to content

Dokka community plugins

On this page you can find Dokka plugins which are supported by both Dokka maintainers and community members.

If you want to add your plugin to this list, get in touch with maintainers via Slack or GitHub.

If you want to learn how to develop plugins for Dokka, see Plugin development section.

Output Formats

Javadoc (Alpha)

Javadoc plugin adds a Javadoc output format that looks like Java's Javadoc, but it's for the most part a lookalike, so you may experience problems if you try to use it with a tool that expects native Javadoc documentation generated by Java.

Javadoc plugin does not support multiplatform projects and does not have a multi-module task.

Javadoc plugin is shipped with Dokka, so you can start using it right away with one of the following tasks:

  • dokkaJavadoc - builds Javadoc documentation for single-module projects or for a specific module.
  • dokkaJavadocCollector - collects generated Javadoc documentation from submodules and assembles it together.

Javadoc plugin has its own signature provider that essentially translates Kotlin signatures to Java ones.

This plugin is at its early stages, so you may experience issues and encounter bugs. Feel free to report any errors you see.

Plugin source code on GitHub

GFM (Alpha)

GFM plugins adds the ability to generate documentation in GitHub flavoured Markdown format. Supports both multimodule and multiplatform projects, and is shipped together with Dokka, so you can start using it right away with one of the following tasks:

  • dokkaGfm - generate documentation for a non multi-module project or one specific module.
  • dokkaGfmMultiModule - generate documentation for a multi-module project, assemble it together and generate navigation page/menu for all the modules.

Example:


//dokka-debug-kts/org.jetbrains.dokka.test/MyClass

MyClass

[jvm] class MyClass

KDoc that describes this class

Constructors
MyClass [jvm]
fun MyClass()
Functions
Name Summary
function [jvm]
fun function(): String
KDoc comment on top of this function
Properties
Name Summary
property [jvm]
val property: String
KDoc comment for a property

This plugin is at its early stages, so you may experience issues and encounter bugs. Feel free to report any errors you see.

Plugin source code on GitHub

Jekyll (Alpha)

Jekyll plugins adds the ability to generate documentation in Jekyll flavoured Markdown format. Supports both multi-module and multiplatform projects, and is shipped together with Dokka, so you can start using it right away with one of the following tasks:

  • dokkaJekyll - generate documentation for a non multi-module project or one specific module.
  • dokkaJekyllMultiModule - generate documentation for a multi-module project, assemble it together and generate navigation page/menu for all the modules.

This plugin is at its early stages, so you may experience issues and encounter bugs. Feel free to report any errors you see.

Plugin source code on GitHub

Extensions

Mathjax

MathJax allows you to include mathematics in your web pages. MathJax plugin adds the ability to render mathematics from source code comments.

If MathJax plugin encounters @usesMathJax KDoc tag, it adds MathJax.js (ver. 2) with config=TeX-AMS_SVG to generated HTML pages.

Usage example:

/**
 * Some math \(\sqrt{3x-1}+(1+x)^2\)
 * 
 * @usesMathJax
 */
class Foo {}

Which results in:

Mathjax demo

Plugin source code on GitHub

Mermaid

Mermaid JS lets you create diagrams and visualizations using text and code. Mermaid plugin allows rendering such diagrams and visualizations found in source code documentation.

Usage example:

/**
 * See the graph for more details:
 * \```mermaid
 * graph LR
 *   A[Christmas] -->|Get money| B(Go shopping)
 *   B --> C{Let me think}
 *   C -->|One| D[Laptop]
 *   C -->|Two| E[iPhone]
 *   C -->|Three| F[fa:fa-car Car]
 * \```
 */
class CompositeSubscription

Which results in:

Mermaid demo

For more information and examples, see Html Mermaid Dokka plugin repository on GitHub.

Kotlin as Java

With Kotlin as Java plugin applied, all Kotlin signatures will be rendered as Java signatures.

For instance, fun foo(bar: Bar): Baz will be rendered as public final Baz foo(Bar bar).

Kotlin as Java plugin is published to maven central as a separate artifact: org.jetbrains.dokka:kotlin-as-java-plugin:1.7.20.

Plugin source code on GitHub

Back to top