File tree 5 files changed +29
-6
lines changed
ci/docker/host-x86_64/x86_64-gnu-tools
librustdoc/html/static/css
5 files changed +29
-6
lines changed Original file line number Diff line number Diff line change 1
- 0.17.0
1
+ 0.17.1
Original file line number Diff line number Diff line change @@ -34,7 +34,7 @@ nav.sub {
34
34
in rustdoc.css */
35
35
36
36
/* Begin theme: light */
37
- : root {
37
+ : root , : root : not ([ data-theme ]) {
38
38
--main-background-color : white;
39
39
--main-color : black;
40
40
--settings-input-color : # 2196f3 ;
@@ -140,7 +140,7 @@ nav.sub {
140
140
141
141
@media (prefers-color-scheme : dark) {
142
142
/* Begin theme: dark */
143
- : root {
143
+ : root , : root : not ([ data-theme ]) {
144
144
--main-background-color : # 353535 ;
145
145
--main-color : # ddd ;
146
146
--settings-input-color : # 2196f3 ;
Original file line number Diff line number Diff line change @@ -2315,8 +2315,14 @@ in src-script.js and main.js
2315
2315
tooling to ensure different themes all define all the variables. Do not
2316
2316
alter their formatting. */
2317
2317
2318
+ /*
2319
+ About `:root:not([data-theme])`: if for any reason the JS is enabled but cannot be loaded,
2320
+ `noscript` won't be enabled and the doc will have no color applied. To do around this, we
2321
+ add a selector check that if `data-theme` is not defined, then we apply the light theme
2322
+ by default.
2323
+ */
2318
2324
/* Begin theme: light */
2319
- : root [data-theme = "light" ] {
2325
+ : root [data-theme = "light" ], : root : not ([ data-theme ]) {
2320
2326
--main-background-color : white;
2321
2327
--main-color : black;
2322
2328
--settings-input-color : # 2196f3 ;
Original file line number Diff line number Diff line change @@ -74,8 +74,11 @@ fn compare_themes<'a>(
74
74
( noscript_css_line_number, noscript_css_line) ,
75
75
) in rustdoc_css_lines. zip ( noscript_css_lines)
76
76
{
77
- if noscript_css_line. starts_with ( ":root {" )
78
- && rustdoc_css_line. starts_with ( & format ! ( r#":root[data-theme="{name}"] {{"# ) )
77
+ if noscript_css_line. starts_with ( ":root, :root:not([data-theme]) {" )
78
+ && ( rustdoc_css_line. starts_with ( & format ! ( r#":root[data-theme="{name}"] {{"# ) )
79
+ || rustdoc_css_line. starts_with ( & format ! (
80
+ r#":root[data-theme="{name}"], :root:not([data-theme]) {{"#
81
+ ) ) )
79
82
{
80
83
// selectors are different between rustdoc.css and noscript.css
81
84
// that's why they both exist: one uses JS, the other uses media queries
Original file line number Diff line number Diff line change 3
3
javascript: false
4
4
5
5
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
6
+ show-text: true
6
7
assert-css: (".sub", {"display": "none"})
8
+
9
+ // Even though JS is disabled, we should still have themes applied. Links are never black-colored
10
+ // if styles are applied so we check that they are not.
11
+ assert-css-false: ("a.src", {"color": "#000"})
12
+
13
+ javascript: true
14
+ fail-on-request-error: false
15
+ block-network-request: "*.js"
16
+ reload:
17
+
18
+ // JS is enabled but wasn't loaded, we should still have the light theme applied. Links are never
19
+ // black-colored if styles are applied so we check that they are not.
20
+ assert-css-false: ("a.src", {"color": "#000"})
You can’t perform that action at this time.
0 commit comments