function lunr_search()

in src/assets/js/main.js [1098:1159]


    function lunr_search(query) {
      var result = [];
      try {
        result = idx.search(query);
      } catch (e) {
        console.error('Search Error: ' + e.message);
      }
      var num = result.length && query != '' ? result.length : 0;
      var query_output =
        num + ' ' + $container.data('message') + ' "' + query + '"';
      var $title = $('<h2 class="no-underline"></h2>');

      data.then(function (loaded_data) {
        // Show results
        $container.empty();

        // Add status
        $title.text(query_output);
        $container.prepend($title);

        if (num != 0) {
          var $list = $('<ol></ol>');

          // Loop through, match, and add results
          for (var item in result) {
            var ref = result[item].ref;
            var item = loaded_data.entries[ref];
            var topic =
              item.meta && item.meta.topic
                ? '<p class="post-meta"><small>' +
                  item.meta.topic +
                  '</small></p>'
                : '';
            var excerpt =
              $.trim(item.body)
                .substring(0, 300)
                .split(' ')
                .slice(0, -1)
                .join(' ') + '...';
            var searchitem =
              '<li class="result"><a href="' +
              item.url +
              '">' +
              topic +
              '<h3>' +
              item.title +
              '</h3><p>' +
              excerpt +
              '</p><p><small>' +
              item.url +
              '</small></p></a></li>';

            $list.append(searchitem);
          }

          $default.hide(0);
          $container.append($list);
        } else {
          $default.show(0);
        }
      });
    }