docsifyjs / docsifyjs/docsify

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

Open
#1,749 1 comment 2 reactions 0 assignees View on GitHub
enhancement needs discussion
Dominant language
JavaScript
Stars
31.5k
Forks
5.8k
Avg merge
9d 8h
Merged PRs (30d)
2

Description

## 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.