Skip to content

Commit

Permalink
rustdoc: rework source sidebar
Browse files Browse the repository at this point in the history
  • Loading branch information
cynecx authored and GuillaumeGomez committed Nov 29, 2021
1 parent 501b3d2 commit dc2c972
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 47 deletions.
79 changes: 48 additions & 31 deletions src/librustdoc/html/static/css/rustdoc.css
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ nav.sub {
}

.source .sidebar {
width: 0px;
width: 50px;
min-width: 0px;
max-width: 300px;
flex-grow: 0;
Expand All @@ -343,6 +343,24 @@ nav.sub {
border-right: 1px solid;
transition: width .5s;
overflow-x: hidden;
/* The sidebar is by default hidden */
overflow-y: hidden;
}

.source .sidebar > *:not(:first-child) {
transition: opacity 0.5s, visibility 0.2s;
opacity: 0;
visibility: hidden;
}

.source .sidebar.expanded {
overflow-y: auto;
width: 300px !important;
}

.source .sidebar.expanded > * {
opacity: 1;
visibility: visible;
}

/* Improve the scrollbar display on firefox */
Expand Down Expand Up @@ -375,23 +393,15 @@ nav.sub {
}

.logo-container {
height: 100px;
width: 100px;
position: relative;
margin: 20px auto;
display: block;
display: flex;
margin-top: 10px;
margin-bottom: 10px;
justify-content: center;
}

.logo-container > img {
max-width: 100px;
max-height: 100px;
height: 100%;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: block;
height: 100px;
width: 100px;
}

.sidebar .location {
Expand Down Expand Up @@ -1347,19 +1357,18 @@ pre.rust {
}

#sidebar-toggle {
position: fixed;
top: 30px;
left: 300px;
z-index: 10;
padding: 3px;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
position: sticky;
top: 0;
left: 0;
cursor: pointer;
font-weight: bold;
transition: left .5s;
font-size: 1.2em;
border: 1px solid;
border-left: 0;
border-bottom: 1px solid;
display: flex;
height: 40px;
justify-content: center;
align-items: center;
z-index: 10;
}
#source-sidebar {
width: 300px;
Expand Down Expand Up @@ -1700,6 +1709,7 @@ details.rustdoc-toggle[open] > summary.hideme::after {
left: 0;
margin: 0;
z-index: 11;
width: 0;
}

.sidebar.mobile {
Expand All @@ -1726,12 +1736,6 @@ details.rustdoc-toggle[open] > summary.hideme::after {
padding: 0;
}

.rustdoc.source .sidebar .logo-container {
width: 100%;
height: 45px;
margin: 0 auto;
}

.rustdoc:not(.source) .sidebar .logo-container {
width: 35px;
height: 35px;
Expand Down Expand Up @@ -1892,12 +1896,25 @@ details.rustdoc-toggle[open] > summary.hideme::after {
margin: 10px;
}

#sidebar-toggle {
.sidebar.expanded #sidebar-toggle {
font-size: 1.5rem;
}

.sidebar:not(.expanded) #sidebar-toggle {
position: fixed;
left: 1px;
top: 100px;
width: 30px;
font-size: 1.5rem;
text-align: center;
padding: 0;
z-index: 10;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
cursor: pointer;
font-weight: bold;
border: 1px solid;
border-left: 0;
}

#source-sidebar {
Expand Down
25 changes: 9 additions & 16 deletions src/librustdoc/html/static/js/source-script.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,15 +78,13 @@ function createDirEntry(elem, parent, fullPath, currentFile, hasFoundFile) {

function toggleSidebar() {
var sidebar = document.querySelector("nav.sidebar");
var child = this.children[0].children[0];
var child = this.children[0];
if (child.innerText === ">") {
sidebar.style.width = "300px";
this.style.left = "";
sidebar.classList.add("expanded");
child.innerText = "<";
updateLocalStorage("rustdoc-source-sidebar-show", "true");
} else {
sidebar.style.width = "0";
this.style.left = "0";
sidebar.classList.remove("expanded");
child.innerText = ">";
updateLocalStorage("rustdoc-source-sidebar-show", "false");
}
Expand All @@ -97,20 +95,15 @@ function createSidebarToggle() {
sidebarToggle.id = "sidebar-toggle";
sidebarToggle.onclick = toggleSidebar;

var inner1 = document.createElement("div");
inner1.style.position = "relative";
var inner = document.createElement("div");

var inner2 = document.createElement("div");
inner2.style.paddingTop = "3px";
if (getCurrentValue("rustdoc-source-sidebar-show") === "true") {
inner2.innerText = "<";
inner.innerText = "<";
} else {
inner2.innerText = ">";
sidebarToggle.style.left = "0";
inner.innerText = ">";
}

inner1.appendChild(inner2);
sidebarToggle.appendChild(inner1);
sidebarToggle.appendChild(inner);
return sidebarToggle;
}

Expand All @@ -128,9 +121,9 @@ function createSourceSidebar() {
var sidebar = document.createElement("div");
sidebar.id = "source-sidebar";
if (getCurrentValue("rustdoc-source-sidebar-show") !== "true") {
main.style.width = "0px";
main.classList.remove("expanded");
} else {
main.style.width = "300px";
main.classList.add("expanded");
}

var currentFile = getCurrentFilePath();
Expand Down

0 comments on commit dc2c972

Please sign in to comment.