From: Lanius Trolling Date: Thu, 7 Mar 2024 12:51:32 +0000 (-0500) Subject: Rework quiz rendering X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=e2b8c65e847b9634178e8364dc31c0352a180b83;p=factbooks Rework quiz rendering --- diff --git a/src/jvmMain/kotlin/info/mechyrdia/Configuration.kt b/src/jvmMain/kotlin/info/mechyrdia/Configuration.kt index 7d6ab99..1de12cd 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/Configuration.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/Configuration.kt @@ -17,7 +17,6 @@ data class Configuration( val assetDir: String = "$rootDir/assets", val templateDir: String = "$rootDir/tpl", val jsonDocDir: String = "$rootDir/data", - val quizDir: String = "$rootDir/quizzes", val scriptDir: String = "$rootDir/funcs", val dbName: String = "nslore", diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/parser_tags.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/parser_tags.kt index 22806f0..bdc6af8 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/parser_tags.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/parser_tags.kt @@ -209,8 +209,8 @@ enum class TextParserFormattingTag(val type: TextParserTagType) { val (width, height) = getSizeParam(tagParam) if (imageUrl.endsWith(".svg")) - File(Configuration.CurrentConfiguration.assetDir) - .combineSafe("images/$imageUrl") + File(Configuration.CurrentConfiguration.assetDir, "images") + .combineSafe(imageUrl) .readText() .replace(") { ), QUIZ( TextParserTagType.Indirect(true) { _, content, _ -> - val quizText = File(Configuration.CurrentConfiguration.quizDir).combineSafe("$content.json").readText() - val quizJson = JsonStorageCodec.encodeToString(String.serializer(), quizText) - - "" + if (content.isBlank()) + "" + else { + val contentJson = JsonStorageCodec.parseToJsonElement(TextParserState.uncensorText(content)) + "" + } } ), diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_config.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_config.kt index e6c7db1..07860ed 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_config.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/preparser_config.kt @@ -60,10 +60,10 @@ object PebbleTemplateLoader : Loader { } override fun resolveRelativePath(relativePath: String, anchorPath: String): String { - val templateDir = File(Configuration.CurrentConfiguration.templateDir) if ('\n' in anchorPath) // Probably a raw template contents string return relativePath + val templateDir = File(Configuration.CurrentConfiguration.templateDir) return templateDir.combineSafe("$anchorPath/$relativePath").toRelativeString(templateDir) }