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.*
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<ArticleNode>.sortedAsArticles() = sortedBy { it.name }.sortedBy { it.subNodes == null }
+
private val String.isViewable: Boolean
get() = Configuration.Current.isDevMode || !(endsWith(".wip") || endsWith(".old"))