Sha256: f5c482c155f619152557926aa8eeb3d4c044192e95782fe32631cacee45ab609
Contents?: true
Size: 1.58 KB
Versions: 12
Compression:
Stored size: 1.58 KB
Contents
require([ 'gitbook', 'jquery' ], function(gitbook, $) { // Define global search engine function LunrSearchEngine() { this.index = null; this.store = {}; this.name = 'LunrSearchEngine'; } // Initialize lunr by fetching the search index LunrSearchEngine.prototype.init = function() { var that = this; var d = $.Deferred(); $.getJSON(gitbook.state.basePath+'/search_index.json') .then(function(data) { // eslint-disable-next-line no-undef that.index = lunr.Index.load(data.index); that.store = data.store; d.resolve(); }); return d.promise(); }; // Search for a term and return results LunrSearchEngine.prototype.search = function(q, offset, length) { var that = this; var results = []; if (this.index) { results = $.map(this.index.search(q), function(result) { var doc = that.store[result.ref]; return { title: doc.title, url: doc.url, body: doc.summary || doc.body }; }); } return $.Deferred().resolve({ query: q, results: results.slice(0, length), count: results.length }).promise(); }; // Set gitbook research gitbook.events.bind('start', function(e, config) { var engine = gitbook.search.getEngine(); if (!engine) { gitbook.search.setEngine(LunrSearchEngine, config); } }); });
Version data entries
12 entries across 12 versions & 1 rubygems