Docsify does not scroll to the clicked sidebar link content if the link was the last sidebar link clicked.
I believe the expectation is that docsify would scroll back to the section clicked.
Perhaps removing the hash from the URL, then updating it with the section hash would provide a quick fix?
I think you are talking about this 馃悰 https://github.com/QingWei-Li/docsify/issues/422, aren't you?
The two issues are closely related, but the descriptions of how to proceed are different.
I believe the fix for this issue is straightforward: when a user clicks a link in the sidebar, always scroll that content into view at the top of the viewport--even if it's the active link / URL. If a user clicks a sidebar link, then waits for the content to scroll into view, then scrolls 10 pixels, clicking the same sidebar link should scroll the content back 10px to the initial scroll position. That's it.
For #422, I agree that the sidebar should always reflect the current scroll position of the page: as the user scrolls, the active link in the sidebar should be highlighted in all scenarios. I do not , however, think the URL should be updated as the page is scrolled. Instead, the URL should be updated only when a user-initiated navigation action has occurred (i.e. clicking a sidebar link).
+1 to this.
I can manual fix it creating links with full parameters in href value.
For example, if my first heading in a sample.md page is "01. Introduction", I could achieve page change and reset scroll position with this link:
[My Link](/sample.md?id=_01-introduction)
But it could be perfect that changing section always reset scroll position to the top, is natural behaviour when changing the main content.
A colateral issue with this approach appears when I attempt to replicate this behaviour on sidebar.md links, I get wrong subnavigation rendering (subnavigation is attached under main navigation item that is not the selected one).
I think this has been fixed in develop.
Most helpful comment
The two issues are closely related, but the descriptions of how to proceed are different.
I believe the fix for this issue is straightforward: when a user clicks a link in the sidebar, always scroll that content into view at the top of the viewport--even if it's the active link / URL. If a user clicks a sidebar link, then waits for the content to scroll into view, then scrolls 10 pixels, clicking the same sidebar link should scroll the content back 10px to the initial scroll position. That's it.
For #422, I agree that the sidebar should always reflect the current scroll position of the page: as the user scrolls, the active link in the sidebar should be highlighted in all scenarios. I do not , however, think the URL should be updated as the page is scrolled. Instead, the URL should be updated only when a user-initiated navigation action has occurred (i.e. clicking a sidebar link).