rustdoc: remove class name location from sidebar sibling nav

This change tweaks the CSS to apply most of its styles to `.sidebar h2`,
cleaning up a few redundant rules from `.mobile-topbar .location` and
restoring useful navigation aids in mobile mode.
This commit is contained in:
Michael Howell 2022-10-18 11:14:01 -07:00
parent e94827e5b0
commit a01b88575e
8 changed files with 39 additions and 38 deletions

View file

@ -1884,7 +1884,7 @@ fn print_sidebar(cx: &Context<'_>, it: &clean::Item, buffer: &mut Buffer) {
if !it.is_mod() {
let path: String = cx.current.iter().map(|s| s.as_str()).intersperse("::").collect();
write!(buffer, "<h2 class=\"location\"><a href=\"index.html\">In {}</a></h2>", path);
write!(buffer, "<h2><a href=\"index.html\">In {}</a></h2>", path);
}
// Closes sidebar-elems div.

View file

@ -171,7 +171,7 @@ h1.fqn {
Rustdoc-generated h2 section headings (e.g. "Implementations", "Required Methods", etc)
Underlines elsewhere in the documentation break up visual flow and tend to invert
section hierarchies. */
h2,
.content h2,
.top-doc .docblock > h3,
.top-doc .docblock > h4 {
border-bottom: 1px solid var(--headings-border-bottom-color);
@ -397,15 +397,6 @@ img {
left: 0;
}
.sidebar-elems,
.sidebar > .location {
padding-left: 24px;
}
.sidebar .location {
overflow-wrap: anywhere;
}
.rustdoc.source .sidebar {
width: 50px;
min-width: 0px;
@ -504,8 +495,8 @@ ul.block, .block li {
}
.block a,
.sidebar h3 a,
h2.location a {
.sidebar h2 a,
.sidebar h3 a {
display: block;
padding: 0.25rem;
margin-left: -0.25rem;
@ -515,8 +506,7 @@ h2.location a {
}
.sidebar h2 {
border-bottom: none;
font-weight: 500;
overflow-wrap: anywhere;
padding: 0;
margin: 0;
margin-top: 0.7rem;
@ -525,11 +515,15 @@ h2.location a {
.sidebar h3 {
font-size: 1.125rem; /* 18px */
font-weight: 500;
padding: 0;
margin: 0;
}
.sidebar-elems,
.sidebar > h2 {
padding-left: 24px;
}
.sidebar a, .sidebar .current {
color: var(--sidebar-link-color);
}
@ -1798,18 +1792,10 @@ in storage.js plus the media query with (min-width: 701px)
width: 0;
}
.mobile-topbar .location a {
padding: 0;
margin: 0;
}
.mobile-topbar .location {
border: none;
padding: 0;
.mobile-topbar h2 {
padding-bottom: 0;
margin: auto 0.5em auto auto;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
/* Rare exception to specifying font sizes in rem. Since the topbar
height is specified in pixels, this also has to be specified in
pixels to avoid overflowing the topbar when the user sets a bigger
@ -1817,6 +1803,13 @@ in storage.js plus the media query with (min-width: 701px)
font-size: 24px;
}
.mobile-topbar h2 a {
display: block;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.mobile-topbar .logo-container {
max-height: 45px;
}

View file

@ -55,7 +55,7 @@ function blurHandler(event, parentElem, hideCallback) {
function setMobileTopbar() {
// FIXME: It would be nicer to generate this text content directly in HTML,
// but with the current code it's hard to get the right information in the right place.
const mobileLocationTitle = document.querySelector(".mobile-topbar h2.location");
const mobileLocationTitle = document.querySelector(".mobile-topbar h2");
const locationTitle = document.querySelector(".sidebar h2.location");
if (mobileLocationTitle && locationTitle) {
mobileLocationTitle.innerHTML = locationTitle.innerHTML;

View file

@ -85,7 +85,7 @@
{%- endif -%}
</div> {#- -#}
</a> {#- -#}
<h2 class="location"></h2> {#- -#}
<h2></h2> {#- -#}
</nav> {#- -#}
{%- endif -%}
<nav class="sidebar"> {#- -#}