package moe.kageru.kodeshare.pages import io.ktor.html.HtmlContent import kotlinx.html.* object PastePage { fun build(content: String, uri: String, type: String?) = HtmlContent { head { defaultHead("View paste $uri${type?.let { " (type $it)" } ?: ""}") link( rel = "stylesheet", href = "/static/hljs.css", type = "text/css" ) script(src = "/static/hl.js") {} // Show the first 3 lines in preview/embed for applications like discord, slack, or skype meta(content = content.lines().take(3).joinToString("\n")) { attributes["property"] = "og:description" } unsafe { +"" // TODO: find out how CSSBuilder.fontFace is supposed to work and use that instead +"""""".trimIndent() } } body { pre { code(classes = type) { +content } } a("/") { div(Css.FLOATY_CLASS) { +"New paste" } } } } }