diff options
author | Marcin Aman <marcin.aman@gmail.com> | 2021-03-26 17:35:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-26 17:35:44 +0100 |
commit | 9589161d9861a1d2eb02df1c5858b3ff67ca0c7a (patch) | |
tree | 308e7d2bcd682e08812e6b68fc182eb276475562 /plugins/all-modules-page/src/main | |
parent | ac4b818a8616e4de8f702167fe6ddbe911df5d24 (diff) | |
download | dokka-9589161d9861a1d2eb02df1c5858b3ff67ca0c7a.tar.gz dokka-9589161d9861a1d2eb02df1c5858b3ff67ca0c7a.tar.bz2 dokka-9589161d9861a1d2eb02df1c5858b3ff67ca0c7a.zip |
Reintroduce multimodule documentation (#1804)
Diffstat (limited to 'plugins/all-modules-page/src/main')
-rw-r--r-- | plugins/all-modules-page/src/main/kotlin/MultimodulePageCreator.kt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/all-modules-page/src/main/kotlin/MultimodulePageCreator.kt b/plugins/all-modules-page/src/main/kotlin/MultimodulePageCreator.kt index c84aef7e..782ee16e 100644 --- a/plugins/all-modules-page/src/main/kotlin/MultimodulePageCreator.kt +++ b/plugins/all-modules-page/src/main/kotlin/MultimodulePageCreator.kt @@ -3,6 +3,7 @@ package org.jetbrains.dokka.allModulesPage import org.jetbrains.dokka.DokkaConfiguration.DokkaModuleDescription import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.base.DokkaBase +import org.jetbrains.dokka.base.parsers.MarkdownParser import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentation.Classifier.Module import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentationParsingContext import org.jetbrains.dokka.base.parsers.moduleAndPackage.parseModuleAndPackageDocumentation @@ -26,6 +27,7 @@ import org.jetbrains.dokka.utilities.DokkaLogger import org.jetbrains.dokka.versioning.ReplaceVersionsCommand import org.jetbrains.dokka.versioning.VersioningConfiguration import org.jetbrains.dokka.versioning.VersioningPlugin +import java.io.File class MultimodulePageCreator( private val context: DokkaContext, @@ -49,6 +51,15 @@ class MultimodulePageCreator( configuration<VersioningPlugin, VersioningConfiguration>(context)?.let { group(extra = PropertyContainer.withAll(InsertTemplateExtra(ReplaceVersionsCommand))) { } } + getMultiModuleDocumentation(context.configuration.includes).takeIf { it.isNotEmpty() }?.let { nodes -> + group(kind = ContentKind.Cover) { + nodes.forEach { node -> + group { + node.children.forEach { comment(it.root) } + } + } + } + } header(2, "All modules:") table(styles = setOf(MultimoduleTable)) { header { group { text("Name") } } @@ -83,6 +94,9 @@ class MultimodulePageCreator( ) } + private fun getMultiModuleDocumentation(files: Set<File>): List<DocumentationNode> = + files.map { MarkdownParser({ null }, it.absolutePath).parse(it.readText()) } + private fun getDisplayedModuleDocumentation(module: DokkaModuleDescription): P? { val parsingContext = ModuleAndPackageDocumentationParsingContext(logger) |