Notebook | bookshelf
Like mkdocs search, but across multiple sites.
Find multiple mkdocs sites, and want to search something, but don't want to search them one by one? Notebookshelf is here to help you. It can index multiple mkdocs sites, and provide a unified search interface for you to search across all the indexed sites.
- Clone the repository.
- Configure which sites you want to index in
bookshelfdirectory. Each site should have asearch_index.jsonfile, which is generated by mkdocs with thesearchplugin.
Usually if the site has a search box, it should have the search_index.json file by adding /search/search_index.json to the site URL. For example, if the site URL is https://example.com/docs/, then the search index file should be at https://example.com/docs/search/search_index.json.
cp config.example.yml config.ymlThen edit config.yml to add the paths to the search_index.json files of the sites you want to index.
- Then you can run Notebookshelf with Docker:
docker compose build
docker compose up- Open
http://localhost:8787in your browser, and you will see the search interface.
For frontend:
cd frontend
npm install
npm run dev # for development
npm run build && cp -r dist/* ../bookshelf/public/ # for productionFor backend:
cd backend
npm install
npm run server