Rollup merge of #87288 - ijackson:rustdoc-theme, r=GuillaumeGomez

rustdoc: Restore --default-theme, etc, by restoring varname escaping

In #86157

    cd0f93193c
    Use Tera templates for rustdoc.

dropped the following transformation from the keys of the default settings element's `data-` attribute names:

    .map(|(k, v)| format!(r#" data-{}="{}""#, k.replace('-', "_"), Escape(v)))

The `Escape` part is indeed no longer needed, because Tera does that for us.  But the massaging of `-` to `_` is needed, for the (bizarre) reasons explained in the new comments.

I have tested that the default theme function works again for me.  I have also verified that passing (in shell syntax)

    '--default-theme="zork&"'

escapes the value in the HTML.

Closes #87263
This commit is contained in:
Guillaume Gomez
2021-07-22 13:39:22 +02:00
committed by GitHub
17 changed files with 95 additions and 23 deletions

View File

@@ -0,0 +1,8 @@
// This test ensures that the default settings are correctly applied.
//
// The "settings" crate uses "ayu" as default setting, which is what we will
// check.
goto: file://|DOC_PATH|/settings/index.html
// Wait a bit to be sure the default theme is applied.
wait-for: 1000
assert-css: ("body", {"background-color": "rgb(15, 20, 25)"})

View File

@@ -1,6 +0,0 @@
[workspace]
members = [
"test_docs",
"lib2",
"implementors",
]

View File

@@ -12,7 +12,3 @@ version = "0.1.0"
dependencies = [
"implementors",
]
[[package]]
name = "test_docs"
version = "0.1.0"

View File

@@ -7,4 +7,4 @@ edition = "2018"
path = "lib.rs"
[dependencies]
implementors = { path = "../implementors" }
implementors = { path = "./implementors" }

View File

@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "implementors"
version = "0.1.0"

View File

@@ -0,0 +1,2 @@
[build]
rustdocflags = ["--default-theme", "ayu"]

View File

@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "settings"
version = "0.1.0"

View File

@@ -0,0 +1,7 @@
[package]
name = "settings"
version = "0.1.0"
edition = "2018"
[lib]
path = "lib.rs"

View File

@@ -0,0 +1 @@
pub fn foo() {}

View File

@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "test_docs"
version = "0.1.0"