From: Lanius Trolling Date: Wed, 3 Apr 2024 22:47:45 +0000 (-0400) Subject: Hide raw path filenames from user-visible text X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=58528e04162247c0d312f2ba0063a79f748eb354;p=factbooks Hide raw path filenames from user-visible text --- diff --git a/src/jvmMain/kotlin/info/mechyrdia/data/view_comments.kt b/src/jvmMain/kotlin/info/mechyrdia/data/view_comments.kt index 631706b..6703673 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/data/view_comments.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/data/view_comments.kt @@ -4,6 +4,7 @@ import info.mechyrdia.OwnerNationId import info.mechyrdia.lore.TextParserCommentTags import info.mechyrdia.lore.TextParserState import info.mechyrdia.lore.dateTime +import info.mechyrdia.lore.toFriendlyIndexTitle import info.mechyrdia.route.Root import info.mechyrdia.route.href import info.mechyrdia.route.installCsrfToken @@ -65,7 +66,7 @@ fun FlowContent.commentBox(comment: CommentRenderData, loggedInAs: Id.renderInto(list: UL, base: List = emptyList(), for for (node in this) { if (node.isViewable) list.li { - a(href = href(Root.LorePage(base + node.name, format))) { +node.name } + val nodePath = base + node.name + a(href = href(Root.LorePage(nodePath, format))) { +node.name.toFriendlyPageTitle() } if (node.subNodes.isNotEmpty()) ul { - node.subNodes.renderInto(this, base + node.name, format) + node.subNodes.renderInto(this, nodePath, format) } } } } -fun String.toFriendlyIndexTitle() = split('/').joinToString(separator = " - ") { part -> +fun List.toFriendlyIndexTitle() = joinToString(separator = " - ") { part -> part.toFriendlyPageTitle() } -fun String.toFriendlyPageTitle() = split('-') - .joinToString(separator = " ") { word -> - word.lowercase().replaceFirstChar { it.titlecase() } - } +fun String.toFriendlyIndexTitle() = split('/').toFriendlyIndexTitle() + +fun String.toFriendlyPageTitle() = split('-').joinToString(separator = " ") { word -> + word.lowercase().replaceFirstChar { it.titlecase() } +} diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/view_nav.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/view_nav.kt index f4eac83..c5eac09 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/view_nav.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/view_nav.kt @@ -36,7 +36,7 @@ suspend fun ApplicationCall.standardNavBar(path: List? = null) = listOf( ) + path?.let { pathParts -> pathParts.dropLast(1).mapIndexed { i, part -> val subPath = pathParts.take(i + 1) - NavLink(href(Root.LorePage(subPath)), part) + NavLink(href(Root.LorePage(subPath)), part.toFriendlyPageTitle()) } }.orEmpty() + (currentNation()?.let { data -> listOf( diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/views_robots.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/views_robots.kt index 0d2e7e1..82d023e 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/views_robots.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/views_robots.kt @@ -28,7 +28,7 @@ context(Appendable) private fun List.renderIntoSitemap(base: String? = null) { val prefix by lazy(LazyThreadSafetyMode.NONE) { base?.let { "$it/" }.orEmpty() } for (node in this) { - if (Configuration.CurrentConfiguration.isDevMode || !(node.name.endsWith(".wip") || node.name.endsWith(".old"))) { + if (node.isViewable) { val path = "$prefix${node.name}" val file = File(Configuration.CurrentConfiguration.articleDir).combineSafe(path)