Spec-Zone.ru › Kotlin 2

Плагины Dokka

Это руководство применимо к режиму Dokka Gradle plugin (DGP) v2. Режим DGP v1 больше не поддерживается. Чтобы перейти с режима v1 на v2, следуйте руководству по миграции.

Dokka с самого начала создавалась с расчётом на простое расширение и широкие возможности настройки. Благодаря этому сообщество может реализовывать плагины для отсутствующих или узкоспециализированных функций, которые не входят в стандартную поставку.

Плагины Dokka охватывают самые разные задачи: от поддержки исходного кода на других языках программирования до экзотических форматов вывода. Вы можете добавить поддержку собственных тегов или аннотаций KDoc, научить Dokka отображать различные DSL, используемые в описаниях KDoc, визуально изменить страницы Dokka, чтобы они органично вписывались в сайт вашей компании, интегрировать Dokka с другими инструментами и многое другое.

Если вы хотите узнать, как создавать плагины Dokka, см. руководства для разработчиков.

Подключение плагинов Dokka

Плагины Dokka публикуются как отдельные артефакты, поэтому для подключения плагина Dokka достаточно добавить его как зависимость. После этого плагин расширит Dokka самостоятельно — никаких дополнительных действий не требуется.

Плагины, использующие одни и те же точки расширения или работающие схожим образом, могут мешать друг другу. Это может привести к визуальным ошибкам, неопределённому поведению или даже сбоям сборки. Однако проблем с конкурентным доступом возникнуть не должно, поскольку Dokka не предоставляет изменяемых структур данных или объектов.

Если вы заметили подобные проблемы, стоит проверить, какие плагины подключены и что они делают.

Рассмотрим, как подключить плагин mathjax в проекте:

plugins {
    id("org.jetbrains.dokka") version "2.2.0"
}

dependencies {
    dokkaPlugin("org.jetbrains.dokka:mathjax-plugin")
}
  • Встроенные плагины (например, HTML и Javadoc) всегда подключаются автоматически. Их нужно только настроить, объявлять зависимости от них не требуется.

  • При документировании многомодульных проектов (сборок из нескольких проектов) необходимо предоставить подпроектам общую конфигурацию и плагины Dokka.

plugins {
    id 'org.jetbrains.dokka' version '2.2.0'
}

dependencies {
    dokkaPlugin 'org.jetbrains.dokka:mathjax-plugin'
}

При документировании многопроектных сборок необходимо предоставить подпроектам общую конфигурацию Dokka.

<plugin>
    <groupId>org.jetbrains.dokka</groupId>
    <artifactId>dokka-maven-plugin</artifactId>
    ...
    <configuration>
        <dokkaPlugins>
            <plugin>
                <groupId>org.jetbrains.dokka</groupId>
                <artifactId>mathjax-plugin</artifactId>
                <version>2.2.0</version>
            </plugin>
        </dokkaPlugins>
    </configuration>
</plugin>

Если вы используете средство запуска CLI с параметрами командной строки, плагины Dokka нужно передать как файлы .jar в -pluginsClasspath:

java -jar dokka-cli-2.2.0.jar \
     -pluginsClasspath "./dokka-base-2.2.0.jar;...;./mathjax-plugin-2.2.0.jar" \
     ...

Если вы используете конфигурацию JSON, плагины Dokka нужно указать в pluginsClasspath.

{
  ...
  "pluginsClasspath": [
    "./dokka-base-2.2.0.jar",
    "...",
    "./mathjax-plugin-2.2.0.jar"
  ],
  ...
}

Настройка плагинов Dokka

Плагины Dokka также могут иметь собственные параметры конфигурации. Чтобы узнать, какие параметры доступны, ознакомьтесь с документацией используемых плагинов.

Рассмотрим, как настроить встроенный плагин HTML: добавить собственное изображение в ресурсы (параметр customAssets), собственные таблицы стилей (параметр customStyleSheets) и изменить сообщение в нижнем колонтитуле (параметр footerMessage):

Чтобы настроить плагины Dokka с проверкой типов, используйте блок dokka.pluginsConfiguration {}:

dokka {
    pluginsConfiguration.html {
        customAssets.from("logo.png")
        customStyleSheets.from("styles.css")
        footerMessage.set("(c) Your Company")
    }
}

Пример настройки плагинов Dokka см. в описании плагина управления версиями Dokka.

Dokka позволяет расширять свои возможности и изменять процесс генерации документации с помощью настройки пользовательских плагинов.

dokka {
    pluginsConfiguration {
        html {
            customAssets.from("logo.png")
            customStyleSheets.from("styles.css")
            footerMessage.set("(c) Your Company")
        }
    }
}
<plugin>
    <groupId>org.jetbrains.dokka</groupId>
    <artifactId>dokka-maven-plugin</artifactId>
    ...
    <configuration>
        <pluginsConfiguration>
            <!-- Fully qualified plugin name -->
            <org.jetbrains.dokka.base.DokkaBase>
                <!-- Options by name -->
                <customAssets>
                    <asset>${project.basedir}/my-image.png</asset>
                </customAssets>
                <customStyleSheets>
                    <stylesheet>${project.basedir}/my-styles.css</stylesheet>
                </customStyleSheets>
                <footerMessage>(c) MyOrg 2022 Maven</footerMessage>
            </org.jetbrains.dokka.base.DokkaBase>
        </pluginsConfiguration>
    </configuration>
</plugin>

Если вы используете средство запуска CLI с параметрами командной строки, используйте параметр -pluginsConfiguration, принимающий конфигурацию JSON в виде fullyQualifiedPluginName=json.

Если нужно настроить несколько плагинов, можно передать несколько значений, разделив их ^^.

java -jar dokka-cli-2.2.0.jar \
     ...
     -pluginsConfiguration "org.jetbrains.dokka.base.DokkaBase={\"customAssets\": [\"my-image.png\"], \"customStyleSheets\": [\"my-styles.css\"], \"footerMessage\": \"(c) 2022 MyOrg CLI\"}"

Если вы используете конфигурацию JSON, существует аналогичный массив pluginsConfiguration, принимающий конфигурацию JSON в values.

{
  "moduleName": "Dokka Example",
  "pluginsConfiguration": [
    {
      "fqPluginName": "org.jetbrains.dokka.base.DokkaBase",
      "serializationFormat": "JSON",
      "values": "{\"customAssets\": [\"my-image.png\"], \"customStyleSheets\": [\"my-styles.css\"], \"footerMessage\": \"(c) 2022 MyOrg\"}"
    }
  ]
}

Примечательные плагины

Вот несколько полезных плагинов Dokka:

Название

Описание

Плагин документации Android

Улучшает работу с документацией на Android

Плагин управления версиями

Добавляет переключатель версий и помогает упорядочить документацию для разных версий приложения или библиотеки

Плагин MermaidJS для HTML

Отображает диаграммы и визуализации MermaidJS, найденные в KDoc

Плагин Mathjax для HTML

Красиво отображает математические формулы, найденные в KDoc

Плагин Kotlin as Java

Отображает сигнатуры Kotlin так, как они выглядят с точки зрения Java

Плагин GFM

Добавляет возможность создавать документацию в формате GitHub Flavored Markdown

Плагин Jekyll

Добавляет возможность создавать документацию в формате Markdown для Jekyll

Если вы автор плагина Dokka и хотите добавить его в этот список, свяжитесь с сопровождающими через Slack или GitHub.

26 марта 2026 г.
JavadocДокументация модулей

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/dokka-plugins.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API