{"id":13428069,"url":"https://github.com/Kotlin/dokka","last_synced_at":"2025-03-16T01:31:59.521Z","repository":{"id":18561532,"uuid":"21763603","full_name":"Kotlin/dokka","owner":"Kotlin","description":"API documentation engine for Kotlin","archived":false,"fork":false,"pushed_at":"2024-04-12T14:59:54.000Z","size":472851,"stargazers_count":3243,"open_issues_count":596,"forks_count":390,"subscribers_count":65,"default_branch":"master","last_synced_at":"2024-04-12T16:55:36.982Z","etag":null,"topics":["api-reference","documentation","dokka","kotlin"],"latest_commit_sha":null,"homepage":"https://kotl.in/dokka","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kotlin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2014-07-12T09:15:22.000Z","updated_at":"2024-04-15T13:05:26.003Z","dependencies_parsed_at":"2023-10-23T09:46:27.074Z","dependency_job_id":"7c58bef2-0001-401c-9774-0d10d2a7d166","html_url":"https://github.com/Kotlin/dokka","commit_stats":{"total_commits":2917,"total_committers":141,"mean_commits":20.68794326241135,"dds":0.8512170037709976,"last_synced_commit":"79aaba062ebcb9e22599263b0f2a9dee3be688d1"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kotlin%2Fdokka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kotlin%2Fdokka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kotlin%2Fdokka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kotlin%2Fdokka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kotlin","download_url":"https://codeload.github.com/Kotlin/dokka/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221631862,"owners_count":16855019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-reference","documentation","dokka","kotlin"],"created_at":"2024-07-31T01:00:45.377Z","updated_at":"2025-03-16T01:31:59.516Z","avatar_url":"https://github.com/Kotlin.png","language":"Kotlin","funding_links":[],"categories":["Libraries","Kotlin","Tools","Documentation Types","开发工具"],"sub_categories":["Docs","Code Documentation","网络和数据"],"readme":"# Dokka \n\n[![Kotlin Beta](https://kotl.in/badges/beta.svg)](https://kotlinlang.org/docs/components-stability.html)\n[![JetBrains official project](https://jb.gg/badges/official.svg)](https://github.com/JetBrains#jetbrains-on-github)\n[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.dokka/org.jetbrains.dokka.gradle.plugin?label=MavenCentral\u0026logo=apache-maven)](https://search.maven.org/artifact/org.jetbrains.dokka/org.jetbrains.dokka.gradle.plugin)\n[![Gradle Plugin](https://img.shields.io/gradle-plugin-portal/v/org.jetbrains.dokka?label=Gradle\u0026logo=gradle)](https://plugins.gradle.org/plugin/org.jetbrains.dokka)\n[![License](https://img.shields.io/github/license/Kotlin/dokka.svg)](LICENSE.txt)\n[![Revved up by Develocity](https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle\u0026labelColor=02303A)](https://ge.jetbrains.com/scans?search.rootProjectNames=dokka)\n\nDokka is an API documentation engine for Kotlin.\n\nJust like Kotlin itself, Dokka supports mixed-language projects. It understands Kotlin's\n[KDoc comments](https://kotlinlang.org/docs/kotlin-doc.html#kdoc-syntax) and Java's\n[Javadoc comments](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html).\n\nDokka can generate documentation in multiple formats, including its own modern [HTML format](#html),\nmultiple flavors of [Markdown](#markdown), and Java's [Javadoc HTML](#javadoc).\n\nSome libraries that use Dokka for their API reference documentation:\n\n* [kotlinx.coroutines](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/)\n* [Bitmovin](https://cdn.bitmovin.com/player/android/3/docs/index.html)\n* [Hexagon](https://hexagontk.com/stable/api/)\n* [Ktor](https://api.ktor.io/)\n* [OkHttp](https://square.github.io/okhttp/5.x/okhttp/okhttp3/)\n* [Gradle](https://docs.gradle.org/current/kotlin-dsl/index.html)\n\nYou can run Dokka using [Gradle](https://kotlinlang.org/docs/dokka-gradle.html), \n[Maven](https://kotlinlang.org/docs/dokka-maven.html) or from the [command line](https://kotlinlang.org/docs/dokka-cli.html). \nIt is also [highly pluggable](https://kotlinlang.org/docs/dokka-plugins.html).\n\n## Documentation\n\nComprehensive documentation for Dokka is available on [kotlinlang.org](https://kotlinlang.org/docs/dokka-introduction.html)\n\n## Get started with Dokka\n\n### Gradle\n\n\u003cdetails open\u003e\n\u003csummary\u003eKotlin DSL\u003c/summary\u003e\n\nApply the Gradle plugin for Dokka in the root build script of your project:\n\n```kotlin\nplugins {\n    id(\"org.jetbrains.dokka\") version \"2.0.0\"\n}\n```\n\nWhen documenting [multi-project](https://docs.gradle.org/current/userguide/multi_project_builds.html) builds, you need \nto apply the Gradle plugin for Dokka within subprojects as well:\n\n```kotlin\nsubprojects {\n    apply(plugin = \"org.jetbrains.dokka\")\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGroovy DSL\u003c/summary\u003e\n\nApply Gradle plugin for Dokka in the root project:\n\n```groovy\nplugins {\n    id 'org.jetbrains.dokka' version '2.0.0'\n}\n```\n\nWhen documenting [multi-project](https://docs.gradle.org/current/userguide/multi_project_builds.html) builds, you need \nto apply the Gradle plugin for Dokka within subprojects as well:\n\n```groovy\nsubprojects {\n    apply plugin: 'org.jetbrains.dokka'\n}\n```\n\n\u003c/details\u003e\n\nTo generate documentation, run the following Gradle tasks:\n\n* `dokkaHtml` for single-project builds\n* `dokkaHtmlMultiModule` for multi-project builds\n\nBy default, the output directory is set to `/build/dokka/html` and `/build/dokka/htmlMultiModule` respectively.\n\nTo learn more about the Gradle plugin for Dokka, see [documentation for Gradle](https://kotlinlang.org/docs/dokka-gradle.html).\n\n### Maven\n\nAdd the Dokka Maven plugin to the `plugins` section of your POM file:\n\n```xml\n\u003cbuild\u003e\n    \u003cplugins\u003e\n        \u003cplugin\u003e\n            \u003cgroupId\u003eorg.jetbrains.dokka\u003c/groupId\u003e\n            \u003cartifactId\u003edokka-maven-plugin\u003c/artifactId\u003e\n            \u003cversion\u003e2.0.0\u003c/version\u003e\n            \u003cexecutions\u003e\n                \u003cexecution\u003e\n                    \u003cphase\u003epre-site\u003c/phase\u003e\n                    \u003cgoals\u003e\n                        \u003cgoal\u003edokka\u003c/goal\u003e\n                    \u003c/goals\u003e\n                \u003c/execution\u003e\n            \u003c/executions\u003e\n        \u003c/plugin\u003e\n    \u003c/plugins\u003e\n\u003c/build\u003e\n```\n\nTo generate documentation, run the `dokka:dokka` goal.\n\nBy default, the output directory is set to `target/dokka`.\n\nTo learn more about using Dokka with Maven, see [documentation for Maven](https://kotlinlang.org/docs/dokka-maven.html).\n\n### CLI\n\nIt is possible to run Dokka from the command line without having to use any of the build tools, but it's more\ndifficult to set up and for that reason it is not covered in this section.\n\nPlease consult [documentation for the command line runner](https://kotlinlang.org/docs/dokka-cli.html)\nto learn how to use it.\n\n### Android\n\nIn addition to applying and configuring Dokka, you can apply Dokka's \n[Android documentation plugin](dokka-subprojects/plugin-android-documentation/README.md),\nwhich aims to improve documentation experience on the Android platform:\n\n\u003cdetails open\u003e\n\u003csummary\u003eGradle Kotlin DSL\u003c/summary\u003e\n\n```kotlin\ndependencies {\n    dokkaPlugin(\"org.jetbrains.dokka:android-documentation-plugin:2.0.0\")\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGradle Groovy DSL\u003c/summary\u003e\n\n```groovy\ndependencies {\n    dokkaPlugin 'org.jetbrains.dokka:android-documentation-plugin:2.0.0'\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMaven\u003c/summary\u003e\n\n```xml\n\u003cplugin\u003e\n    \u003cgroupId\u003eorg.jetbrains.dokka\u003c/groupId\u003e\n    \u003cartifactId\u003edokka-maven-plugin\u003c/artifactId\u003e\n    ...\n    \u003cconfiguration\u003e\n        \u003cdokkaPlugins\u003e\n            \u003cplugin\u003e\n                \u003cgroupId\u003eorg.jetbrains.dokka\u003c/groupId\u003e\n                \u003cartifactId\u003eandroid-documentation-plugin\u003c/artifactId\u003e\n                \u003cversion\u003e2.0.0\u003c/version\u003e\n            \u003c/plugin\u003e\n        \u003c/dokkaPlugins\u003e\n    \u003c/configuration\u003e\n\u003c/plugin\u003e\n```\n\n\u003c/details\u003e\n\n## Output formats\n\n### HTML\n\nHTML is Dokka's default and recommended output format. You can see an example of the output by browsing documentation \nfor [kotlinx.coroutines](https://kotlinlang.org/api/kotlinx.coroutines/).\n\nHTML format is configurable and, among other things, allows you to modify stylesheets, add custom image assets, change\nfooter message and revamp the structure of the generated HTML pages through templates.\n\nFor more details and examples, see [documentation for HTML format](https://kotlinlang.org/docs/dokka-html.html).\n\n### Markdown\n\nDokka is able to generate documentation in GitHub Flavored and Jekyll compatible Markdown. However, both of these\nformats are still in Alpha, so you might encounter bugs and migration issues.\n\nFor more details and examples, see [documentation for Markdown formats](https://kotlinlang.org/docs/dokka-markdown.html).\n\n### Javadoc\n\nDokka's Javadoc output format is a lookalike of Java's \n[Javadoc HTML format](https://docs.oracle.com/en/java/javase/19/docs/api/index.html). This format is still in Alpha,\nso you might encounter bugs and migration issues.\n\nJavadoc format tries to visually mimic HTML pages generated by the Javadoc tool, but it's not a direct implementation \nor an exact copy. In addition, all Kotlin signatures are translated to Java signatures.\n\nFor more details and examples, see [documentation for Javadoc format](https://kotlinlang.org/docs/dokka-javadoc.html).\n\n## Dokka plugins\n\nDokka was built from the ground up to be easily extensible and highly customizable, which allows the community to \nimplement plugins for missing or very specific features that are not provided out of the box.\n\nLearn more about Dokka plugins and their configuration in [Dokka plugins](https://kotlinlang.org/docs/dokka-plugins.html).\n\nIf you want to learn how to develop Dokka plugins, see\n[Developer guides](https://kotlin.github.io/dokka/2.0.0/developer_guide/introduction/).\n\n## Community\n\nDokka has a dedicated `#dokka` channel in [Kotlin Community Slack](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up)\nwhere you can chat about Dokka, its plugins and how to develop them, as well as get in touch with maintainers.\n\n## Building and Contributing\n\nSee [Contributing Guidelines](CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKotlin%2Fdokka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKotlin%2Fdokka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKotlin%2Fdokka/lists"}