From 101745c6a4a2c6a186be48182d48814177840c65 Mon Sep 17 00:00:00 2001 From: Jakob Stendahl Date: Thu, 29 Nov 2018 23:14:58 +0100 Subject: :construction: Chenged things, and written some docs --- .../gitbook/gitbook-plugin-search/search-engine.js | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 docs/_book/gitbook/gitbook-plugin-search/search-engine.js (limited to 'docs/_book/gitbook/gitbook-plugin-search/search-engine.js') diff --git a/docs/_book/gitbook/gitbook-plugin-search/search-engine.js b/docs/_book/gitbook/gitbook-plugin-search/search-engine.js new file mode 100644 index 0000000..5088346 --- /dev/null +++ b/docs/_book/gitbook/gitbook-plugin-search/search-engine.js @@ -0,0 +1,50 @@ +require([ + 'gitbook', + 'jquery' +], function(gitbook, $) { + // Global search objects + var engine = null; + var initialized = false; + + // Set a new search engine + function setEngine(Engine, config) { + initialized = false; + engine = new Engine(config); + + init(config); + } + + // Initialize search engine with config + function init(config) { + if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).'); + + return engine.init(config) + .then(function() { + initialized = true; + gitbook.events.trigger('search.ready'); + }); + } + + // Launch search for query q + function query(q, offset, length) { + if (!initialized) throw new Error('Search has not been initialized'); + return engine.search(q, offset, length); + } + + // Get stats about search + function getEngine() { + return engine? engine.name : null; + } + + function isInitialized() { + return initialized; + } + + // Initialize gitbook.search + gitbook.search = { + setEngine: setEngine, + getEngine: getEngine, + query: query, + isInitialized: isInitialized + }; +}); \ No newline at end of file -- cgit v1.2.3