feat(widgets): wire PostsNavs TOC shell to page-template scrollspy

Match built-in single sidebar .posts-nav-box.toc-widget/.toc-list so the
sidebar widget is filled (≥3 headings), supports multiple TOC shells, and
removes empty chrome.
This commit is contained in:
2026-07-21 08:03:25 +08:00
parent 5ab935f015
commit c0b7cb504b
3 changed files with 108 additions and 25 deletions
@@ -364,6 +364,10 @@ html.dark .article-end-separator span {
color: var(--color-primary);
}
.toc-list .toc-h1 a {
font-weight: 700;
}
.toc-list .toc-h3 a {
padding-left: 12px;
}
@@ -372,6 +376,30 @@ html.dark .article-end-separator span {
padding-left: 24px;
}
/* WidgetPostsNavs + built-in shell share .posts-nav-box.toc-widget */
.widget .posts-nav-box.toc-widget,
.widget_aksrt_posts_navs .posts-nav-box.toc-widget {
margin: 0;
box-shadow: none;
background: transparent;
padding: 0;
border-radius: 0;
}
.widget .posts-nav-box.toc-widget > h3,
.widget .posts-nav-box.toc-widget .toc-widget__title,
.widget_aksrt_posts_navs .posts-nav-box.toc-widget > h3 {
margin: 0 0 10px;
font-size: 15px;
font-weight: 700;
}
body.single .sidebar .posts-nav-box.toc-widget.is-affix,
body.single .sidebar .posts-nav-box.toc-widget[data-affix="true"] {
position: sticky;
top: calc(var(--nav-height, 60px) + 16px);
}
.toc-float-btn {
position: fixed;
right: 18px;