CSS DSL
所需依赖项:io.ktor:ktor-server-html-builder, org.jetbrains.kotlin-wrappers:kotlin-css
代码示例: css-dsl
CSS DSL 扩展了 HTML DSL,并允许您使用 kotlin-css 包装器在 Kotlin 中编写样式表。
详细了解如何通过提供静态内容以静态内容的形式提供样式表。
添加依赖项
CSS DSL 不需要安装,但需要在构建脚本中包含以下构件:
用于 HTML DSL 的
ktor-server-html-builder构件:KotlinGroovyXML用于构建 CSS 的
kotlin-css-jvm构件:KotlinGroovyXML您可以将
$kotlin_css_version替换为所需的kotlin-css构件版本,例如1.0.0-pre.625。
提供 CSS
要发送 CSS 响应,您需要通过添加 respondCss 方法来扩展 ApplicationCall,该方法将样式表序列化为字符串,并使用 CSS 内容类型发送给客户端:
kotlin
suspend inline fun ApplicationCall.respondCss(builder: CssBuilder.() -> Unit) {
this.respondText(CssBuilder().apply(builder).toString(), ContentType.Text.CSS)
}然后,您可以在所需的路由中提供 CSS:
kotlin
get("/styles.css") {
call.respondCss {
body {
backgroundColor = Color.darkBlue
margin = Margin(0.px)
}
rule("h1.page-title") {
color = Color.white
}
}
}最后,您可以将指定的 CSS 用于通过 HTML DSL 创建的 HTML 文档:
kotlin
get("/html-dsl") {
call.respondHtml {
head {
link(rel = "stylesheet", href = "/styles.css", type = "text/css")
}
body {
h1(classes = "page-title") {
+"Hello from Ktor!"
}
}
}
}您可以在此处找到完整示例:css-dsl。
