docsify icon indicating copy to clipboard operation
docsify copied to clipboard

Allow hooks to work for Sidenav

Open CxRes opened this issue 5 years ago • 4 comments

Feature request

Allow hooks to work for Sidenav (and perhaps Navbar)

What problem does this feature solve?

I have a need where sidebar data is being generated (outside of my control) in a format different from that specified for './_sidebar.md'. With hooks enabled I can modify the sidebar information to the format Docsify wants.

What does the proposed API look like?

No changes to the API

How should this be implemented in your opinion?

Add beforeEach and AfterEach hooks to proto._renderSidebar when invoking proto.renderTo in the same pattern as proto._renderMain in 'src/render/index.js'. Though I am not sure since I cannot claim to fully understand the code.

Are you willing to work on this yourself?

Only if a maintainer will discuss proposed changes in code and verify my changes! Last thing I want to do is upload a poor PR that breaks things!!!

CxRes avatar Aug 04 '20 05:08 CxRes

Thanks for the idea! I thought this could be helpful too. We're working in testing infra now, and we'll circle back to the good ideas after that's in place and Docsify is tested enough.

trusktr avatar Aug 04 '20 16:08 trusktr

@trusktr Is there an ETA for when test infra would be complete?

CxRes avatar Aug 10 '20 06:08 CxRes

Are you looking for something similar to https://github.com/docsifyjs/docsify/issues/1230 https://github.com/docsifyjs/docsify/issues/1229 ?

anikethsaha avatar Aug 17 '20 14:08 anikethsaha

Yeah, those issues are similar. I think perhaps, to make this a non-breaking change, we can introduce these hooks for sidebar: sidebarBeforeEach, sidebarAfterEach, sidebarDoneEach. And for navbar we can add: navbarBeforeEach, navbarAfterEach, navbarDoneEach. Or similar.

@trusktr Is there an ETA for when test infra would be complete?

@jhildenbiddle made some great progress with the test infra recently. We'll be getting this merged soon.

trusktr avatar Aug 17 '20 19:08 trusktr