From 9589161d9861a1d2eb02df1c5858b3ff67ca0c7a Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Fri, 26 Mar 2021 17:35:44 +0100 Subject: Reintroduce multimodule documentation (#1804) --- .../src/main/kotlin/MultimodulePageCreator.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'plugins/all-modules-page/src/main') 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(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): List = + files.map { MarkdownParser({ null }, it.absolutePath).parse(it.readText()) } + private fun getDisplayedModuleDocumentation(module: DokkaModuleDescription): P? { val parsingContext = ModuleAndPackageDocumentationParsingContext(logger) -- cgit