aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/renderers
diff options
context:
space:
mode:
authorIgnat Beresnev <ignat.beresnev@jetbrains.com>2021-12-06 16:20:51 +0300
committerIgnat Beresnev <ignat.beresnev@jetbrains.com>2021-12-06 16:20:51 +0300
commitc68c05a1e8876e9b8555df7bcdfeaca3e100f0d1 (patch)
treed9c20d2118d6679175ef8ab9f7dfc6d49aba5af3 /plugins/base/src/main/kotlin/renderers
parent35a69e0322fcd271dccadcc2ee8cbb61dcafe62e (diff)
downloaddokka-c68c05a1e8876e9b8555df7bcdfeaca3e100f0d1.tar.gz
dokka-c68c05a1e8876e9b8555df7bcdfeaca3e100f0d1.tar.bz2
dokka-c68c05a1e8876e9b8555df7bcdfeaca3e100f0d1.zip
Description list support for JavaDocs (#2213)
Diffstat (limited to 'plugins/base/src/main/kotlin/renderers')
-rw-r--r--plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt28
1 files changed, 25 insertions, 3 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
index b61d513a..304b96fa 100644
--- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
+++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
@@ -8,7 +8,6 @@ import org.jetbrains.dokka.base.DokkaBaseConfiguration
import org.jetbrains.dokka.base.DokkaBaseConfiguration.Companion.defaultFooterMessage
import org.jetbrains.dokka.base.renderers.*
import org.jetbrains.dokka.base.renderers.html.command.consumers.ImmediateResolutionTagConsumer
-import org.jetbrains.dokka.base.renderers.pageId
import org.jetbrains.dokka.base.resolvers.anchors.SymbolAnchorHint
import org.jetbrains.dokka.base.resolvers.local.DokkaBaseLocationProvider
import org.jetbrains.dokka.base.templating.*
@@ -295,8 +294,31 @@ open class HtmlRenderer(
node: ContentList,
pageContext: ContentPage,
sourceSetRestriction: Set<DisplaySourceSet>?
- ) = if (node.ordered) ol { buildListItems(node.children, pageContext, sourceSetRestriction) }
- else ul { buildListItems(node.children, pageContext, sourceSetRestriction) }
+ ) = if (node.ordered) {
+ ol { buildListItems(node.children, pageContext, sourceSetRestriction) }
+ } else if (node.hasStyle(ListStyle.DescriptionList)) {
+ dl { buildListItems(node.children, pageContext, sourceSetRestriction) }
+ } else {
+ ul { buildListItems(node.children, pageContext, sourceSetRestriction) }
+ }
+
+ open fun DL.buildListItems(
+ items: List<ContentNode>,
+ pageContext: ContentPage,
+ sourceSetRestriction: Set<DisplaySourceSet>? = null
+ ) {
+ items.forEach {
+ when {
+ it.hasStyle(ListStyle.DescriptionTerm) -> dt {
+ it.build(this@buildListItems, pageContext, sourceSetRestriction)
+ }
+ it.hasStyle(ListStyle.DescriptionDetails) -> dd {
+ it.build(this@buildListItems, pageContext, sourceSetRestriction)
+ }
+ else -> it.build(this, pageContext, sourceSetRestriction)
+ }
+ }
+ }
open fun OL.buildListItems(
items: List<ContentNode>,