1
Fork 0

rustdoc: remove unnecessary DOM class h1.fqn

It's misleading. The main heading sometimes isn't an fully qualified name at all.

It's also redundant. It's always a child of `div.main-heading`, so just use that.
This commit is contained in:
Michael Howell 2023-01-13 10:09:25 -07:00
parent 5ca6f7d2c3
commit 39b90a5f6e
17 changed files with 33 additions and 33 deletions

View file

@ -639,7 +639,7 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
write!( write!(
buf, buf,
"<div class=\"main-heading\">\ "<div class=\"main-heading\">\
<h1 class=\"fqn\">Rustdoc settings</h1>\ <h1>Rustdoc settings</h1>\
<span class=\"out-of-band\">\ <span class=\"out-of-band\">\
<a id=\"back\" href=\"javascript:void(0)\" onclick=\"history.back();\">\ <a id=\"back\" href=\"javascript:void(0)\" onclick=\"history.back();\">\
Back\ Back\
@ -677,7 +677,7 @@ impl<'tcx> FormatRenderer<'tcx> for Context<'tcx> {
write!( write!(
buf, buf,
"<div class=\"main-heading\">\ "<div class=\"main-heading\">\
<h1 class=\"fqn\">Rustdoc help</h1>\ <h1>Rustdoc help</h1>\
<span class=\"out-of-band\">\ <span class=\"out-of-band\">\
<a id=\"back\" href=\"javascript:void(0)\" onclick=\"history.back();\">\ <a id=\"back\" href=\"javascript:void(0)\" onclick=\"history.back();\">\
Back\ Back\

View file

@ -364,7 +364,7 @@ impl AllTypes {
} }
} }
f.write_str("<h1 class=\"fqn\">List of all items</h1>"); f.write_str("<h1>List of all items</h1>");
// Note: print_entries does not escape the title, because we know the current set of titles // Note: print_entries does not escape the title, because we know the current set of titles
// doesn't require escaping. // doesn't require escaping.
print_entries(f, &self.structs, ItemSection::Structs); print_entries(f, &self.structs, ItemSection::Structs);
@ -394,7 +394,7 @@ fn scrape_examples_help(shared: &SharedContext<'_>) -> String {
let mut ids = IdMap::default(); let mut ids = IdMap::default();
format!( format!(
"<div class=\"main-heading\">\ "<div class=\"main-heading\">\
<h1 class=\"fqn\">About scraped examples</h1>\ <h1>About scraped examples</h1>\
</div>\ </div>\
<div>{}</div>", <div>{}</div>",
Markdown { Markdown {

View file

@ -345,7 +345,7 @@ if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};
}; };
let content = format!( let content = format!(
"<h1 class=\"fqn\">List of all crates</h1><ul class=\"all-items\">{}</ul>", "<h1>List of all crates</h1><ul class=\"all-items\">{}</ul>",
krates krates
.iter() .iter()
.map(|s| { .map(|s| {

View file

@ -139,7 +139,7 @@ h1, h2, h3, h4 {
.docblock > h6:first-child { .docblock > h6:first-child {
margin-top: 0; margin-top: 0;
} }
h1.fqn { .main-heading h1 {
margin: 0; margin: 0;
padding: 0; padding: 0;
flex-grow: 1; flex-grow: 1;

View file

@ -526,7 +526,7 @@ function loadCss(cssUrl) {
} }
let currentNbImpls = implementors.getElementsByClassName("impl").length; let currentNbImpls = implementors.getElementsByClassName("impl").length;
const traitName = document.querySelector("h1.fqn > .trait").textContent; const traitName = document.querySelector(".main-heading h1 > .trait").textContent;
const baseIdName = "impl-" + traitName + "-"; const baseIdName = "impl-" + traitName + "-";
const libs = Object.getOwnPropertyNames(imp); const libs = Object.getOwnPropertyNames(imp);
// We don't want to include impls from this JS file, when the HTML already has them. // We don't want to include impls from this JS file, when the HTML already has them.

View file

@ -1,5 +1,5 @@
<div class="main-heading"> {#- -#} <div class="main-heading"> {#- -#}
<h1 class="fqn"> {#- -#} <h1> {#- -#}
{{-typ-}} {{-typ-}}
{#- The breadcrumbs of the item path, like std::string -#} {#- The breadcrumbs of the item path, like std::string -#}
{%- for component in path_components -%} {%- for component in path_components -%}

View file

@ -2,7 +2,7 @@
define-function: ( define-function: (
"check-colors", "check-colors",
(theme, main_color, title_color, fqn_color, fqn_type_color, src_link_color, sidebar_link_color), (theme, main_color, title_color, main_heading_color, main_heading_type_color, src_link_color, sidebar_link_color),
block { block {
goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html" goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
// This is needed to ensure that the text color is computed. // This is needed to ensure that the text color is computed.
@ -14,8 +14,8 @@ define-function: (
reload: reload:
assert-css: ("#toggle-all-docs", {"color": |main_color|}) assert-css: ("#toggle-all-docs", {"color": |main_color|})
assert-css: (".fqn a:nth-of-type(1)", {"color": |fqn_color|}) assert-css: (".main-heading h1 a:nth-of-type(1)", {"color": |main_heading_color|})
assert-css: (".fqn a:nth-of-type(2)", {"color": |fqn_type_color|}) assert-css: (".main-heading a:nth-of-type(2)", {"color": |main_heading_type_color|})
assert-css: ( assert-css: (
".rightside .srclink", ".rightside .srclink",
{"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|}, {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
@ -57,7 +57,7 @@ define-function: (
assert-css: ("#top-doc-prose-title", {"color": |title_color|}) assert-css: ("#top-doc-prose-title", {"color": |title_color|})
assert-css: (".sidebar a", {"color": |sidebar_link_color|}) assert-css: (".sidebar a", {"color": |sidebar_link_color|})
assert-css: ("h1.fqn a", {"color": |title_color|}) assert-css: (".main-heading h1 a", {"color": |title_color|})
// We move the cursor over the "Implementations" title so the anchor is displayed. // We move the cursor over the "Implementations" title so the anchor is displayed.
move-cursor-to: "h2#implementations" move-cursor-to: "h2#implementations"
@ -77,8 +77,8 @@ call-function: (
"theme": "ayu", "theme": "ayu",
"main_color": "rgb(197, 197, 197)", "main_color": "rgb(197, 197, 197)",
"title_color": "rgb(255, 255, 255)", "title_color": "rgb(255, 255, 255)",
"fqn_color": "rgb(255, 255, 255)", "main_heading_color": "rgb(255, 255, 255)",
"fqn_type_color": "rgb(255, 160, 165)", "main_heading_type_color": "rgb(255, 160, 165)",
"src_link_color": "rgb(57, 175, 215)", "src_link_color": "rgb(57, 175, 215)",
"sidebar_link_color": "rgb(83, 177, 219)", "sidebar_link_color": "rgb(83, 177, 219)",
}, },
@ -89,8 +89,8 @@ call-function: (
"theme": "dark", "theme": "dark",
"main_color": "rgb(221, 221, 221)", "main_color": "rgb(221, 221, 221)",
"title_color": "rgb(221, 221, 221)", "title_color": "rgb(221, 221, 221)",
"fqn_color": "rgb(221, 221, 221)", "main_heading_color": "rgb(221, 221, 221)",
"fqn_type_color": "rgb(45, 191, 184)", "main_heading_type_color": "rgb(45, 191, 184)",
"src_link_color": "rgb(210, 153, 29)", "src_link_color": "rgb(210, 153, 29)",
"sidebar_link_color": "rgb(253, 191, 53)", "sidebar_link_color": "rgb(253, 191, 53)",
}, },
@ -101,8 +101,8 @@ call-function: (
"theme": "light", "theme": "light",
"main_color": "rgb(0, 0, 0)", "main_color": "rgb(0, 0, 0)",
"title_color": "rgb(0, 0, 0)", "title_color": "rgb(0, 0, 0)",
"fqn_color": "rgb(0, 0, 0)", "main_heading_color": "rgb(0, 0, 0)",
"fqn_type_color": "rgb(173, 55, 138)", "main_heading_type_color": "rgb(173, 55, 138)",
"src_link_color": "rgb(56, 115, 173)", "src_link_color": "rgb(56, 115, 173)",
"sidebar_link_color": "rgb(53, 109, 164)", "sidebar_link_color": "rgb(53, 109, 164)",
}, },

View file

@ -13,7 +13,7 @@
// 14px 0.875rem // 14px 0.875rem
goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html" goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
@ -52,7 +52,7 @@ assert-css: ("h6#sub-sub-heading-for-struct-impl-item-doc", {"font-size": "14px"
goto: "file://" + |DOC_PATH| + "/test_docs/enum.HeavilyDocumentedEnum.html" goto: "file://" + |DOC_PATH| + "/test_docs/enum.HeavilyDocumentedEnum.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
@ -111,7 +111,7 @@ assert-css: ("//ul[@class='block mod']/preceding-sibling::h3", {"border-bottom-w
goto: "file://" + |DOC_PATH| + "/test_docs/union.HeavilyDocumentedUnion.html" goto: "file://" + |DOC_PATH| + "/test_docs/union.HeavilyDocumentedUnion.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
@ -143,7 +143,7 @@ assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"border-bottom-width": "
goto: "file://" + |DOC_PATH| + "/test_docs/macro.heavily_documented_macro.html" goto: "file://" + |DOC_PATH| + "/test_docs/macro.heavily_documented_macro.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})

View file

@ -3,17 +3,17 @@
// First, we check that the first page doesn't have the string we're looking for to ensure // First, we check that the first page doesn't have the string we're looking for to ensure
// that the feature is changing page as expected. // that the feature is changing page as expected.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html" goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-text-false: (".fqn", "Struct test_docs::Foo") assert-text-false: (".main-heading h1", "Struct test_docs::Foo")
// We now check that we land on the search result page if "go_to_first" isn't set. // We now check that we land on the search result page if "go_to_first" isn't set.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo" goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo"
// Waiting for the search results to appear... // Waiting for the search results to appear...
wait-for: "#search-tabs" wait-for: "#search-tabs"
assert-text-false: (".fqn", "Struct test_docs::Foo") assert-text-false: (".main-heading h1", "Struct test_docs::Foo")
// Ensure that the search results are displayed, not the "normal" content. // Ensure that the search results are displayed, not the "normal" content.
assert-css: ("#main-content", {"display": "none"}) assert-css: ("#main-content", {"display": "none"})
// Now we can check that the feature is working as expected! // Now we can check that the feature is working as expected!
goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo&go_to_first=true" goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo&go_to_first=true"
// Waiting for the page to load... // Waiting for the page to load...
wait-for-text: (".fqn", "Struct test_docs::Foo") wait-for-text: (".main-heading h1", "Struct test_docs::Foo")

View file

@ -12,4 +12,4 @@ assert-attribute-false: (".impl-items .rustdoc-toggle", {"open": ""})
// Click the "Trait" part of "impl Trait" and verify it navigates. // Click the "Trait" part of "impl Trait" and verify it navigates.
click: "#impl-Trait-for-Foo h3 a:first-of-type" click: "#impl-Trait-for-Foo h3 a:first-of-type"
assert-text: (".fqn", "Trait lib2::Trait") assert-text: (".main-heading h1", "Trait lib2::Trait")

View file

@ -5,7 +5,7 @@
#![crate_name = "foo"] #![crate_name = "foo"]
// @has foo/../index.html // @has foo/../index.html
// @has - '//h1[@class="fqn"]' 'List of all crates' // @has - '//h1' 'List of all crates'
// @has - '//ul[@class="all-items"]//a[@href="foo/index.html"]' 'foo' // @has - '//ul[@class="all-items"]//a[@href="foo/index.html"]' 'foo'
// @has - '//ul[@class="all-items"]//a[@href="all_item_types/index.html"]' 'all_item_types' // @has - '//ul[@class="all-items"]//a[@href="all_item_types/index.html"]' 'all_item_types'
pub struct Foo; pub struct Foo;

View file

@ -7,7 +7,7 @@
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a' 'Keywords' // @has foo/index.html '//div[@class="sidebar-elems"]//li/a' 'Keywords'
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a/@href' '#keywords' // @has foo/index.html '//div[@class="sidebar-elems"]//li/a/@href' '#keywords'
// @has foo/keyword.match.html '//a[@class="keyword"]' 'match' // @has foo/keyword.match.html '//a[@class="keyword"]' 'match'
// @has foo/keyword.match.html '//h1[@class="fqn"]' 'Keyword match' // @has foo/keyword.match.html '//h1' 'Keyword match'
// @has foo/keyword.match.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!' // @has foo/keyword.match.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has foo/index.html '//a/@href' '../foo/index.html' // @has foo/index.html '//a/@href' '../foo/index.html'
// @!has foo/foo/index.html // @!has foo/foo/index.html

View file

@ -9,7 +9,7 @@
// @has - '//div[@class="sidebar-elems"]//li/a/@href' '#primitives' // @has - '//div[@class="sidebar-elems"]//li/a/@href' '#primitives'
// @has foo/primitive.reference.html // @has foo/primitive.reference.html
// @has - '//a[@class="primitive"]' 'reference' // @has - '//a[@class="primitive"]' 'reference'
// @has - '//h1[@class="fqn"]' 'Primitive Type reference' // @has - '//h1' 'Primitive Type reference'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!' // @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// There should be only one implementation listed. // There should be only one implementation listed.

View file

@ -4,7 +4,7 @@
#![feature(rustdoc_internals)] #![feature(rustdoc_internals)]
// @has foo/primitive.slice.html '//a[@class="primitive"]' 'slice' // @has foo/primitive.slice.html '//a[@class="primitive"]' 'slice'
// @has - '//h1[@class="fqn"]' 'Primitive Type slice' // @has - '//h1' 'Primitive Type slice'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!' // @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations' // @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations'
// @has - '//div[@id="synthetic-implementations-list"]//h3' 'impl<T> Send for [T]where T: Send' // @has - '//div[@id="synthetic-implementations-list"]//h3' 'impl<T> Send for [T]where T: Send'

View file

@ -4,7 +4,7 @@
#![feature(rustdoc_internals)] #![feature(rustdoc_internals)]
// @has foo/primitive.tuple.html '//a[@class="primitive"]' 'tuple' // @has foo/primitive.tuple.html '//a[@class="primitive"]' 'tuple'
// @has - '//h1[@class="fqn"]' 'Primitive Type tuple' // @has - '//h1' 'Primitive Type tuple'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!' // @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations' // @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations'
// @has - '//div[@id="synthetic-implementations-list"]//h3' 'Send' // @has - '//div[@id="synthetic-implementations-list"]//h3' 'Send'

View file

@ -4,7 +4,7 @@
#![feature(rustdoc_internals)] #![feature(rustdoc_internals)]
// @has foo/primitive.unit.html '//a[@class="primitive"]' 'unit' // @has foo/primitive.unit.html '//a[@class="primitive"]' 'unit'
// @has - '//h1[@class="fqn"]' 'Primitive Type unit' // @has - '//h1' 'Primitive Type unit'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!' // @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations' // @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations'
// @has - '//div[@id="synthetic-implementations-list"]//h3' 'impl Send for ()' // @has - '//div[@id="synthetic-implementations-list"]//h3' 'impl Send for ()'

View file

@ -7,7 +7,7 @@
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a' 'Primitive Types' // @has foo/index.html '//div[@class="sidebar-elems"]//li/a' 'Primitive Types'
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a/@href' '#primitives' // @has foo/index.html '//div[@class="sidebar-elems"]//li/a/@href' '#primitives'
// @has foo/primitive.i32.html '//a[@class="primitive"]' 'i32' // @has foo/primitive.i32.html '//a[@class="primitive"]' 'i32'
// @has foo/primitive.i32.html '//h1[@class="fqn"]' 'Primitive Type i32' // @has foo/primitive.i32.html '//h1' 'Primitive Type i32'
// @has foo/primitive.i32.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!' // @has foo/primitive.i32.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has foo/index.html '//a/@href' '../foo/index.html' // @has foo/index.html '//a/@href' '../foo/index.html'
// @!has foo/index.html '//span' '🔒' // @!has foo/index.html '//span' '🔒'