From 254e2a2dfae4f8d5eea26cdc4728b4fdb27cfee0 Mon Sep 17 00:00:00 2001 From: Szymon Świstun Date: Mon, 16 Dec 2019 15:25:33 +0100 Subject: change in list building logic --- core/src/main/kotlin/renderers/HtmlRenderer.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'core/src') diff --git a/core/src/main/kotlin/renderers/HtmlRenderer.kt b/core/src/main/kotlin/renderers/HtmlRenderer.kt index e9f2801e..961e942c 100644 --- a/core/src/main/kotlin/renderers/HtmlRenderer.kt +++ b/core/src/main/kotlin/renderers/HtmlRenderer.kt @@ -21,13 +21,16 @@ open class HtmlRenderer( protected open fun buildListItems(items: List, pageContext: PageNode) = items.joinToString("") { - if (it is ContentText) "
  • \n${it.build(pageContext)}\n
  • \n" else buildList( - it as ContentList, + if (it is ContentList) buildList( + it, pageContext - ) + ) else "
  • \n${it.build(pageContext)}\n
  • \n" } - override fun buildResource(node: ContentEmbeddedResource, pageContext: PageNode): String { // TODO: extension point there + override fun buildResource( + node: ContentEmbeddedResource, + pageContext: PageNode + ): String { // TODO: extension point there val imageExtensions = setOf("png", "jpg", "jpeg", "gif", "bmp", "tif", "webp", "svg") return if (File(node.address).extension.toLowerCase() in imageExtensions) { val imgAttrs = node.extras.filterIsInstance().joinAttr() @@ -56,7 +59,8 @@ open class HtmlRenderer( |""".trimMargin() } - protected open fun ContentGroup.buildTableRow(pageContext: PageNode) = children.joinToString("\n\n") { it.build(pageContext) } + protected open fun ContentGroup.buildTableRow(pageContext: PageNode) = + children.joinToString("\n\n") { it.build(pageContext) } override fun buildHeader(level: Int, text: String): String = "$text\n" @@ -64,7 +68,8 @@ open class HtmlRenderer( override fun buildLink(text: String, address: String): String = "$text" - override fun buildCode(code: List, language: String, pageContext: PageNode): String = buildNewLine() + "${code.joinToString("") { (it as ContentText).text + buildNewLine() }}" + override fun buildCode(code: List, language: String, pageContext: PageNode): String = + buildNewLine() + "${code.joinToString("") { (it as ContentText).text + buildNewLine() }}" override fun buildText(textNode: ContentText): String = super.buildText(textNode).htmlEscape() -- cgit