summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-plugin-search/README.md
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-12-22 10:18:38 +0100
committerGitHub <noreply@github.com>2016-12-22 10:18:38 +0100
commit194ebc3da9641ff96f083f9d8ab43c2d27944f9a (patch)
treec50988f32ccf18df93ae7ab40be78e9459642818 /packages/gitbook-plugin-search/README.md
parent64ccb6b00b4b63fa0e516d4e35351275b34f8c07 (diff)
parent16af264360e48e8a833e9efa9ab8d194574dbc70 (diff)
downloadgitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.zip
gitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.tar.gz
gitbook-194ebc3da9641ff96f083f9d8ab43c2d27944f9a.tar.bz2
Merge pull request #1543 from GitbookIO/dream
React for rendering website with plugins
Diffstat (limited to 'packages/gitbook-plugin-search/README.md')
-rw-r--r--packages/gitbook-plugin-search/README.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/packages/gitbook-plugin-search/README.md b/packages/gitbook-plugin-search/README.md
new file mode 100644
index 0000000..f667e4c
--- /dev/null
+++ b/packages/gitbook-plugin-search/README.md
@@ -0,0 +1,41 @@
+# plugin-search
+
+This plugin is the interface used by all the search plugins (`plugin-lunr`, `plugin-algolia`, etc.)
+
+## Registering a Search handler
+
+Your plugin must register as a Search handler during its `activate` method:
+
+
+``` js
+GitBook.createPlugin({
+ activate: (dispatch, getState, { Search }) => {
+ dispatch(Search.registerHandler('my-plugin-name', searchHandler));
+ },
+ reduce
+})
+
+/**
+ * Search against a query
+ * @param {String} query
+ * @return {Promise<List<Result>>}
+ */
+function searchHandler(query, dispatch, getState) {
+ ...
+}
+```
+
+Your search handler must return a List of result-shaped objects. A result object has the following shape:
+
+``` js
+result = {
+ title: string, // The title of the resource, as displayed in the list of results.
+
+ url: string, // The URL to access the matched resource.
+
+ body: string // (optional) The context of the matched text (can be a sentence
+ // containing matching words). It will be displayed near the result.
+}
+```
+
+