feat(nav): add anchor TOC in sidebar for toc-enabled pages

- Pass extracted anchors through template context
- Render anchor links under active page when page.toc is true
- Hierarchical indentation by heading level (h2-h6)
- CSS styling: smaller font, muted color, border-left indicator
- Add toc: true to templates.md as example
This commit is contained in:
Timothy DeHerrera
2026-02-01 09:37:01 -07:00
parent a59b8ff2ab
commit dcc98dccef
5 changed files with 76 additions and 6 deletions

39
docs/static/style.css vendored
View File

@@ -111,6 +111,45 @@ body {
font-size: 0.9rem;
}
/* Anchor navigation (TOC in sidebar) */
.sidebar .nav-anchors {
margin-left: 1rem;
padding-left: 0.5rem;
border-left: 1px solid var(--border);
display: flex;
flex-direction: column;
gap: 0.125rem;
margin-top: 0.25rem;
margin-bottom: 0.25rem;
}
.sidebar .nav-anchors .anchor-link {
font-size: 0.8rem;
color: var(--fg-muted);
padding: 0.125rem 0;
}
.sidebar .nav-anchors .anchor-link:hover {
color: var(--accent);
}
/* Indent anchors by heading level */
.sidebar .nav-anchors .level-3 {
margin-left: 0.5rem;
}
.sidebar .nav-anchors .level-4 {
margin-left: 1rem;
}
.sidebar .nav-anchors .level-5 {
margin-left: 1.5rem;
}
.sidebar .nav-anchors .level-6 {
margin-left: 2rem;
}
.sidebar-footer {
margin-top: auto;
padding-top: 1rem;