Плагины Dokka
Dokka с самого начала создавалась с расчётом на простое расширение и широкие возможности настройки. Благодаря этому сообщество может реализовывать плагины для отсутствующих или узкоспециализированных функций, которые не входят в стандартную поставку.
Плагины Dokka охватывают самые разные задачи: от поддержки исходного кода на других языках программирования до экзотических форматов вывода. Вы можете добавить поддержку собственных тегов или аннотаций KDoc, научить Dokka отображать различные DSL, используемые в описаниях KDoc, визуально изменить страницы Dokka, чтобы они органично вписывались в сайт вашей компании, интегрировать Dokka с другими инструментами и многое другое.
Если вы хотите узнать, как создавать плагины Dokka, см. руководства для разработчиков.
Подключение плагинов Dokka
Плагины Dokka публикуются как отдельные артефакты, поэтому для подключения плагина Dokka достаточно добавить его как зависимость. После этого плагин расширит Dokka самостоятельно — никаких дополнительных действий не требуется.
Рассмотрим, как подключить плагин mathjax в проекте:
plugins {
id("org.jetbrains.dokka") version "2.2.0"
}
dependencies {
dokkaPlugin("org.jetbrains.dokka:mathjax-plugin")
}
plugins {
id 'org.jetbrains.dokka' version '2.2.0'
}
dependencies {
dokkaPlugin 'org.jetbrains.dokka:mathjax-plugin'
}
<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 |
|
Добавляет переключатель версий и помогает упорядочить документацию для разных версий приложения или библиотеки |
|
Отображает диаграммы и визуализации MermaidJS, найденные в KDoc |
|
Красиво отображает математические формулы, найденные в KDoc |
|
Отображает сигнатуры Kotlin так, как они выглядят с точки зрения Java |
|
Добавляет возможность создавать документацию в формате GitHub Flavored Markdown |
|
Добавляет возможность создавать документацию в формате Markdown для Jekyll |
Если вы автор плагина Dokka и хотите добавить его в этот список, свяжитесь с сопровождающими через Slack или GitHub.
© 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