From 6276fd0e68085c9b0994f8f947bf904b9b285b34 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Tue, 28 Feb 2017 12:24:31 +0300 Subject: Split data tags for kotlin-website format --- .../main/kotlin/Formats/KotlinWebsiteFormatService.kt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'core/src/main/kotlin') diff --git a/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt b/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt index 0444a25a..e5657091 100644 --- a/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt +++ b/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt @@ -3,6 +3,7 @@ package org.jetbrains.dokka import com.google.inject.Inject import com.google.inject.name.Named import org.jetbrains.dokka.Utilities.impliedPlatformsName +import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty open class KotlinWebsiteOutputBuilder(to: StringBuilder, @@ -147,9 +148,19 @@ open class KotlinWebsiteOutputBuilder(to: StringBuilder, } override fun appendIndexRow(platforms: Set, block: () -> Unit) { - if (platforms.isNotEmpty()) - wrap("", "", block) - else + if (platforms.isNotEmpty()) { + fun String.isKotlinVersion() = this.startsWith("Kotlin") + fun String.isJREVersion() = this.startsWith("JRE") + val kotlinVersion = platforms.singleOrNull(String::isKotlinVersion) + val jreVersion = platforms.singleOrNull(String::isJREVersion) + val targetPlatforms = platforms.filterNot { it.isKotlinVersion() || it.isJREVersion() } + + val kotlinVersionAttr = kotlinVersion?.let { " data-kotlin-version=\"$it\"" } ?: "" + val jreVersionAttr = jreVersion?.let { " data-jre-version=\"$it\"" } ?: "" + val platformsAttr = targetPlatforms.ifNotEmpty { " data-platform=\"${targetPlatforms.joinToString()}\"" } ?: "" + + wrap("", "", block) + } else appendTableRow(block) } } -- cgit