From 3ca8ca75c60892de68f4fe18335aa79f4622c93c Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Wed, 3 Jun 2020 09:30:28 +0200 Subject: Stdlib wrapping in signature --- .../src/main/kotlin/renderers/html/HtmlRenderer.kt | 9 +++++++++ plugins/base/src/main/kotlin/renderers/html/Tags.kt | 12 ++++++++++++ .../src/main/kotlin/signatures/JvmSignatureUtils.kt | 19 +++++++++++-------- .../main/kotlin/signatures/KotlinSignatureProvider.kt | 2 +- 4 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 plugins/base/src/main/kotlin/renderers/html/Tags.kt (limited to 'plugins/base/src/main/kotlin') diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt index 67fa2d91..42273d20 100644 --- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt +++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt @@ -67,6 +67,15 @@ open class HtmlRenderer( childrenCallback() if (node.hasStyle(TextStyle.Monospace)) copyButton() } + node.hasStyle(TextStyle.BreakableAfter) -> { + span(){ childrenCallback() } + wbr { } + } + node.hasStyle(TextStyle.Breakable) -> { + span("breakable-word"){ childrenCallback() } + } + node.hasStyle(TextStyle.Span) -> span(){ childrenCallback() } + node.dci.kind == ContentKind.Symbol -> div("symbol $additionalClasses") { childrenCallback() } node.dci.kind == ContentKind.BriefComment -> div("brief $additionalClasses") { childrenCallback() } node.dci.kind == ContentKind.Cover -> div("cover $additionalClasses") { filterButtons(node) diff --git a/plugins/base/src/main/kotlin/renderers/html/Tags.kt b/plugins/base/src/main/kotlin/renderers/html/Tags.kt new file mode 100644 index 00000000..a3951eff --- /dev/null +++ b/plugins/base/src/main/kotlin/renderers/html/Tags.kt @@ -0,0 +1,12 @@ +package org.jetbrains.dokka.base.renderers.html + +import kotlinx.html.* + +@HtmlTagMarker +fun FlowOrPhrasingContent.wbr(classes : String? = null, block : WBR.() -> Unit = {}) : Unit = WBR(attributesMapOf("class", classes), consumer).visit(block) + +@Suppress("unused") +open class WBR(initialAttributes : Map, override val consumer : TagConsumer<*>) : HTMLTag("wbr", consumer, initialAttributes, null, true, false), + HtmlBlockInlineTag { + +} \ No newline at end of file diff --git a/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt b/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt index 7f0e985e..f8141110 100644 --- a/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt +++ b/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt @@ -25,6 +25,7 @@ interface JvmSignatureUtils { private fun PageContentBuilder.DocumentableContentBuilder.annotations( d: Documentable, ignored: Set, + styles: Set