Next-Generation full text search library for Vuepress
A great replacement of the default Vuepress search plugin.
yarn add -D vuepress-plugin-flexsearch
// or npm install vuepress-plugin-flexsearch -D
Use the default settings:
// .vuepress/config.js
module.exports = {
plugins: [
['flexsearch'],
// other plugins
]
}
Or modify the settings to match your needs:
// .vuepress/config.js
module.exports = {
plugins: [
['flexsearch', {
/*
Plugin custom options
*/
maxSuggestions: 10, // how many search suggestions to show on the menu, the default is 10.
searchPaths: ['path1', 'path2'], // an array of paths to search in, keep it null to search all docs.
searchHotkeys: ['s'], // Hot keys to activate the search input, the default is "s" but you can add more.
searchResultLength: 60, // the length of the suggestion result text by characters, the default is 60 characters.
splitHighlightedWords: ' ', // regex or string to split highlighted words by, keep it null to use flexsearch.split
noExtraSpaceAfterHtmlTag: false, // don't add extra spaces in highlighted results
/*
Default FlexSearch options
To override the default options you can see available options at https://github.com/nextapps-de/flexsearch
*/
search_options: {
encode: "icase",
tokenize: "forward",
resolution: 9,
doc: {
id: "key",
field: ["title", "content", "headers"],
}
}
}],
// other plugins
]
}
Thanks to nextapps-de/flexsearch
PRs are welcome ❤️