From dfe048bac283512ca57831cd52b196798f5159b3 Mon Sep 17 00:00:00 2001 From: kageru Date: Thu, 12 Mar 2020 10:57:28 +0100 Subject: [PATCH] More embed stuff --- src/main/kotlin/moe/kageru/kodeshare/Routes.kt | 2 +- .../moe/kageru/kodeshare/pages/AboutPage.kt | 5 +---- .../moe/kageru/kodeshare/pages/Homepage.kt | 16 ++++++++++++---- .../moe/kageru/kodeshare/pages/PastePage.kt | 6 ++---- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/kotlin/moe/kageru/kodeshare/Routes.kt b/src/main/kotlin/moe/kageru/kodeshare/Routes.kt index ca4bb40..51a6e97 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/Routes.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/Routes.kt @@ -132,7 +132,7 @@ object Routes { if (raw) { respondText(paste.content, ContentType.Text.Plain) } else { - respond(HttpStatusCode.OK, PastePage.build(paste.content, ext)) + respond(HttpStatusCode.OK, PastePage.build(paste.content, paste.uri, ext)) } } ?: respond(HttpStatusCode.NotFound, "nothing found for id $uri") } diff --git a/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt b/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt index 09835f8..17abc0a 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/pages/AboutPage.kt @@ -10,10 +10,7 @@ object AboutPage { private val domain = "${config[ServerSpec.domain]}" val content = HtmlContent(HttpStatusCode.OK) { head { - link(rel = "stylesheet", href = "/style.css", type = "text/css") - meta(content = "About Kodeshare – a FOSS [ph]astebin alternative") { - attributes["property"] = "og:title" - } + defaultHead("About kodeshare") } body { div("wrapper") { diff --git a/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt b/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt index 5012a50..53d2bee 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/pages/Homepage.kt @@ -7,10 +7,7 @@ import kotlinx.html.* object Homepage { val content = HtmlContent(HttpStatusCode.OK) { head { - link(rel = "stylesheet", href = "/style.css", type = "text/css") - meta(content = "Kodeshare – a FOSS [ph]astebin alternative") { - attributes["property"] = "og:title" - } + defaultHead("Create new paste") } body { a("/about") { div(Css.FLOATY_CLASS) { +"About" } } @@ -29,3 +26,14 @@ object Homepage { } } } + +fun HEAD.defaultHead(title: String) { + link(rel = "stylesheet", href = "/style.css", type = "text/css") + meta(content = title) { + attributes["property"] = "og:title" + } + meta(content = "kodeshare – a FOSS pastebin alternative") { + attributes["property"] = "og:site_name" + } + meta(name = "theme-color", content = "#66D9EF") +} diff --git a/src/main/kotlin/moe/kageru/kodeshare/pages/PastePage.kt b/src/main/kotlin/moe/kageru/kodeshare/pages/PastePage.kt index 98ecb44..93f12c1 100644 --- a/src/main/kotlin/moe/kageru/kodeshare/pages/PastePage.kt +++ b/src/main/kotlin/moe/kageru/kodeshare/pages/PastePage.kt @@ -4,7 +4,7 @@ import io.ktor.html.HtmlContent import kotlinx.html.* object PastePage { - fun build(content: String, type: String?) = HtmlContent { + fun build(content: String, uri: String, type: String?) = HtmlContent { head { link(rel = "stylesheet", href = "/style.css", type = "text/css") link( @@ -13,9 +13,7 @@ object PastePage { type = "text/css" ) script(src = "https://p.kageru.moe/static/hl.js") {} - meta(content = "Kodeshare – a FOSS [ph]astebin alternative") { - attributes["property"] = "og:title" - } + defaultHead("View paste $uri${type?.let { " (type $it)" } ?: ""}") // 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"