zed/docs/theme/page-toc.css
Danilo Leal af24967195
docs: Add table of contents navigation (#15212)
To ease navigating on pages that are long and having a birds-eye view of
all the available content.

This is done client-side and done via the files initially generated by
the `mdbook-pagetoc` plugin ([crates.io link
here](https://crates.io/crates/mdbook-pagetoc)).

<img width="600" alt="Screenshot 2024-07-25 at 13 34 08"
src="https://github.com/user-attachments/assets/a78c69e5-8cc4-4414-9d9c-27a4ceb27620">

---

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
2024-07-27 10:34:14 -04:00

80 lines
1.7 KiB
CSS

@media only screen and (max-width: 1674px) {
.sidetoc {
display: none;
}
}
@media only screen and (min-width: 1675px) {
main {
position: relative;
}
.sidetoc {
margin-left: auto;
margin-right: auto;
left: calc(100% + (var(--content-max-width)) / 3 - 160px);
position: absolute;
}
.pagetoc {
position: fixed;
top: 64px;
width: 220px;
height: calc(100vh - var(--menu-bar-height) - 0.67em * 4);
padding-top: 80px;
margin-right: 16px;
padding-bottom: 40px;
overflow: auto;
}
.pagetoc > :last-child {
margin-bottom: 64px;
}
.pagetoc a {
width: fit-content;
font-size: 1.4rem;
border-left: 1px solid var(--sidebar-bg);
color: var(--fg) !important;
display: block;
padding: 2px;
margin: 8px 0 8px 12px;
text-align: left;
text-decoration: underline;
text-decoration-color: hsl(0, 0%, 0%, 0.1);
}
.pagetoc a:hover {
text-decoration-color: hsl(0, 0%, 0%, 0.5);
}
.pagetoc a.active {
background-color: var(--sidebar-active-bg);
color: var(--sidebar-active) !important;
text-decoration-color: hsl(219, 93%, 42%, 0.1);
}
.pagetoc a.active:hover {
text-decoration-color: hsl(219, 93%, 42%, 0.8);
}
.pagetoc .active {
background: var(--sidebar-bg);
color: var(--sidebar-fg);
}
.pagetoc .pagetoc-H1 {
display: none;
}
.pagetoc .pagetoc-H3 {
margin-left: 24px;
}
.pagetoc .pagetoc-H4 {
margin-left: 42px;
}
.pagetoc .pagetoc-H5 {
display: none;
}
.pagetoc .pagetoc-H6 {
display: none;
}
.toc-title {
margin: 0;
margin-bottom: 12px;
padding-left: 12px;
font-size: 1.4rem;
color: #000;
}
}