From: Lanius Trolling Date: Sun, 28 Apr 2024 15:26:56 +0000 (-0400) Subject: Fix SVG images in raw HTML X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=cf3cb3832b644294ef27cc0b129b35df67c00fe6;p=factbooks Fix SVG images in raw HTML --- diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt index 17e67f4..0975c94 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserHtml.kt @@ -302,7 +302,7 @@ class HtmlHeaderLexerTag(val tagCreator: TagCreator, val anchor: (String) -> Str } } -fun repeatColorDigits(color: String) = when (color.length) { +private fun repeatColorDigits(color: String) = when (color.length) { 6 -> color 3 -> { val (r, g, b) = color.toCharArray() diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserRaw.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserRaw.kt index 0356bca..afdf692 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/ParserRaw.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/ParserRaw.kt @@ -92,13 +92,23 @@ enum class RawFactbookFormattingTag(val type: HtmlLexerTag) { val (width, height) = getSizeParam(param) val styleValue = getRawImageSizeStyleValue(width, height) - ({ - img(src = "/assets/images/$url") { - width?.let { attributes["data-width"] = "$it" } - height?.let { attributes["data-height"] = "$it" } - style = styleValue - } - }) + if (url.endsWith(".svg")) + ({ + iframe { + src = "/assets/images/$url" + width?.let { attributes["data-width"] = "$it" } + height?.let { attributes["data-height"] = "$it" } + style = styleValue + } + }) + else + ({ + img(src = "/assets/images/$url") { + width?.let { attributes["data-width"] = "$it" } + height?.let { attributes["data-height"] = "$it" } + style = styleValue + } + }) }), MODEL(HtmlNotSupportedInRawViewTag("Unfortunately, raw view does not support interactive 3D model views")), QUIZ(HtmlNotSupportedInRawViewTag("Unfortunately, raw view does not support interactive quizzes")),