PageSourceSearch

https://uthpalaherath.com/assets/js/lunr/lunr-en.js

js uthpalaherath.com collected 2026-10-04 02:24:39 UTC 2,493 bytes, 69 lines download raw bytes

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

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.