diff --git a/docs/src/me/jfenn/ktordocs/HtmlBuilder.kt b/docs/src/me/jfenn/ktordocs/HtmlBuilder.kt index 2debcd2f2a0a78f00837ba8c46d24c4581582b0a..1422b8261f791ce696fefb3a82d163780139c90f 100644 --- a/docs/src/me/jfenn/ktordocs/HtmlBuilder.kt +++ b/docs/src/me/jfenn/ktordocs/HtmlBuilder.kt @@ -68,11 +68,11 @@ class HtmlBuilder( a(href = "#" + endpoint.id) { +endpoint.title } } if (endpoint.auth.isNotEmpty()) { - span("float-right") { + span("float-end") { endpoint.auth.forEach { button(type = ButtonType.button, classes = "btn btn-link text-monospace") { - attributes["data-toggle"] = "modal" - attributes["data-target"] = "#auth_${it}" + attributes["data-bs-toggle"] = "modal" + attributes["data-bs-target"] = "#auth_${it}" +it } @@ -89,7 +89,7 @@ class HtmlBuilder( } } div("alert bg-light") { - span("mr-3 badge badge-" + when (endpoint.method) { + span("me-3 badge bg-" + when (endpoint.method) { HttpMethod.Get -> "primary" HttpMethod.Post -> "success" HttpMethod.Put -> "warning" @@ -164,15 +164,19 @@ class HtmlBuilder( appendHTML().html { head { meta(charset = "utf-8") + meta(name = "viewport", content = "width=device-width,initial-scale=1") title(docs.config.title) link( - href = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.1/css/bootstrap.min.css", - rel = "stylesheet" - ) + rel = "stylesheet", + href = "https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" + ) { + attributes["integrity"] = "sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" + attributes["crossorigin"] = "anonymous" + } style { - +"table {font-size:0.8rem;display:inline-block;max-width:100%;overflow-x:auto;}.bg-dark a {color:#b1d4fb !important;}" + +"a:not(:hover){text-decoration:none;}table{font-size:0.8rem;display:inline-block;max-width:100%;overflow-x:auto;}.bg-dark a{color:#b1d4fb !important;}" } } body { @@ -208,7 +212,7 @@ class HtmlBuilder( +"Documentation generated by " a(href = "https://code.horrific.dev/james/ktordocs") { +"Ktor-Docs" } } - a(classes = "text-muted float-right", href = "https://www.mozilla.org/en-US/MPL/2.0/") { + a(classes = "text-muted float-end", href = "https://www.mozilla.org/en-US/MPL/2.0/") { +"MPL v2.0" } } @@ -229,9 +233,10 @@ class HtmlBuilder( } } - script(src = "https://code.jquery.com/jquery-3.5.1.slim.min.js") {} - script(src = "https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js") {} - script(src = "https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js") {} + script(src = "https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js") { + attributes["integrity"] = "sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" + attributes["crossorigin"] = "anonymous" + } } } appendln() @@ -247,9 +252,8 @@ fun FlowContent.modal(modalId: String, modalTitle: String, content: DIV.() -> Un div("modal-content") { div("modal-header") { h5("modal-title") { +modalTitle } - button(type = ButtonType.button, classes = "close") { - attributes["data-dismiss"] = "modal" - unsafe { +"×" } + button(type = ButtonType.button, classes = "btn-close") { + attributes["data-bs-dismiss"] = "modal" } } div("modal-body") {