aboutsummaryrefslogtreecommitdiff
path: root/assets/js/lunr/lunr-en.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/lunr/lunr-en.js')
-rw-r--r--assets/js/lunr/lunr-en.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/assets/js/lunr/lunr-en.js b/assets/js/lunr/lunr-en.js
new file mode 100644
index 0000000..5a5814f
--- /dev/null
+++ b/assets/js/lunr/lunr-en.js
@@ -0,0 +1,73 @@
+---
+layout: null
+---
+
+var idx = lunr(function () {
+ this.field('title')
+ this.field('excerpt')
+ this.field('categories')
+ this.field('tags')
+ this.ref('id')
+
+ this.pipeline.remove(lunr.trimmer)
+
+ for (var item in store) {
+ this.add({
+ title: store[item].title,
+ excerpt: store[item].excerpt,
+ categories: store[item].categories,
+ tags: store[item].tags,
+ id: item
+ })
+ }
+});
+
+$(document).ready(function() {
+ $('input#search').on('keyup', function () {
+ var resultdiv = $('#results');
+ var query = $(this).val().toLowerCase();
+ var result =
+ idx.query(function (q) {
+ query.split(lunr.tokenizer.separator).forEach(function (term) {
+ q.term(term, { boost: 100 })
+ if(query.lastIndexOf(" ") != query.length-1){
+ q.term(term, { usePipeline: false, wildcard: lunr.Query.wildcard.TRAILING, boost: 10 })
+ }
+ if (term != ""){
+ q.term(term, { usePipeline: false, editDistance: 1, boost: 1 })
+ }
+ })
+ });
+ resultdiv.empty();
+ resultdiv.prepend('<p class="results__found">'+result.length+' {{ site.data.ui-text[site.locale].results_found | default: "Result(s) found" }}</p>');
+ for (var item in result) {
+ var ref = result[item].ref;
+ if(store[ref].teaser){
+ var searchitem =
+ '<div class="list__item">'+
+ '<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">'+
+ '<h2 class="archive__item-title" itemprop="headline">'+
+ '<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+
+ '</h2>'+
+ '<div class="archive__item-teaser">'+
+ '<img src="'+store[ref].teaser+'" alt="">'+
+ '</div>'+
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
+ '</article>'+
+ '</div>';
+ }
+ else{
+ var searchitem =
+ '<div class="list__item">'+
+ '<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">'+
+ '<h2 class="archive__item-title" itemprop="headline">'+
+ '<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+
+ '</h2>'+
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
+ '</article>'+
+ '</div>';
+ }
+ resultdiv.append(searchitem);
+ }
+ });
+});