M _config.yml => _config.yml +2 -1
@@ 8,7 8,7 @@
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
# Site Settings
-locale : "en"
+locale : "en-US"
title : "Site Title"
title_separator : "-"
name : "Your Name"
@@ 52,6 52,7 @@ reCaptcha:
atom_feed:
path : # blank (default) uses feed.xml
search : # true, false (default)
+search_full_content : # true, false (default)
# SEO Related
google_site_verification :
M _includes/scripts.html => _includes/scripts.html +3 -2
@@ 20,8 20,9 @@
{% else %}
{% assign lang = "en" %}
{% endcase %}
- <script src="{{ '/assets/js/lunr.min.js' | absolute_url }}"></script>
- <script src="{{ '/assets/js/lunr-' | append: lang | append: '.js' | absolute_url }}"></script>
+ <script defer src="{{ '/assets/js/lunr/lunr.min.js' | absolute_url }}"></script>
+ <script defer src="{{ '/assets/js/lunr/lunr-store.js' | absolute_url }}"></script>
+ <script defer src="{{ '/assets/js/lunr/lunr-' | append: lang | append: '.js' | absolute_url }}"></script>
{% endif %}
{% include analytics.html %}
R assets/js/lunr-en.js => assets/js/lunr/lunr-en.js +12 -43
@@ 11,50 11,19 @@ var idx = lunr(function () {
this.pipeline.remove(lunr.trimmer)
- {% assign count = 0 %}
- {% for c in site.collections %}
- {% assign docs = c.docs | where_exp:'doc','doc.search != false' %}
- {% for doc in docs %}
- this.add({
- title: {{ doc.title | jsonify }},
- excerpt: {{ doc.content | strip_html | truncatewords: 20 | jsonify }},
- categories: {{ doc.categories | jsonify }},
- tags: {{ doc.tags | jsonify }},
- id: {{ count }}
- })
- {% assign count = count | plus: 1 %}
- {% endfor %}
- {% endfor %}
+ 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
+ })
+ }
});
console.log( jQuery.type(idx) );
-var store = [
- {% for c in site.collections %}
- {% if forloop.last %}
- {% assign l = true %}
- {% endif %}
- {% assign docs = c.docs | where_exp:'doc','doc.search != false' %}
- {% for doc in docs %}
- {% if doc.header.teaser %}
- {% capture teaser %}{{ doc.header.teaser }}{% endcapture %}
- {% else %}
- {% assign teaser = site.teaser %}
- {% endif %}
- {
- "title": {{ doc.title | jsonify }},
- "url": {{ doc.url | absolute_url | jsonify }},
- "excerpt": {{ doc.content | strip_html | truncatewords: 20 | jsonify }},
- "teaser":
- {% if teaser contains "://" %}
- {{ teaser | jsonify }}
- {% else %}
- {{ teaser | absolute_url | jsonify }}
- {% endif %}
- }{% unless forloop.last and l %},{% endunless %}
- {% endfor %}
- {% endfor %}]
-
$(document).ready(function() {
$('input#search').on('keyup', function () {
var resultdiv = $('#results');
@@ 62,7 31,7 @@ $(document).ready(function() {
var result =
idx.query(function (q) {
query.split(lunr.tokenizer.separator).forEach(function (term) {
- q.term(term, { boost: 100 })
+ q.term(term, { boost: 100 })
if(query.lastIndexOf(" ") != query.length-1){
q.term(term, { usePipeline: false, wildcard: lunr.Query.wildcard.TRAILING, boost: 10 })
}
@@ 85,7 54,7 @@ $(document).ready(function() {
'<div class="archive__item-teaser">'+
'<img src="'+store[ref].teaser+'" alt="">'+
'</div>'+
- '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt+'</p>'+
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
'</article>'+
'</div>';
}
@@ 96,7 65,7 @@ $(document).ready(function() {
'<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+'</p>'+
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
'</article>'+
'</div>';
}
R assets/js/lunr-gr.js => assets/js/lunr/lunr-gr.js +11 -42
@@ 464,50 464,19 @@ var idx = lunr(function () {
this.pipeline.add(greekStemmer)
this.pipeline.remove(lunr.stemmer)
- {% assign count = 0 %}
- {% for c in site.collections %}
- {% assign docs = c.docs | where_exp:'doc','doc.search != false' %}
- {% for doc in docs %}
- this.add({
- title: {{ doc.title | jsonify }},
- excerpt: {{ doc.content | strip_html | truncatewords: 20 | jsonify }},
- categories: {{ doc.categories | jsonify }},
- tags: {{ doc.tags | jsonify }},
- id: {{ count }}
- })
- {% assign count = count | plus: 1 %}
- {% endfor %}
- {% endfor %}
+ 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
+ })
+ }
});
console.log( jQuery.type(idx) );
-var store = [
- {% for c in site.collections %}
- {% if forloop.last %}
- {% assign l = true %}
- {% endif %}
- {% assign docs = c.docs | where_exp:'doc','doc.search != false' %}
- {% for doc in docs %}
- {% if doc.header.teaser %}
- {% capture teaser %}{{ doc.header.teaser }}{% endcapture %}
- {% else %}
- {% assign teaser = site.teaser %}
- {% endif %}
- {
- "title": {{ doc.title | jsonify }},
- "url": {{ doc.url | absolute_url | jsonify }},
- "excerpt": {{ doc.content | strip_html | truncatewords: 20 | jsonify }},
- "teaser":
- {% if teaser contains "://" %}
- {{ teaser | jsonify }}
- {% else %}
- {{ teaser | absolute_url | jsonify }}
- {% endif %}
- }{% unless forloop.last and l %},{% endunless %}
- {% endfor %}
- {% endfor %}]
-
$(document).ready(function() {
$('input#search').on('keyup', function () {
var resultdiv = $('#results');
@@ 538,7 507,7 @@ $(document).ready(function() {
'<div class="archive__item-teaser">'+
'<img src="'+store[ref].teaser+'" alt="">'+
'</div>'+
- '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt+'</p>'+
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
'</article>'+
'</div>';
}
@@ 549,7 518,7 @@ $(document).ready(function() {
'<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+'</p>'+
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
'</article>'+
'</div>';
}
A assets/js/lunr/lunr-store.js => assets/js/lunr/lunr-store.js +36 -0
@@ 0,0 1,36 @@
+---
+layout: null
+---
+
+var store = [
+ {% for c in site.collections %}
+ {% if forloop.last %}
+ {% assign l = true %}
+ {% endif %}
+ {% assign docs = c.docs | where_exp:'doc','doc.search != false' %}
+ {% for doc in docs %}
+ {% if doc.header.teaser %}
+ {% capture teaser %}{{ doc.header.teaser }}{% endcapture %}
+ {% else %}
+ {% assign teaser = site.teaser %}
+ {% endif %}
+ {
+ "title": {{ doc.title | jsonify }},
+ "excerpt":
+ {% if site.search_full_content == true %}
+ {{ doc.content | strip_html | strip_newlines | jsonify }},
+ {% else %}
+ {{ doc.content | strip_html | strip_newlines | truncatewords: 50 | jsonify }},
+ {% endif %}
+ "categories": {{ doc.categories | jsonify }},
+ "tags": {{ doc.tags | jsonify }},
+ "url": {{ doc.url | absolute_url | jsonify }},
+ "teaser":
+ {% if teaser contains "://" %}
+ {{ teaser | jsonify }}
+ {% else %}
+ {{ teaser | absolute_url | jsonify }}
+ {% endif %}
+ }{% unless forloop.last and l %},{% endunless %}
+ {% endfor %}
+ {% endfor %}]
R assets/js/lunr.min.js => assets/js/lunr/lunr.min.js +0 -0