Skip to content

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

Open
@inktomi

Description

@inktomi

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions