You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Better sidebar markup: distinguish content with and without sub sections. #1181
Improvement of markup so that we know if a menu item will have sub-menu items.
What problem does this feature solve?
Currently, Docsify assumes that every top-level menu item must have sub-content, so therefore docsify-themeable styles the meny items with the open/close icons. There's no way for docsify-themeable to know if a menu item should not be open/close-able.
What does the proposed API look like?
Somehow, the markup should convey whether the menu items will be collapsible or not. This would perhaps add classes in the markup.
How should this be implemented in your opinion?
There's no way for the client-side engine to know ahead of time whether a page will have sub-sections, or not.
Perhaps the only way to do this currently, would be to provide a configuration option, like
Or maybe, we can expand on the sidebar markdown parser to detect a certain syntax (like Docsify does with other links) to tell it which ones are not collapsible:
And this is currently what it looks like (work in progress):
The items under Examples are all non-collapsible, so I'd like to remove the collapse icons from those. They are the docsify-themeable icons (@jhildenbiddle).
Instead of specifying the collapsable yes/no, perhaps we should allow people to specify the number of sub levels a menu link should display (similar to the subMaxLevel, but that is a global setting for all sidebar links). Setting something like :sub-level=0 would be the equivalent and setting :no-collapse, while setting it a number greater than 0 would limit the sub levels rendered when the sidebar section is expanded to that number.
Hmm, actually that's not working for me, [Foo](./foo.md ':class=remove-chevron') results in an <a> tag with no class="" applied to it in both the sidebar and main content area.
EDIT, I tried it even with Docsify's example, , but even that doesn't work.
changed the title [-]Better markup: distinguish content with and without sub sections.[/-][+]Better sidebar markup: distinguish content with and without sub sections.[/+]on May 18, 2020
I like the :sub-level option as this can give more details.
Hmm, actually that's not working for me, [Foo](./foo.md ':class=remove-chevron') results in an <a> tag with no class="" applied to it in both the sidebar and main content area.
I think this feature is not available for sidebars,
I think this feature is not available for sidebars,
True, as most features operate on the content area only. However with this particular feature, I tried it in my markdown pages, and also could not get it to work there. It might be a bug.
Sidenote, I'm cleaning up my branch; I will separate the changes into separate PRs for eaasier discussion, then go from there (finally!).
Activity
jhildenbiddle commentedon May 17, 2020
Makes sense.
Instead of specifying the collapsable yes/no, perhaps we should allow people to specify the number of sub levels a menu link should display (similar to the subMaxLevel, but that is a global setting for all sidebar links). Setting something like
:sub-level=0would be the equivalent and setting:no-collapse, while setting it a number greater than0would limit the sub levels rendered when the sidebar section is expanded to that number.trusktr commentedon May 18, 2020
Yeah, I think some sort of helper would make sense, especially since Docsify currently can't tell.
For now, I may be able to workaround the issue by setting a class , like
[Foo](./foo.md ':class=remove-chevron'). I'm gonna give this a shot.trusktr commentedon May 18, 2020
Hmm, actually that's not working for me,
[Foo](./foo.md ':class=remove-chevron')results in an<a>tag with noclass=""applied to it in both the sidebar and main content area.EDIT, I tried it even with Docsify's example,
, but even that doesn't work.I'm think this is a regression.
[-]Better markup: distinguish content with and without sub sections.[/-][+]Better sidebar markup: distinguish content with and without sub sections.[/+]anikethsaha commentedon May 18, 2020
I like the
:sub-leveloption as this can give more details.I think this feature is not available for sidebars,
@trusktr this will be for v5 right ?
trusktr commentedon May 20, 2020
True, as most features operate on the content area only. However with this particular feature, I tried it in my markdown pages, and also could not get it to work there. It might be a bug.
Sidenote, I'm cleaning up my branch; I will separate the changes into separate PRs for eaasier discussion, then go from there (finally!).
vagra commentedon May 27, 2020
see my demo site:
https://kepan.org/alpha/#/kepan/
is it you want?
source code:
https://github.com/vagra/docsify/tree/sidebar
it has other features such as:
+/-button to expand/collopse item;if you only want
the markup should convey whether the menu items will be collapsible or not, it's simple.vagra commentedon May 27, 2020
I write
has-childrenclass forliin tpl.js:vagra commentedon May 27, 2020
hello.
I make some changes for sidebar item:
#1200
but it only change icons and add expand/collpse function for app-sub-sidebar, not for sidebar-nav.
jhildenbiddle commentedon Jul 19, 2024
This issue has been addressed by PR #2469. The changes will be available when Docsify v5 is released.