aboutsummaryrefslogtreecommitdiff
path: root/docs/_book/gitbook/gitbook-plugin-search/search-engine.js
diff options
context:
space:
mode:
authorJakob Stendahl <jakob.stendahl@outlook.com>2018-11-29 23:14:58 +0100
committerJakob Stendahl <jakob.stendahl@outlook.com>2018-11-29 23:14:58 +0100
commit101745c6a4a2c6a186be48182d48814177840c65 (patch)
treeee7c7420291473033cf7cd9f921fe21958bf571f /docs/_book/gitbook/gitbook-plugin-search/search-engine.js
parent2147880e40ee39ae07c8df9d3500080da467475d (diff)
downloadLuxcena-Neo-101745c6a4a2c6a186be48182d48814177840c65.tar.gz
Luxcena-Neo-101745c6a4a2c6a186be48182d48814177840c65.zip
:construction: Chenged things, and written some docs
Diffstat (limited to 'docs/_book/gitbook/gitbook-plugin-search/search-engine.js')
-rw-r--r--docs/_book/gitbook/gitbook-plugin-search/search-engine.js50
1 files changed, 50 insertions, 0 deletions
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