docsify icon indicating copy to clipboard operation
docsify copied to clipboard

Allow search index starting points for additional sidebar files in nested folders

Open inktomi opened this issue 2 years ago • 1 comments

Feature request

What problem does this feature solve?

Search in Docsify works by indexing the top level sidebar content. This is fine, but as a set of documentation grows there will likely be folders added, and the sidebar continues to grow. In order to limit the growth of the sidebar, we can use nested _sidebar.md files in subfolders - problem solved.

If you then check the search index via inspecting your browser's local storage, you don't see any of the content from nested _sidebar.md files until you manually navigate to them. This is because Docsify is not loading these, which is expected behavior.

The search plugin allows an auto mode, or you can manually list the path to every file in your documentation and they'll all be indexed. For large documentation sites this is not workable.

What does the proposed API look like?

It would be great if we had a new configuration option for search, where we could index sidebarPaths (or similar). These would not need to be indexed directly, but would be used as starting points for the index since they do contain links to everything accessible in that folder.

search : {
  paths: 'auto',
  sidebarPaths : [
    '/folder'
    '/team-guidelines'
  ]
}

How should this be implemented in your opinion?

With the above config, while still working in "auto" mode, instead of only looking at /_sidebar.md search would additionally look at /folder/_sidebar.md and /team-guidelines/_sidebar.md.

This should honor loadSidebar if configured, so that people can call their sidebar whatever they like but still search it.

Are you willing to work on this yourself?

Yes, but I'm not a very experienced Javascript developer so I'm likely not the best fit.

inktomi avatar Feb 08 '22 18:02 inktomi

This sounds like a good idea. Missing search results are a bummer.

trusktr avatar Feb 09 '22 00:02 trusktr