diff --git a/NEWS.md b/NEWS.md index 628fbaaf..bcb5e29e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # htmltools (development version) +* Trailing slashes have been removed from void elements. (#436) + # htmltools 0.5.8 ## Improvements diff --git a/R/html_dependency.R b/R/html_dependency.R index 9cb5a569..a9804e62 100644 --- a/R/html_dependency.R +++ b/R/html_dependency.R @@ -499,7 +499,7 @@ renderDependencies <- function(dependencies, if (length(dep$meta) > 0) { html <- c(html, paste( "", + htmlEscape(dep$meta), "\" >", sep = "" )) } @@ -509,7 +509,7 @@ renderDependencies <- function(dependencies, html <- c(html, paste( "", + "\" rel=\"stylesheet\" >", sep = "" )) } diff --git a/R/html_print.R b/R/html_print.R index c6943953..73d43fd2 100644 --- a/R/html_print.R +++ b/R/html_print.R @@ -112,7 +112,7 @@ save_html.default <- function(html, file, background = "white", libdir = "lib", html <- c("", sprintf('', lang), "", - "", + "", sprintf("", htmlEscape(background)), renderDependencies(deps, c("href", "file")), rendered$head, diff --git a/R/tags.R b/R/tags.R index 8848b393..5fd0cd0f 100644 --- a/R/tags.R +++ b/R/tags.R @@ -914,12 +914,12 @@ tagWrite <- function(tag, textWriter, indent=0, eol = "\n") { } } else { - # only self-close void elements + # close void elements # (see: http://dev.w3.org/html5/spec/single-page.html#void-elements) if (tag$name %in% c("area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr")) { - textWriter$write("/>") + textWriter$write(">") } else { textWriter$write(concat8(">")) diff --git a/R/template.R b/R/template.R index 78989121..92c80b2f 100644 --- a/R/template.R +++ b/R/template.R @@ -118,7 +118,7 @@ renderDocument <- function(x, deps = NULL, processDep = identity) { # Put content in the section head_content <- paste0( - ' \n', + ' \n', sprintf(' \n', paste(result$singletons, collapse = ',') ), diff --git a/tests/testthat/test-tags.r b/tests/testthat/test-tags.r index 195c1f86..8e683788 100644 --- a/tests/testthat/test-tags.r +++ b/tests/testthat/test-tags.r @@ -19,7 +19,7 @@ test_that("Basic tag writing works", { "one") expect_equal( as.character(tagList(tags$br(), "one")), - "
\none") + "
\none") }) test_that("Hanging commas don't break things", {