From: Lanius Trolling Date: Sat, 13 Apr 2024 15:38:14 +0000 (-0400) Subject: Fix lore article sorting X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=a382c9aa12e6735e02cb136882a0a4e4d8e19ce9;p=factbooks Fix lore article sorting --- diff --git a/src/jvmMain/kotlin/info/mechyrdia/lore/ArticleListing.kt b/src/jvmMain/kotlin/info/mechyrdia/lore/ArticleListing.kt index e2ea11b..e04d9e0 100644 --- a/src/jvmMain/kotlin/info/mechyrdia/lore/ArticleListing.kt +++ b/src/jvmMain/kotlin/info/mechyrdia/lore/ArticleListing.kt @@ -3,6 +3,7 @@ package info.mechyrdia.lore import info.mechyrdia.Configuration import info.mechyrdia.data.FileStorage import info.mechyrdia.data.StoragePath +import info.mechyrdia.data.StoredFileType import info.mechyrdia.route.Root import info.mechyrdia.route.href import io.ktor.server.application.* @@ -26,10 +27,12 @@ suspend fun StoragePath.toArticleNode(): ArticleNode = ArticleNode( FileStorage.instance.listDir(path)?.map { (name, _) -> val subPath = path / name async { subPath.toArticleNode() } - }?.awaitAll().orEmpty() - }.sortedBy { it.name }.sortedBy { it.subNodes == null } + }?.awaitAll() + }?.sortedAsArticles() ) +private fun List.sortedAsArticles() = sortedBy { it.name }.sortedBy { it.subNodes == null } + private val String.isViewable: Boolean get() = Configuration.Current.isDevMode || !(endsWith(".wip") || endsWith(".old"))