Sha256: 5ee0995601dfcaf30998172e43a8c16f01d4f8bc7ce55a63d347c01e802e5510

Contents?: true

Size: 1.98 KB

Versions: 72

Compression:

Stored size: 1.98 KB

Contents

<div id="search-searchbar"></div>
<div id="search-hits"></div>
<div id="search-pagination"></div>

<script src="{{ site.baseurl }}/assets/js/instantsearch.min.js"></script>
<script src="{{ site.baseurl }}/assets/js/moment.min.js"></script>
<script>
  const search = instantsearch({
    appId: '{{ site.algolia.application_id }}',
    apiKey: '{{ site.algolia.search_only_api_key }}',
    indexName: '{{ site.algolia.index_name }}'
  });

  const hitTemplate = function(hit) {
    let date = '';
    if (hit.date) {
      date = moment.unix(hit.date).format('MMM D, YYYY');
    }

    let url = `{{ site.baseurl }}${hit.url}`;
    let url_detail = `{{ site.baseurl }}${hit.url}#${hit.anchor}`;

    const title = hit._highlightResult.title.value;

    let breadcrumbs = '';
    if (hit._highlightResult.headings) {
      breadcrumbs = hit._highlightResult.headings.map(match => {
        return `<span class="post-breadcrumb">${match.value}</span>`
      }).join(' > ')
    }

    let content = "";

    if (hit.html) {
      content = hit.html;
    }

    if (hit._highlightResult.html) {
      content = hit._highlightResult.html.value;
    }

    return `
      <ul>
        <li><a class="post-link" href="${url}">${title}</a> {{#breadcrumbs}}<a href="${url_detail}" class="post-breadcrumbs">${breadcrumbs}</a>{{/breadcrumbs}} ${content}</li>
      </ul>
    `;
  }

  search.addWidget(
    instantsearch.widgets.searchBox({
      container: '#search-searchbar',
      autofocus: true,
      placeholder: 'Search...',
      poweredBy: true // This is required if you're on the free Community plan
    })
  );

  search.addWidget(
    instantsearch.widgets.hits({
      container: '#search-hits',
      templates: {
        item: hitTemplate
      }
    })
  );

  search.addWidget(
    instantsearch.widgets.configure({
      hitsPerPage: 5,
      enablePersonalization: true,
    })
  );

  search.addWidget(
    instantsearch.widgets.pagination({
      container: '#search-pagination',
    })
  );

  search.start();
</script>

Version data entries

72 entries across 72 versions & 1 rubygems

Version Path
jekyll-theme-centos-2.3.0.beta.88 _includes/search.html
jekyll-theme-centos-2.3.0.beta.87 _includes/search.html
jekyll-theme-centos-2.3.0.beta.86 _includes/search.html
jekyll-theme-centos-2.3.0.beta.85 _includes/search.html
jekyll-theme-centos-2.3.0.beta.84 _includes/search.html
jekyll-theme-centos-2.3.0.beta.83 _includes/search.html
jekyll-theme-centos-2.3.0.beta.82 _includes/search.html
jekyll-theme-centos-2.3.0.beta.81 _includes/search.html
jekyll-theme-centos-2.3.0.beta.80 _includes/search.html
jekyll-theme-centos-2.3.0.beta.78 _includes/search.html
jekyll-theme-centos-2.3.0.beta.77 _includes/search.html
jekyll-theme-centos-2.3.0.beta.76 _includes/search.html
jekyll-theme-centos-2.3.0.beta.75 _includes/search.html
jekyll-theme-centos-2.3.0.beta.74 _includes/search.html
jekyll-theme-centos-2.3.0.beta.73 _includes/search.html
jekyll-theme-centos-2.3.0.beta.72 _includes/search.html
jekyll-theme-centos-2.3.0.beta.71 _includes/search.html
jekyll-theme-centos-2.3.0.beta.70 _includes/search.html
jekyll-theme-centos-2.3.0.beta.69 _includes/search.html
jekyll-theme-centos-2.3.0.beta.68 _includes/search.html