From e54d9b20f5a4935d0089a77dbea16c27c065cf48 Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Thu, 8 Oct 2020 20:37:55 +0200 Subject: Handle multiple authors (#1539) --- .../translators/documentables/DefaultPageCreator.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'plugins/base/src/main') diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt index 5cd8b0ff..6c3c0330 100644 --- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt +++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt @@ -320,16 +320,18 @@ open class DefaultPageCreator( } } - val unnamedTags: List> = - tags.filterNot { (k, _) -> k.isSubclassOf(NamedTagWrapper::class) || k in specialTags } - .map { (_, v) -> v.mapNotNull { (k, v) -> k?.let { it to v } }.toMap() } + val unnamedTags = tags.filterNot { (k, _) -> k.isSubclassOf(NamedTagWrapper::class) || k in specialTags } + .values.flatten().groupBy { it.first }.mapValues { it.value.map { it.second } } if (unnamedTags.isNotEmpty()) { platforms.forEach { platform -> - unnamedTags.forEach { pdTag -> - pdTag[platform]?.also { tag -> - group(sourceSets = setOf(platform), styles = emptySet()) { - header(4, tag.toHeaderString()) - comment(tag.root) + unnamedTags[platform]?.let { tags -> + if(tags.isNotEmpty()){ + tags.groupBy { it::class }.forEach { + (_, sameCategoryTags) -> + group(sourceSets = setOf(platform), styles = emptySet()) { + header(4, sameCategoryTags.first().toHeaderString()) + sameCategoryTags.forEach { comment(it.root) } + } } } } -- cgit