aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
diff options
context:
space:
mode:
authorvmishenev <vad-mishenev@yandex.ru>2021-08-25 17:14:31 +0300
committerGitHub <noreply@github.com>2021-08-25 16:14:31 +0200
commit4fa9524e52d8ff422bb355336e3810ab28ae135c (patch)
tree66d2bc381ffc7d5c598cee4ea9e0ba13f81b1d7b /plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
parent742f96bdf5c0b842e68dfaf43f4ab3446e87e3df (diff)
downloaddokka-4fa9524e52d8ff422bb355336e3810ab28ae135c.tar.gz
dokka-4fa9524e52d8ff422bb355336e3810ab28ae135c.tar.bz2
dokka-4fa9524e52d8ff422bb355336e3810ab28ae135c.zip
Manual highlighting webhelp (#2079)
* Add manual code highlighting * Fix test * Add kotlinAsJava highlighting * Add runtime highlighting via Prism * Add copy-button for code block * Add tests and refactor * Replace `<br>` for prism.js * Parse trivial default values Co-authored-by: Marcin Aman <marcin.aman@gmail.com>
Diffstat (limited to 'plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt')
-rw-r--r--plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt15
1 files changed, 10 insertions, 5 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
index 3cf914ce..31753332 100644
--- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
+++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
@@ -677,13 +677,15 @@ open class HtmlRenderer(
pageContext: ContentPage
) {
div("sample-container") {
- val stylesWithBlock = code.style + TextStyle.Block
- code(stylesWithBlock.joinToString(" ") { it.toString().toLowerCase() }) {
- attributes["theme"] = "idea"
- pre {
+ val codeLang = "lang-" + code.language.ifEmpty { "kotlin" }
+ val stylesWithBlock = code.style + TextStyle.Block + codeLang
+ pre {
+ code(stylesWithBlock.joinToString(" ") { it.toString().toLowerCase() }) {
+ attributes["theme"] = "idea"
code.children.forEach { buildContentNode(it, pageContext) }
}
}
+ copyButton()
}
}
@@ -691,7 +693,9 @@ open class HtmlRenderer(
code: ContentCodeInline,
pageContext: ContentPage
) {
- code {
+ val codeLang = "lang-" + code.language.ifEmpty { "kotlin" }
+ val stylesWithBlock = code.style + codeLang
+ code(stylesWithBlock.joinToString(" ") { it.toString().toLowerCase() }) {
code.children.forEach { buildContentNode(it, pageContext) }
}
}
@@ -725,6 +729,7 @@ open class HtmlRenderer(
TextStyle.Italic -> i { body() }
TextStyle.Strikethrough -> strike { body() }
TextStyle.Strong -> strong { body() }
+ is TokenStyle -> span("token " + styleToApply.toString().toLowerCase()) { body() }
else -> body()
}
}