import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.runBlocking
import kotlin.system.exitProcess
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.toList
import kotlinx.html.UL
import kotlinx.html.a
import kotlinx.html.li
part.toFriendlyPageTitle()
}
-fun String.toFriendlyIndexTitle() = split('/').toFriendlyIndexTitle()
-
fun String.toFriendlyPageTitle() = split('-').joinToString(separator = " ") { word ->
word.lowercase().replaceFirstChar { it.titlecase() }
}
package info.mechyrdia.route
import io.ktor.http.*
-import io.ktor.http.content.*
import io.ktor.resources.serialization.*
import io.ktor.server.application.*
import io.ktor.server.request.*