|
| 1 | +--- |
| 2 | +layout: none |
| 3 | +--- |
| 4 | + |
| 5 | +var idx = lunr(function () { |
| 6 | + this.field('title') |
| 7 | + this.field('excerpt') |
| 8 | + this.field('categories') |
| 9 | + this.field('tags') |
| 10 | + this.ref('id') |
| 11 | + |
| 12 | + this.pipeline.remove(lunr.trimmer) |
| 13 | + |
| 14 | + for (var item in store) { |
| 15 | + this.add({ |
| 16 | + title: store[item].title, |
| 17 | + excerpt: store[item].excerpt, |
| 18 | + categories: store[item].categories, |
| 19 | + tags: store[item].tags, |
| 20 | + id: item |
| 21 | + }) |
| 22 | + } |
| 23 | +}); |
| 24 | + |
| 25 | +$(document).ready(function() { |
| 26 | + $('input#search').on('keyup', function () { |
| 27 | + var resultdiv = $('#results'); |
| 28 | + var query = $(this).val().toLowerCase(); |
| 29 | + var result = |
| 30 | + idx.query(function (q) { |
| 31 | + query.split(lunr.tokenizer.separator).forEach(function (term) { |
| 32 | + q.term(term, { boost: 100 }) |
| 33 | + if(query.lastIndexOf(" ") != query.length-1){ |
| 34 | + q.term(term, { usePipeline: false, wildcard: lunr.Query.wildcard.TRAILING, boost: 10 }) |
| 35 | + } |
| 36 | + if (term != ""){ |
| 37 | + q.term(term, { usePipeline: false, editDistance: 1, boost: 1 }) |
| 38 | + } |
| 39 | + }) |
| 40 | + }); |
| 41 | + resultdiv.empty(); |
| 42 | + resultdiv.prepend('<p class="results__found">'+result.length+' {{ site.data.ui-text[site.locale].results_found | default: "Result(s) found" }}</p>'); |
| 43 | + for (var item in result) { |
| 44 | + var ref = result[item].ref; |
| 45 | + if(store[ref].teaser){ |
| 46 | + var searchitem = |
| 47 | + '<div class="list__item">'+ |
| 48 | + '<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">'+ |
| 49 | + '<h2 class="archive__item-title" itemprop="headline">'+ |
| 50 | + '<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+ |
| 51 | + '</h2>'+ |
| 52 | + '<div class="archive__item-teaser">'+ |
| 53 | + '<img src="'+store[ref].teaser+'" alt="">'+ |
| 54 | + '</div>'+ |
| 55 | + '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+ |
| 56 | + '</article>'+ |
| 57 | + '</div>'; |
| 58 | + } |
| 59 | + else{ |
| 60 | + var searchitem = |
| 61 | + '<div class="list__item">'+ |
| 62 | + '<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">'+ |
| 63 | + '<h2 class="archive__item-title" itemprop="headline">'+ |
| 64 | + '<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+ |
| 65 | + '</h2>'+ |
| 66 | + '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+ |
| 67 | + '</article>'+ |
| 68 | + '</div>'; |
| 69 | + } |
| 70 | + resultdiv.append(searchitem); |
| 71 | + } |
| 72 | + }); |
| 73 | +}); |
0 commit comments