Merge TOC into page content

This commit is contained in:
2026-08-23 13:38:45 +02:00
parent dddacf9262
commit a0b4f49915
6 changed files with 20 additions and 41 deletions
+1 -1
View File
@@ -66,4 +66,4 @@
<script src="/_/page/sidebar-fab.js"></script>
{{end}}
{{define "sidebar"}}{{if .SidebarWidget}}{{.SidebarWidget}}{{end}}{{end}}
{{define "aside"}}{{if .SidebarWidget}}<aside class="sidebar">{{.SidebarWidget}}</aside>{{end}}{{end}}
-5
View File
@@ -1,8 +1,3 @@
// Mobile: the right-rail FAB is stacked ABOVE the tree FAB and opens the right
// rail (TOC + page widgets) in the full-viewport Overlay (overlay.js). It only
// appears when the rail actually has content — runs after toc.js has had a
// chance to populate the rail (script order in page/main.html), so an
// otherwise-empty rail shows no FAB. Hidden on desktop by .fab CSS.
document.addEventListener("DOMContentLoaded", function () {
var aside = document.querySelector("aside.sidebar");
if (!aside || !aside.children.length) return;
+2 -4
View File
@@ -6,7 +6,7 @@ document.addEventListener("DOMContentLoaded", function () {
if (headings.length < 2) return;
var nav = document.createElement("nav");
nav.className = "toc panel panel-sidebar";
nav.className = "toc panel";
var header = document.createElement("div");
header.className = "panel-header";
@@ -28,7 +28,5 @@ document.addEventListener("DOMContentLoaded", function () {
});
nav.appendChild(list);
// Stack the TOC on top of any server-rendered widget(s) already in the rail.
var rail = document.querySelector("aside.sidebar");
rail.insertBefore(nav, rail.firstChild);
content.insertBefore(nav, content.firstChild);
});