Skip to content

Commit daf55ea

Browse files
authored
feat: add the hb.docs.navs_sticky_scroll parameter, default to true (#811)
1 parent 16441fc commit daf55ea

File tree

4 files changed

+42
-1
lines changed

4 files changed

+42
-1
lines changed

assets/hb/modules/docs/js/nav.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,17 @@
2424

2525
active(link)
2626
document.addEventListener('DOMContentLoaded', () => {
27-
document.querySelector('.hb-docs-nav')?.scrollTo(0, link.offsetTop)
27+
const nav = document.querySelector('.hb-docs-nav')
28+
nav?.scrollTo(0, link.offsetTop / 2)
29+
30+
document.querySelectorAll('.hb-docs-nav-links-group .collapse').forEach((el) => {
31+
el.addEventListener('hide.bs.collapse', event => {
32+
if (event.target !== el) {
33+
return
34+
}
35+
36+
nav?.scrollTo(0, el.offsetTop / 2)
37+
}, false)
38+
})
2839
})
2940
})()

assets/hb/modules/docs/scss/_nav.scss

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
.hb-docs-nav-heading {
2+
@if ($hb-docs-navs-sticky-scroll) {
3+
@include media-breakpoint-up(xl) {
4+
position: sticky;
5+
top: 0;
6+
background: var(--#{$prefix}tertiary-bg);
7+
z-index: 5;
8+
}
9+
}
10+
211
a {
312
color: inherit;
413
text-decoration: none;
@@ -33,3 +42,22 @@
3342
}
3443
}
3544
}
45+
46+
@mixin hb-docs-nav-heading-top($level, $levels, $height) {
47+
.hb-docs-nav-links-group {
48+
.hb-docs-nav-heading {
49+
z-index: $levels - $level;
50+
top: $level * $height;
51+
}
52+
53+
@if ($level <= $levels) {
54+
@include hb-docs-nav-heading-top($level + 1, $levels, $height);
55+
}
56+
}
57+
}
58+
59+
@if ($hb-docs-navs-sticky-scroll) {
60+
.hb-docs-nav-links-group {
61+
@include hb-docs-nav-heading-top(1, 5, 2.075rem);
62+
}
63+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
$hb-docs-navs-sticky-scroll: {{ default true site.Params.hb.docs.navs_sticky_scroll }};

hugo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ cache_key = "page.Type"
1515
[params.hb.docs]
1616
date_format = ":date_long"
1717
navs_reduce_font_size = false
18+
navs_sticky_scroll = true
1819

1920
# Takes the full width by default.
2021
[params.hb.full_width_types.docs]

0 commit comments

Comments
 (0)