This adds dynamic navigation of headers of the current page in the sidebar. This is intended to help the user see what is on the current page, and to be able to more easily navigate it. The "current" header is tracked based on the scrolling behavior of the user, and is marked with a small circle. This includes automatic folding to help keep it from being too unwieldy on a page with a lot of nested headers. This includes the `output.html.sidebar-header-nav` option to disable it. I'm sure there are tweaks, fixes, and improvements that can be made. I'd like to get this out now, and iterate on it over time to make improvements.
15 lines
501 B
Text
15 lines
501 B
Text
// When there is a large intro, there shouldn't be any "current" headers until
|
|
// you scroll down and make it visible on screen.
|
|
|
|
set-window-size: (1400, 800)
|
|
go-to: |DOC_PATH| + "headings/large-intro.html"
|
|
assert-count: (".header-item", 2)
|
|
assert-count: (".current-header", 0)
|
|
|
|
scroll-to: "#first-header"
|
|
wait-for-count: (".current-header", 1)
|
|
assert-text: (".current-header", "First header")
|
|
|
|
// Scrolling back to the top should set it to 0.
|
|
scroll-to: (0, 0)
|
|
wait-for-count: (".current-header", 0)
|