Sha256: d933581aed6df54b5f47e33a83925c511857e17ef85c91f029c52def1246c8c1
Contents?: true
Size: 1.87 KB
Versions: 1
Compression:
Stored size: 1.87 KB
Contents
--- --- DEFAULT = "{{ site.default_thumb }}"; // Methods and jQuery UI for Wax search box function excerptedString(str) { str = str || ''; // handle null > string if (str.length < 40) { return str; } else { return `${str.substring(0, 40)} ...`; } } function getThumbnail(item, url) { if (item.thumbnail) { return `<img class='sq-thumb-sm' src='${url}${item.thumbnail}'/> ` } else { return `<img class='sq-thumb-sm' src='${url}${DEFAULT}'/> ` } } function displayResult(item, fields, url) { var pid = item.pid; var label = item.label || 'Untitled'; var link = item.permalink.toLowerCase(); var thumb = getThumbnail(item, url); var meta = [] for (i in fields) { fieldLabel = fields[i]; if (fieldLabel in item ) { meta.push(`<b>${fieldLabel}:</b> ${excerptedString(item[fieldLabel])}`); } } return `<div class="result"><a href="${url}${link}">${thumb}<p><span class="title">${item.label}</span><br><span class="meta">${meta.join(' | ')}</span></p></a></div>`; } function startSearchUI(fields, indexFile, url) { $.getJSON(indexFile, function(store) { var index = new elasticlunr.Index; index.saveDocument(false); index.setRef('lunr_id'); for (i in fields) { index.addField(fields[i]); } for (i in store) { index.addDoc(store[i]); } $('input#search').on('keyup', function() { var results_div = $('#results'); var query = $(this).val(); var results = index.search(query, { boolean: 'AND', expand: true }); results_div.empty(); results_div.append(`<p class="results-info">Displaying ${results.length} results</p>`); for (var r in results) { var ref = results[r].ref; var item = store[ref]; var result = displayResult(item, fields, url); results_div.append(result); } }); }); }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wax_theme-1.1.0 | assets/search-ui.js |