rustdoc: rework source sidebar
This commit is contained in:
parent
501b3d2b1f
commit
dc2c972334
2 changed files with 57 additions and 47 deletions
|
|
@ -334,7 +334,7 @@ nav.sub {
|
|||
}
|
||||
|
||||
.source .sidebar {
|
||||
width: 0px;
|
||||
width: 50px;
|
||||
min-width: 0px;
|
||||
max-width: 300px;
|
||||
flex-grow: 0;
|
||||
|
|
@ -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 */
|
||||
|
|
@ -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 {
|
||||
|
|
@ -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;
|
||||
|
|
@ -1700,6 +1709,7 @@ details.rustdoc-toggle[open] > summary.hideme::after {
|
|||
left: 0;
|
||||
margin: 0;
|
||||
z-index: 11;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.sidebar.mobile {
|
||||
|
|
@ -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;
|
||||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue