minimal-mistakes-jekyll 4.8.1 → 4.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -2
  3. data/LICENSE.txt +1 -1
  4. data/README.md +5 -13
  5. data/_data/ui-text.yml +2 -0
  6. data/_includes/archive-single.html +2 -2
  7. data/_includes/author-profile-custom-links.html +1 -1
  8. data/_includes/author-profile.html +27 -27
  9. data/_includes/category-list.html +1 -1
  10. data/_includes/comments-providers/staticman.html +1 -1
  11. data/_includes/comments-providers/staticman_v2.html +1 -1
  12. data/_includes/comments.html +2 -2
  13. data/_includes/footer.html +6 -6
  14. data/_includes/page__hero.html +2 -2
  15. data/_includes/scripts.html +12 -3
  16. data/_includes/social-share.html +4 -4
  17. data/_includes/tag-list.html +1 -1
  18. data/_includes/toc +1 -1
  19. data/_layouts/default.html +2 -2
  20. data/_layouts/single.html +4 -4
  21. data/_sass/minimal-mistakes.scss +2 -3
  22. data/_sass/minimal-mistakes/_base.scss +0 -2
  23. data/_sass/minimal-mistakes/_footer.scss +7 -5
  24. data/_sass/minimal-mistakes/_sidebar.scss +14 -8
  25. data/_sass/minimal-mistakes/_syntax.scss +275 -245
  26. data/_sass/minimal-mistakes/_utilities.scss +15 -11
  27. data/_sass/minimal-mistakes/_variables.scss +108 -92
  28. data/_sass/minimal-mistakes/skins/_air.scss +2 -2
  29. data/_sass/minimal-mistakes/skins/_contrast.scss +20 -3
  30. data/_sass/minimal-mistakes/skins/_dark.scss +20 -3
  31. data/_sass/minimal-mistakes/skins/_dirt.scss +19 -1
  32. data/_sass/minimal-mistakes/skins/_mint.scss +2 -2
  33. data/_sass/minimal-mistakes/skins/_neon.scss +19 -1
  34. data/_sass/minimal-mistakes/skins/_plum.scss +19 -1
  35. data/_sass/minimal-mistakes/skins/_sunrise.scss +20 -2
  36. data/assets/js/_main.js +21 -0
  37. data/assets/js/{lunr-en.js → lunr/lunr-en.js} +15 -44
  38. data/assets/js/lunr/lunr-gr.js +528 -0
  39. data/assets/js/lunr/lunr-store.js +36 -0
  40. data/assets/js/{lunr.min.js → lunr/lunr.min.js} +0 -0
  41. data/assets/js/main.min.js +6 -6
  42. metadata +6 -24
  43. data/_sass/minimal-mistakes/vendor/font-awesome/_animated.scss +0 -34
  44. data/_sass/minimal-mistakes/vendor/font-awesome/_bordered-pulled.scss +0 -25
  45. data/_sass/minimal-mistakes/vendor/font-awesome/_core.scss +0 -12
  46. data/_sass/minimal-mistakes/vendor/font-awesome/_fixed-width.scss +0 -6
  47. data/_sass/minimal-mistakes/vendor/font-awesome/_font-awesome.scss +0 -18
  48. data/_sass/minimal-mistakes/vendor/font-awesome/_icons.scss +0 -789
  49. data/_sass/minimal-mistakes/vendor/font-awesome/_larger.scss +0 -13
  50. data/_sass/minimal-mistakes/vendor/font-awesome/_list.scss +0 -19
  51. data/_sass/minimal-mistakes/vendor/font-awesome/_mixins.scss +0 -60
  52. data/_sass/minimal-mistakes/vendor/font-awesome/_path.scss +0 -15
  53. data/_sass/minimal-mistakes/vendor/font-awesome/_rotated-flipped.scss +0 -20
  54. data/_sass/minimal-mistakes/vendor/font-awesome/_screen-reader.scss +0 -5
  55. data/_sass/minimal-mistakes/vendor/font-awesome/_stacked.scss +0 -20
  56. data/_sass/minimal-mistakes/vendor/font-awesome/_variables.scss +0 -800
  57. data/assets/fonts/FontAwesome.otf +0 -0
  58. data/assets/fonts/fontawesome-webfont.eot +0 -0
  59. data/assets/fonts/fontawesome-webfont.svg +0 -2671
  60. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  61. data/assets/fonts/fontawesome-webfont.woff +0 -0
  62. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
@@ -18,8 +18,26 @@ $masthead-link-color: $text-color !default;
18
18
  $masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
19
19
  $navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
20
20
 
21
+ /* plum syntax highlighting (base16) */
22
+ $base00: #ffffff !default;
23
+ $base01: #e0e0e0 !default;
24
+ $base02: #d0d0d0 !default;
25
+ $base03: #b0b0b0 !default;
26
+ $base04: #000000 !default;
27
+ $base05: #101010 !default;
28
+ $base06: #151515 !default;
29
+ $base07: #202020 !default;
30
+ $base08: #ff0086 !default;
31
+ $base09: #fd8900 !default;
32
+ $base0a: #aba800 !default;
33
+ $base0b: #00c918 !default;
34
+ $base0c: #1faaaa !default;
35
+ $base0d: #3777e6 !default;
36
+ $base0e: #ad00a1 !default;
37
+ $base0f: #cc6633 !default;
38
+
21
39
  .author__urls.social-icons .fa,
22
- .page__footer-follow .social-icons .fa {
40
+ .page__footer-follow .social-icons .svg-inline--fa {
23
41
  color: inherit;
24
42
  }
25
43
 
@@ -20,7 +20,25 @@ $masthead-link-color: $text-color !default;
20
20
  $masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
21
21
  $navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
22
22
 
23
+ /* sunrise syntax highlighting (base16) */
24
+ $base00: #1d1f21 !default;
25
+ $base01: #282a2e !default;
26
+ $base02: #373b41 !default;
27
+ $base03: #969896 !default;
28
+ $base04: #b4b7b4 !default;
29
+ $base05: #c5c8c6 !default;
30
+ $base06: #e0e0e0 !default;
31
+ $base07: #ffffff !default;
32
+ $base08: #cc6666 !default;
33
+ $base09: #de935f !default;
34
+ $base0a: #f0c674 !default;
35
+ $base0b: #b5bd68 !default;
36
+ $base0c: #8abeb7 !default;
37
+ $base0d: #81a2be !default;
38
+ $base0e: #b294bb !default;
39
+ $base0f: #a3685a !default;
40
+
23
41
  .author__urls.social-icons .fa,
24
- .page__footer-follow .social-icons .fa {
42
+ .page__footer-follow .social-icons .svg-inline--fa {
25
43
  color: inherit;
26
- }
44
+ }
@@ -24,6 +24,27 @@ $(document).ready(function() {
24
24
  // FitVids init
25
25
  $("#main").fitVids();
26
26
 
27
+ // Sticky sidebar
28
+ var stickySideBar = function() {
29
+ var show =
30
+ $(".author__urls-wrapper button").length === 0
31
+ ? $(window).width() > 1024 // width should match $large Sass variable
32
+ : !$(".author__urls-wrapper button").is(":visible");
33
+ if (show) {
34
+ // fix
35
+ $(".sidebar").addClass("sticky");
36
+ } else {
37
+ // unfix
38
+ $(".sidebar").removeClass("sticky");
39
+ }
40
+ };
41
+
42
+ stickySideBar();
43
+
44
+ $(window).resize(function() {
45
+ stickySideBar();
46
+ });
47
+
27
48
  // Follow menu drop down
28
49
  $(".author__urls-wrapper button").on("click", function() {
29
50
  $(".author__urls").toggleClass("is--visible");
@@ -9,58 +9,29 @@ var idx = lunr(function () {
9
9
  this.field('tags')
10
10
  this.ref('id')
11
11
 
12
- {% assign count = 0 %}
13
- {% for c in site.collections %}
14
- {% assign docs = c.docs | where_exp:'doc','doc.search != false' %}
15
- {% for doc in docs %}
16
- this.add({
17
- title: {{ doc.title | jsonify }},
18
- excerpt: {{ doc.content | strip_html | truncatewords: 20 | jsonify }},
19
- categories: {{ doc.categories | jsonify }},
20
- tags: {{ doc.tags | jsonify }},
21
- id: {{ count }}
22
- })
23
- {% assign count = count | plus: 1 %}
24
- {% endfor %}
25
- {% endfor %}
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
+ }
26
23
  });
27
24
 
28
25
  console.log( jQuery.type(idx) );
29
26
 
30
- var store = [
31
- {% for c in site.collections %}
32
- {% if forloop.last %}
33
- {% assign l = true %}
34
- {% endif %}
35
- {% assign docs = c.docs | where_exp:'doc','doc.search != false' %}
36
- {% for doc in docs %}
37
- {% if doc.header.teaser %}
38
- {% capture teaser %}{{ doc.header.teaser }}{% endcapture %}
39
- {% else %}
40
- {% assign teaser = site.teaser %}
41
- {% endif %}
42
- {
43
- "title": {{ doc.title | jsonify }},
44
- "url": {{ doc.url | absolute_url | jsonify }},
45
- "excerpt": {{ doc.content | strip_html | truncatewords: 20 | jsonify }},
46
- "teaser":
47
- {% if teaser contains "://" %}
48
- {{ teaser | jsonify }}
49
- {% else %}
50
- {{ teaser | absolute_url | jsonify }}
51
- {% endif %}
52
- }{% unless forloop.last and l %},{% endunless %}
53
- {% endfor %}
54
- {% endfor %}]
55
-
56
27
  $(document).ready(function() {
57
28
  $('input#search').on('keyup', function () {
58
29
  var resultdiv = $('#results');
59
- var query = $(this).val().toLowerCase().replace(":", "");
30
+ var query = $(this).val().toLowerCase();
60
31
  var result =
61
32
  idx.query(function (q) {
62
33
  query.split(lunr.tokenizer.separator).forEach(function (term) {
63
- q.term(term, { boost: 100 })
34
+ q.term(term, { boost: 100 })
64
35
  if(query.lastIndexOf(" ") != query.length-1){
65
36
  q.term(term, { usePipeline: false, wildcard: lunr.Query.wildcard.TRAILING, boost: 10 })
66
37
  }
@@ -83,7 +54,7 @@ $(document).ready(function() {
83
54
  '<div class="archive__item-teaser">'+
84
55
  '<img src="'+store[ref].teaser+'" alt="">'+
85
56
  '</div>'+
86
- '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt+'</p>'+
57
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
87
58
  '</article>'+
88
59
  '</div>';
89
60
  }
@@ -94,7 +65,7 @@ $(document).ready(function() {
94
65
  '<h2 class="archive__item-title" itemprop="headline">'+
95
66
  '<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+
96
67
  '</h2>'+
97
- '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt+'</p>'+
68
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
98
69
  '</article>'+
99
70
  '</div>';
100
71
  }
@@ -0,0 +1,528 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+
5
+ step1list = new Array();
6
+ step1list["ΦΑΓΙΑ"] = "ΦΑ";
7
+ step1list["ΦΑΓΙΟΥ"] = "ΦΑ";
8
+ step1list["ΦΑΓΙΩΝ"] = "ΦΑ";
9
+ step1list["ΣΚΑΓΙΑ"] = "ΣΚΑ";
10
+ step1list["ΣΚΑΓΙΟΥ"] = "ΣΚΑ";
11
+ step1list["ΣΚΑΓΙΩΝ"] = "ΣΚΑ";
12
+ step1list["ΟΛΟΓΙΟΥ"] = "ΟΛΟ";
13
+ step1list["ΟΛΟΓΙΑ"] = "ΟΛΟ";
14
+ step1list["ΟΛΟΓΙΩΝ"] = "ΟΛΟ";
15
+ step1list["ΣΟΓΙΟΥ"] = "ΣΟ";
16
+ step1list["ΣΟΓΙΑ"] = "ΣΟ";
17
+ step1list["ΣΟΓΙΩΝ"] = "ΣΟ";
18
+ step1list["ΤΑΤΟΓΙΑ"] = "ΤΑΤΟ";
19
+ step1list["ΤΑΤΟΓΙΟΥ"] = "ΤΑΤΟ";
20
+ step1list["ΤΑΤΟΓΙΩΝ"] = "ΤΑΤΟ";
21
+ step1list["ΚΡΕΑΣ"] = "ΚΡΕ";
22
+ step1list["ΚΡΕΑΤΟΣ"] = "ΚΡΕ";
23
+ step1list["ΚΡΕΑΤΑ"] = "ΚΡΕ";
24
+ step1list["ΚΡΕΑΤΩΝ"] = "ΚΡΕ";
25
+ step1list["ΠΕΡΑΣ"] = "ΠΕΡ";
26
+ step1list["ΠΕΡΑΤΟΣ"] = "ΠΕΡ";
27
+ step1list["ΠΕΡΑΤΑ"] = "ΠΕΡ";
28
+ step1list["ΠΕΡΑΤΩΝ"] = "ΠΕΡ";
29
+ step1list["ΤΕΡΑΣ"] = "ΤΕΡ";
30
+ step1list["ΤΕΡΑΤΟΣ"] = "ΤΕΡ";
31
+ step1list["ΤΕΡΑΤΑ"] = "ΤΕΡ";
32
+ step1list["ΤΕΡΑΤΩΝ"] = "ΤΕΡ";
33
+ step1list["ΦΩΣ"] = "ΦΩ";
34
+ step1list["ΦΩΤΟΣ"] = "ΦΩ";
35
+ step1list["ΦΩΤΑ"] = "ΦΩ";
36
+ step1list["ΦΩΤΩΝ"] = "ΦΩ";
37
+ step1list["ΚΑΘΕΣΤΩΣ"] = "ΚΑΘΕΣΤ";
38
+ step1list["ΚΑΘΕΣΤΩΤΟΣ"] = "ΚΑΘΕΣΤ";
39
+ step1list["ΚΑΘΕΣΤΩΤΑ"] = "ΚΑΘΕΣΤ";
40
+ step1list["ΚΑΘΕΣΤΩΤΩΝ"] = "ΚΑΘΕΣΤ";
41
+ step1list["ΓΕΓΟΝΟΣ"] = "ΓΕΓΟΝ";
42
+ step1list["ΓΕΓΟΝΟΤΟΣ"] = "ΓΕΓΟΝ";
43
+ step1list["ΓΕΓΟΝΟΤΑ"] = "ΓΕΓΟΝ";
44
+ step1list["ΓΕΓΟΝΟΤΩΝ"] = "ΓΕΓΟΝ";
45
+
46
+ v = "[ΑΕΗΙΟΥΩ]";
47
+ v2 = "[ΑΕΗΙΟΩ]"
48
+
49
+ function stemWord(w) {
50
+ var stem;
51
+ var suffix;
52
+ var firstch;
53
+ var origword = w;
54
+ test1 = new Boolean(true);
55
+
56
+ if(w.length < 4) {
57
+ return w;
58
+ }
59
+
60
+ var re;
61
+ var re2;
62
+ var re3;
63
+ var re4;
64
+
65
+ re = /(.*)(ΦΑΓΙΑ|ΦΑΓΙΟΥ|ΦΑΓΙΩΝ|ΣΚΑΓΙΑ|ΣΚΑΓΙΟΥ|ΣΚΑΓΙΩΝ|ΟΛΟΓΙΟΥ|ΟΛΟΓΙΑ|ΟΛΟΓΙΩΝ|ΣΟΓΙΟΥ|ΣΟΓΙΑ|ΣΟΓΙΩΝ|ΤΑΤΟΓΙΑ|ΤΑΤΟΓΙΟΥ|ΤΑΤΟΓΙΩΝ|ΚΡΕΑΣ|ΚΡΕΑΤΟΣ|ΚΡΕΑΤΑ|ΚΡΕΑΤΩΝ|ΠΕΡΑΣ|ΠΕΡΑΤΟΣ|ΠΕΡΑΤΑ|ΠΕΡΑΤΩΝ|ΤΕΡΑΣ|ΤΕΡΑΤΟΣ|ΤΕΡΑΤΑ|ΤΕΡΑΤΩΝ|ΦΩΣ|ΦΩΤΟΣ|ΦΩΤΑ|ΦΩΤΩΝ|ΚΑΘΕΣΤΩΣ|ΚΑΘΕΣΤΩΤΟΣ|ΚΑΘΕΣΤΩΤΑ|ΚΑΘΕΣΤΩΤΩΝ|ΓΕΓΟΝΟΣ|ΓΕΓΟΝΟΤΟΣ|ΓΕΓΟΝΟΤΑ|ΓΕΓΟΝΟΤΩΝ)$/;
66
+
67
+ if(re.test(w)) {
68
+ var fp = re.exec(w);
69
+ stem = fp[1];
70
+ suffix = fp[2];
71
+ w = stem + step1list[suffix];
72
+ test1 = false;
73
+ }
74
+
75
+ re = /^(.+?)(ΑΔΕΣ|ΑΔΩΝ)$/;
76
+
77
+ if(re.test(w)) {
78
+ var fp = re.exec(w);
79
+ stem = fp[1];
80
+ w = stem;
81
+
82
+ reg1 = /(ΟΚ|ΜΑΜ|ΜΑΝ|ΜΠΑΜΠ|ΠΑΤΕΡ|ΓΙΑΓΙ|ΝΤΑΝΤ|ΚΥΡ|ΘΕΙ|ΠΕΘΕΡ)$/;
83
+
84
+ if(!(reg1.test(w))) {
85
+ w = w + "ΑΔ";
86
+ }
87
+ }
88
+
89
+ re2 = /^(.+?)(ΕΔΕΣ|ΕΔΩΝ)$/;
90
+
91
+ if(re2.test(w)) {
92
+ var fp = re2.exec(w);
93
+ stem = fp[1];
94
+ w = stem;
95
+
96
+ exept2 = /(ΟΠ|ΙΠ|ΕΜΠ|ΥΠ|ΓΗΠ|ΔΑΠ|ΚΡΑΣΠ|ΜΙΛ)$/;
97
+
98
+ if(exept2.test(w)) {
99
+ w = w + "ΕΔ";
100
+ }
101
+ }
102
+
103
+ re3 = /^(.+?)(ΟΥΔΕΣ|ΟΥΔΩΝ)$/;
104
+
105
+ if(re3.test(w)) {
106
+ var fp = re3.exec(w);
107
+ stem = fp[1];
108
+ w = stem;
109
+
110
+ exept3 = /(ΑΡΚ|ΚΑΛΙΑΚ|ΠΕΤΑΛ|ΛΙΧ|ΠΛΕΞ|ΣΚ|Σ|ΦΛ|ΦΡ|ΒΕΛ|ΛΟΥΛ|ΧΝ|ΣΠ|ΤΡΑΓ|ΦΕ)$/;
111
+
112
+ if(exept3.test(w)) {
113
+ w = w + "ΟΥΔ";
114
+ }
115
+ }
116
+
117
+ re4 = /^(.+?)(ΕΩΣ|ΕΩΝ)$/;
118
+
119
+ if(re4.test(w)) {
120
+ var fp = re4.exec(w);
121
+ stem = fp[1];
122
+ w = stem;
123
+ test1 = false;
124
+
125
+ exept4 = /^(Θ|Δ|ΕΛ|ΓΑΛ|Ν|Π|ΙΔ|ΠΑΡ)$/;
126
+
127
+ if(exept4.test(w)) {
128
+ w = w + "Ε";
129
+ }
130
+ }
131
+
132
+ re = /^(.+?)(ΙΑ|ΙΟΥ|ΙΩΝ)$/;
133
+
134
+ if(re.test(w)) {
135
+ var fp = re.exec(w);
136
+ stem = fp[1];
137
+ w = stem;
138
+ re2 = new RegExp(v + "$");
139
+ test1 = false;
140
+
141
+ if(re2.test(w)) {
142
+ w = stem + "Ι";
143
+ }
144
+ }
145
+
146
+ re = /^(.+?)(ΙΚΑ|ΙΚΟ|ΙΚΟΥ|ΙΚΩΝ)$/;
147
+
148
+ if(re.test(w)) {
149
+ var fp = re.exec(w);
150
+ stem = fp[1];
151
+ w = stem;
152
+ test1 = false;
153
+
154
+ re2 = new RegExp(v + "$");
155
+ exept5 = /^(ΑΛ|ΑΔ|ΕΝΔ|ΑΜΑΝ|ΑΜΜΟΧΑΛ|ΗΘ|ΑΝΗΘ|ΑΝΤΙΔ|ΦΥΣ|ΒΡΩΜ|ΓΕΡ|ΕΞΩΔ|ΚΑΛΠ|ΚΑΛΛΙΝ|ΚΑΤΑΔ|ΜΟΥΛ|ΜΠΑΝ|ΜΠΑΓΙΑΤ|ΜΠΟΛ|ΜΠΟΣ|ΝΙΤ|ΞΙΚ|ΣΥΝΟΜΗΛ|ΠΕΤΣ|ΠΙΤΣ|ΠΙΚΑΝΤ|ΠΛΙΑΤΣ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|ΣΥΝΑΔ|ΤΣΑΜ|ΥΠΟΔ|ΦΙΛΟΝ|ΦΥΛΟΔ|ΧΑΣ)$/;
156
+
157
+ if((exept5.test(w)) || (re2.test(w))) {
158
+ w = w + "ΙΚ";
159
+ }
160
+ }
161
+
162
+ re = /^(.+?)(ΑΜΕ)$/;
163
+ re2 = /^(.+?)(ΑΓΑΜΕ|ΗΣΑΜΕ|ΟΥΣΑΜΕ|ΗΚΑΜΕ|ΗΘΗΚΑΜΕ)$/;
164
+ if(w == "ΑΓΑΜΕ") {
165
+ w = "ΑΓΑΜ";
166
+ }
167
+
168
+ if(re2.test(w)) {
169
+ var fp = re2.exec(w);
170
+ stem = fp[1];
171
+ w = stem;
172
+ test1 = false;
173
+ }
174
+
175
+ if(re.test(w)) {
176
+ var fp = re.exec(w);
177
+ stem = fp[1];
178
+ w = stem;
179
+ test1 = false;
180
+
181
+ exept6 = /^(ΑΝΑΠ|ΑΠΟΘ|ΑΠΟΚ|ΑΠΟΣΤ|ΒΟΥΒ|ΞΕΘ|ΟΥΛ|ΠΕΘ|ΠΙΚΡ|ΠΟΤ|ΣΙΧ|Χ)$/;
182
+
183
+ if(exept6.test(w)) {
184
+ w = w + "ΑΜ";
185
+ }
186
+ }
187
+
188
+ re2 = /^(.+?)(ΑΝΕ)$/;
189
+ re3 = /^(.+?)(ΑΓΑΝΕ|ΗΣΑΝΕ|ΟΥΣΑΝΕ|ΙΟΝΤΑΝΕ|ΙΟΤΑΝΕ|ΙΟΥΝΤΑΝΕ|ΟΝΤΑΝΕ|ΟΤΑΝΕ|ΟΥΝΤΑΝΕ|ΗΚΑΝΕ|ΗΘΗΚΑΝΕ)$/;
190
+
191
+ if(re3.test(w)) {
192
+ var fp = re3.exec(w);
193
+ stem = fp[1];
194
+ w = stem;
195
+ test1 = false;
196
+
197
+ re3 = /^(ΤΡ|ΤΣ)$/;
198
+
199
+ if(re3.test(w)) {
200
+ w = w + "ΑΓΑΝ";
201
+ }
202
+ }
203
+
204
+ if(re2.test(w)) {
205
+ var fp = re2.exec(w);
206
+ stem = fp[1];
207
+ w = stem;
208
+ test1 = false;
209
+
210
+ re2 = new RegExp(v2 + "$");
211
+ exept7 = /^(ΒΕΤΕΡ|ΒΟΥΛΚ|ΒΡΑΧΜ|Γ|ΔΡΑΔΟΥΜ|Θ|ΚΑΛΠΟΥΖ|ΚΑΣΤΕΛ|ΚΟΡΜΟΡ|ΛΑΟΠΛ|ΜΩΑΜΕΘ|Μ|ΜΟΥΣΟΥΛΜ|Ν|ΟΥΛ|Π|ΠΕΛΕΚ|ΠΛ|ΠΟΛΙΣ|ΠΟΡΤΟΛ|ΣΑΡΑΚΑΤΣ|ΣΟΥΛΤ|ΤΣΑΡΛΑΤ|ΟΡΦ|ΤΣΙΓΓ|ΤΣΟΠ|ΦΩΤΟΣΤΕΦ|Χ|ΨΥΧΟΠΛ|ΑΓ|ΟΡΦ|ΓΑΛ|ΓΕΡ|ΔΕΚ|ΔΙΠΛ|ΑΜΕΡΙΚΑΝ|ΟΥΡ|ΠΙΘ|ΠΟΥΡΙΤ|Σ|ΖΩΝΤ|ΙΚ|ΚΑΣΤ|ΚΟΠ|ΛΙΧ|ΛΟΥΘΗΡ|ΜΑΙΝΤ|ΜΕΛ|ΣΙΓ|ΣΠ|ΣΤΕΓ|ΤΡΑΓ|ΤΣΑΓ|Φ|ΕΡ|ΑΔΑΠ|ΑΘΙΓΓ|ΑΜΗΧ|ΑΝΙΚ|ΑΝΟΡΓ|ΑΠΗΓ|ΑΠΙΘ|ΑΤΣΙΓΓ|ΒΑΣ|ΒΑΣΚ|ΒΑΘΥΓΑΛ|ΒΙΟΜΗΧ|ΒΡΑΧΥΚ|ΔΙΑΤ|ΔΙΑΦ|ΕΝΟΡΓ|ΘΥΣ|ΚΑΠΝΟΒΙΟΜΗΧ|ΚΑΤΑΓΑΛ|ΚΛΙΒ|ΚΟΙΛΑΡΦ|ΛΙΒ|ΜΕΓΛΟΒΙΟΜΗΧ|ΜΙΚΡΟΒΙΟΜΗΧ|ΝΤΑΒ|ΞΗΡΟΚΛΙΒ|ΟΛΙΓΟΔΑΜ|ΟΛΟΓΑΛ|ΠΕΝΤΑΡΦ|ΠΕΡΗΦ|ΠΕΡΙΤΡ|ΠΛΑΤ|ΠΟΛΥΔΑΠ|ΠΟΛΥΜΗΧ|ΣΤΕΦ|ΤΑΒ|ΤΕΤ|ΥΠΕΡΗΦ|ΥΠΟΚΟΠ|ΧΑΜΗΛΟΔΑΠ|ΨΗΛΟΤΑΒ)$/;
212
+
213
+ if((re2.test(w)) || (exept7.test(w))) {
214
+ w = w + "ΑΝ";
215
+ }
216
+ }
217
+
218
+ re3 = /^(.+?)(ΕΤΕ)$/;
219
+ re4 = /^(.+?)(ΗΣΕΤΕ)$/;
220
+
221
+ if(re4.test(w)) {
222
+ var fp = re4.exec(w);
223
+ stem = fp[1];
224
+ w = stem;
225
+ test1 = false;
226
+ }
227
+
228
+ if(re3.test(w)) {
229
+ var fp = re3.exec(w);
230
+ stem = fp[1];
231
+ w = stem;
232
+ test1 = false;
233
+
234
+ re3 = new RegExp(v2 + "$");
235
+ exept8 = /(ΟΔ|ΑΙΡ|ΦΟΡ|ΤΑΘ|ΔΙΑΘ|ΣΧ|ΕΝΔ|ΕΥΡ|ΤΙΘ|ΥΠΕΡΘ|ΡΑΘ|ΕΝΘ|ΡΟΘ|ΣΘ|ΠΥΡ|ΑΙΝ|ΣΥΝΔ|ΣΥΝ|ΣΥΝΘ|ΧΩΡ|ΠΟΝ|ΒΡ|ΚΑΘ|ΕΥΘ|ΕΚΘ|ΝΕΤ|ΡΟΝ|ΑΡΚ|ΒΑΡ|ΒΟΛ|ΩΦΕΛ)$/;
236
+ exept9 = /^(ΑΒΑΡ|ΒΕΝ|ΕΝΑΡ|ΑΒΡ|ΑΔ|ΑΘ|ΑΝ|ΑΠΛ|ΒΑΡΟΝ|ΝΤΡ|ΣΚ|ΚΟΠ|ΜΠΟΡ|ΝΙΦ|ΠΑΓ|ΠΑΡΑΚΑΛ|ΣΕΡΠ|ΣΚΕΛ|ΣΥΡΦ|ΤΟΚ|Υ|Δ|ΕΜ|ΘΑΡΡ|Θ)$/;
237
+
238
+ if((re3.test(w)) || (exept8.test(w)) || (exept9.test(w))) {
239
+ w = w + "ΕΤ";
240
+ }
241
+ }
242
+
243
+ re = /^(.+?)(ΟΝΤΑΣ|ΩΝΤΑΣ)$/;
244
+
245
+ if(re.test(w)) {
246
+ var fp = re.exec(w);
247
+ stem = fp[1];
248
+ w = stem;
249
+ test1 = false;
250
+
251
+ exept10 = /^(ΑΡΧ)$/;
252
+ exept11 = /(ΚΡΕ)$/;
253
+ if(exept10.test(w)) {
254
+ w = w + "ΟΝΤ";
255
+ }
256
+ if(exept11.test(w)) {
257
+ w = w + "ΩΝΤ";
258
+ }
259
+ }
260
+
261
+ re = /^(.+?)(ΟΜΑΣΤΕ|ΙΟΜΑΣΤΕ)$/;
262
+
263
+ if(re.test(w)) {
264
+ var fp = re.exec(w);
265
+ stem = fp[1];
266
+ w = stem;
267
+ test1 = false;
268
+
269
+ exept11 = /^(ΟΝ)$/;
270
+
271
+ if(exept11.test(w)) {
272
+ w = w + "ΟΜΑΣΤ";
273
+ }
274
+ }
275
+
276
+ re = /^(.+?)(ΕΣΤΕ)$/;
277
+ re2 = /^(.+?)(ΙΕΣΤΕ)$/;
278
+
279
+ if(re2.test(w)) {
280
+ var fp = re2.exec(w);
281
+ stem = fp[1];
282
+ w = stem;
283
+ test1 = false;
284
+
285
+ re2 = /^(Π|ΑΠ|ΣΥΜΠ|ΑΣΥΜΠ|ΑΚΑΤΑΠ|ΑΜΕΤΑΜΦ)$/;
286
+
287
+ if(re2.test(w)) {
288
+ w = w + "ΙΕΣΤ";
289
+ }
290
+ }
291
+
292
+ if(re.test(w)) {
293
+ var fp = re.exec(w);
294
+ stem = fp[1];
295
+ w = stem;
296
+ test1 = false;
297
+
298
+ exept12 = /^(ΑΛ|ΑΡ|ΕΚΤΕΛ|Ζ|Μ|Ξ|ΠΑΡΑΚΑΛ|ΑΡ|ΠΡΟ|ΝΙΣ)$/;
299
+
300
+ if(exept12.test(w)) {
301
+ w = w + "ΕΣΤ";
302
+ }
303
+ }
304
+
305
+ re = /^(.+?)(ΗΚΑ|ΗΚΕΣ|ΗΚΕ)$/;
306
+ re2 = /^(.+?)(ΗΘΗΚΑ|ΗΘΗΚΕΣ|ΗΘΗΚΕ)$/;
307
+
308
+ if(re2.test(w)) {
309
+ var fp = re2.exec(w);
310
+ stem = fp[1];
311
+ w = stem;
312
+ test1 = false;
313
+ }
314
+
315
+ if(re.test(w)) {
316
+ var fp = re.exec(w);
317
+ stem = fp[1];
318
+ w = stem;
319
+ test1 = false;
320
+
321
+ exept13 = /(ΣΚΩΛ|ΣΚΟΥΛ|ΝΑΡΘ|ΣΦ|ΟΘ|ΠΙΘ)$/;
322
+ exept14 = /^(ΔΙΑΘ|Θ|ΠΑΡΑΚΑΤΑΘ|ΠΡΟΣΘ|ΣΥΝΘ|)$/;
323
+
324
+ if((exept13.test(w)) || (exept14.test(w))) {
325
+ w = w + "ΗΚ";
326
+ }
327
+ }
328
+
329
+ re = /^(.+?)(ΟΥΣΑ|ΟΥΣΕΣ|ΟΥΣΕ)$/;
330
+
331
+ if(re.test(w)) {
332
+ var fp = re.exec(w);
333
+ stem = fp[1];
334
+ w = stem;
335
+ test1 = false;
336
+
337
+ exept15 = /^(ΦΑΡΜΑΚ|ΧΑΔ|ΑΓΚ|ΑΝΑΡΡ|ΒΡΟΜ|ΕΚΛΙΠ|ΛΑΜΠΙΔ|ΛΕΧ|Μ|ΠΑΤ|Ρ|Λ|ΜΕΔ|ΜΕΣΑΖ|ΥΠΟΤΕΙΝ|ΑΜ|ΑΙΘ|ΑΝΗΚ|ΔΕΣΠΟΖ|ΕΝΔΙΑΦΕΡ|ΔΕ|ΔΕΥΤΕΡΕΥ|ΚΑΘΑΡΕΥ|ΠΛΕ|ΤΣΑ)$/;
338
+ exept16 = /(ΠΟΔΑΡ|ΒΛΕΠ|ΠΑΝΤΑΧ|ΦΡΥΔ|ΜΑΝΤΙΛ|ΜΑΛΛ|ΚΥΜΑΤ|ΛΑΧ|ΛΗΓ|ΦΑΓ|ΟΜ|ΠΡΩΤ)$/;
339
+
340
+ if((exept15.test(w)) || (exept16.test(w))) {
341
+ w = w + "ΟΥΣ";
342
+ }
343
+ }
344
+
345
+ re = /^(.+?)(ΑΓΑ|ΑΓΕΣ|ΑΓΕ)$/;
346
+
347
+ if(re.test(w)) {
348
+ var fp = re.exec(w);
349
+ stem = fp[1];
350
+ w = stem;
351
+ test1 = false;
352
+
353
+ exept17 = /^(ΨΟΦ|ΝΑΥΛΟΧ)$/;
354
+ exept20 = /(ΚΟΛΛ)$/;
355
+ exept18 = /^(ΑΒΑΣΤ|ΠΟΛΥΦ|ΑΔΗΦ|ΠΑΜΦ|Ρ|ΑΣΠ|ΑΦ|ΑΜΑΛ|ΑΜΑΛΛΙ|ΑΝΥΣΤ|ΑΠΕΡ|ΑΣΠΑΡ|ΑΧΑΡ|ΔΕΡΒΕΝ|ΔΡΟΣΟΠ|ΞΕΦ|ΝΕΟΠ|ΝΟΜΟΤ|ΟΛΟΠ|ΟΜΟΤ|ΠΡΟΣΤ|ΠΡΟΣΩΠΟΠ|ΣΥΜΠ|ΣΥΝΤ|Τ|ΥΠΟΤ|ΧΑΡ|ΑΕΙΠ|ΑΙΜΟΣΤ|ΑΝΥΠ|ΑΠΟΤ|ΑΡΤΙΠ|ΔΙΑΤ|ΕΝ|ΕΠΙΤ|ΚΡΟΚΑΛΟΠ|ΣΙΔΗΡΟΠ|Λ|ΝΑΥ|ΟΥΛΑΜ|ΟΥΡ|Π|ΤΡ|Μ)$/;
356
+ exept19 = /(ΟΦ|ΠΕΛ|ΧΟΡΤ|ΛΛ|ΣΦ|ΡΠ|ΦΡ|ΠΡ|ΛΟΧ|ΣΜΗΝ)$/;
357
+
358
+ if(((exept18.test(w)) || (exept19.test(w))) && !((exept17.test(w)) || (exept20.test(w)))) {
359
+ w = w + "ΑΓ";
360
+ }
361
+ }
362
+
363
+ re = /^(.+?)(ΗΣΕ|ΗΣΟΥ|ΗΣΑ)$/;
364
+
365
+ if(re.test(w)) {
366
+ var fp = re.exec(w);
367
+ stem = fp[1];
368
+ w = stem;
369
+ test1 = false;
370
+
371
+ exept21 = /^(Ν|ΧΕΡΣΟΝ|ΔΩΔΕΚΑΝ|ΕΡΗΜΟΝ|ΜΕΓΑΛΟΝ|ΕΠΤΑΝ)$/;
372
+
373
+ if(exept21.test(w)) {
374
+ w = w + "ΗΣ";
375
+ }
376
+ }
377
+
378
+ re = /^(.+?)(ΗΣΤΕ)$/;
379
+
380
+ if(re.test(w)) {
381
+ var fp = re.exec(w);
382
+ stem = fp[1];
383
+ w = stem;
384
+ test1 = false;
385
+
386
+ exept22 = /^(ΑΣΒ|ΣΒ|ΑΧΡ|ΧΡ|ΑΠΛ|ΑΕΙΜΝ|ΔΥΣΧΡ|ΕΥΧΡ|ΚΟΙΝΟΧΡ|ΠΑΛΙΜΨ)$/;
387
+
388
+ if(exept22.test(w)) {
389
+ w = w + "ΗΣΤ";
390
+ }
391
+ }
392
+
393
+ re = /^(.+?)(ΟΥΝΕ|ΗΣΟΥΝΕ|ΗΘΟΥΝΕ)$/;
394
+
395
+ if(re.test(w)) {
396
+ var fp = re.exec(w);
397
+ stem = fp[1];
398
+ w = stem;
399
+ test1 = false;
400
+
401
+ exept23 = /^(Ν|Ρ|ΣΠΙ|ΣΤΡΑΒΟΜΟΥΤΣ|ΚΑΚΟΜΟΥΤΣ|ΕΞΩΝ)$/;
402
+
403
+ if(exept23.test(w)) {
404
+ w = w + "ΟΥΝ";
405
+ }
406
+ }
407
+
408
+ re = /^(.+?)(ΟΥΜΕ|ΗΣΟΥΜΕ|ΗΘΟΥΜΕ)$/;
409
+
410
+ if(re.test(w)) {
411
+ var fp = re.exec(w);
412
+ stem = fp[1];
413
+ w = stem;
414
+ test1 = false;
415
+
416
+ exept24 = /^(ΠΑΡΑΣΟΥΣ|Φ|Χ|ΩΡΙΟΠΛ|ΑΖ|ΑΛΛΟΣΟΥΣ|ΑΣΟΥΣ)$/;
417
+
418
+ if(exept24.test(w)) {
419
+ w = w + "ΟΥΜ";
420
+ }
421
+ }
422
+
423
+ re = /^(.+?)(ΜΑΤΑ|ΜΑΤΩΝ|ΜΑΤΟΣ)$/;
424
+ re2 = /^(.+?)(Α|ΑΓΑΤΕ|ΑΓΑΝ|ΑΕΙ|ΑΜΑΙ|ΑΝ|ΑΣ|ΑΣΑΙ|ΑΤΑΙ|ΑΩ|Ε|ΕΙ|ΕΙΣ|ΕΙΤΕ|ΕΣΑΙ|ΕΣ|ΕΤΑΙ|Ι|ΙΕΜΑΙ|ΙΕΜΑΣΤΕ|ΙΕΤΑΙ|ΙΕΣΑΙ|ΙΕΣΑΣΤΕ|ΙΟΜΑΣΤΑΝ|ΙΟΜΟΥΝ|ΙΟΜΟΥΝΑ|ΙΟΝΤΑΝ|ΙΟΝΤΟΥΣΑΝ|ΙΟΣΑΣΤΑΝ|ΙΟΣΑΣΤΕ|ΙΟΣΟΥΝ|ΙΟΣΟΥΝΑ|ΙΟΤΑΝ|ΙΟΥΜΑ|ΙΟΥΜΑΣΤΕ|ΙΟΥΝΤΑΙ|ΙΟΥΝΤΑΝ|Η|ΗΔΕΣ|ΗΔΩΝ|ΗΘΕΙ|ΗΘΕΙΣ|ΗΘΕΙΤΕ|ΗΘΗΚΑΤΕ|ΗΘΗΚΑΝ|ΗΘΟΥΝ|ΗΘΩ|ΗΚΑΤΕ|ΗΚΑΝ|ΗΣ|ΗΣΑΝ|ΗΣΑΤΕ|ΗΣΕΙ|ΗΣΕΣ|ΗΣΟΥΝ|ΗΣΩ|Ο|ΟΙ|ΟΜΑΙ|ΟΜΑΣΤΑΝ|ΟΜΟΥΝ|ΟΜΟΥΝΑ|ΟΝΤΑΙ|ΟΝΤΑΝ|ΟΝΤΟΥΣΑΝ|ΟΣ|ΟΣΑΣΤΑΝ|ΟΣΑΣΤΕ|ΟΣΟΥΝ|ΟΣΟΥΝΑ|ΟΤΑΝ|ΟΥ|ΟΥΜΑΙ|ΟΥΜΑΣΤΕ|ΟΥΝ|ΟΥΝΤΑΙ|ΟΥΝΤΑΝ|ΟΥΣ|ΟΥΣΑΝ|ΟΥΣΑΤΕ|Υ|ΥΣ|Ω|ΩΝ)$/;
425
+
426
+ if(re.test(w)) {
427
+ var fp = re.exec(w);
428
+ stem = fp[1];
429
+ w = stem + "ΜΑ";
430
+ }
431
+
432
+ if((re2.test(w)) && (test1)) {
433
+ var fp = re2.exec(w);
434
+ stem = fp[1];
435
+ w = stem;
436
+
437
+ }
438
+
439
+ re = /^(.+?)(ΕΣΤΕΡ|ΕΣΤΑΤ|ΟΤΕΡ|ΟΤΑΤ|ΥΤΕΡ|ΥΤΑΤ|ΩΤΕΡ|ΩΤΑΤ)$/;
440
+
441
+ if(re.test(w)) {
442
+ var fp = re.exec(w);
443
+ stem = fp[1];
444
+ w = stem;
445
+ }
446
+
447
+ return w;
448
+ };
449
+
450
+ var greekStemmer = function (token) {
451
+ return token.update(function (word) {
452
+ return stemWord(word);
453
+ })
454
+ }
455
+
456
+ var idx = lunr(function () {
457
+ this.field('title')
458
+ this.field('excerpt')
459
+ this.field('categories')
460
+ this.field('tags')
461
+ this.ref('id')
462
+
463
+ this.pipeline.remove(lunr.trimmer)
464
+ this.pipeline.add(greekStemmer)
465
+ this.pipeline.remove(lunr.stemmer)
466
+
467
+ for (var item in store) {
468
+ this.add({
469
+ title: store[item].title,
470
+ excerpt: store[item].excerpt,
471
+ categories: store[item].categories,
472
+ tags: store[item].tags,
473
+ id: item
474
+ })
475
+ }
476
+ });
477
+
478
+ console.log( jQuery.type(idx) );
479
+
480
+ $(document).ready(function() {
481
+ $('input#search').on('keyup', function () {
482
+ var resultdiv = $('#results');
483
+ var query = $(this).val().toLowerCase();
484
+ var result =
485
+ idx.query(function (q) {
486
+ query.split(lunr.tokenizer.separator).forEach(function (term) {
487
+ q.term(term, { boost: 100 })
488
+ if(query.lastIndexOf(" ") != query.length-1){
489
+ q.term(term, { usePipeline: false, wildcard: lunr.Query.wildcard.TRAILING, boost: 10 })
490
+ }
491
+ if (term != ""){
492
+ q.term(term, { usePipeline: false, editDistance: 1, boost: 1 })
493
+ }
494
+ })
495
+ });
496
+ resultdiv.empty();
497
+ resultdiv.prepend('<p class="results__found">'+result.length+' {{ site.data.ui-text[site.locale].results_found | default: "Result(s) found" }}</p>');
498
+ for (var item in result) {
499
+ var ref = result[item].ref;
500
+ if(store[ref].teaser){
501
+ var searchitem =
502
+ '<div class="list__item">'+
503
+ '<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">'+
504
+ '<h2 class="archive__item-title" itemprop="headline">'+
505
+ '<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+
506
+ '</h2>'+
507
+ '<div class="archive__item-teaser">'+
508
+ '<img src="'+store[ref].teaser+'" alt="">'+
509
+ '</div>'+
510
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
511
+ '</article>'+
512
+ '</div>';
513
+ }
514
+ else{
515
+ var searchitem =
516
+ '<div class="list__item">'+
517
+ '<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">'+
518
+ '<h2 class="archive__item-title" itemprop="headline">'+
519
+ '<a href="'+store[ref].url+'" rel="permalink">'+store[ref].title+'</a>'+
520
+ '</h2>'+
521
+ '<p class="archive__item-excerpt" itemprop="description">'+store[ref].excerpt.split(" ").splice(0,20).join(" ")+'...</p>'+
522
+ '</article>'+
523
+ '</div>';
524
+ }
525
+ resultdiv.append(searchitem);
526
+ }
527
+ });
528
+ });