summaryrefslogtreecommitdiff
path: root/assets/js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js')
-rw-r--r--assets/js/search.js53
1 files changed, 28 insertions, 25 deletions
diff --git a/assets/js/search.js b/assets/js/search.js
index 8584810..68f56ff 100644
--- a/assets/js/search.js
+++ b/assets/js/search.js
@@ -1,31 +1,34 @@
---
---
-// data
-var pages = [
-{% for post in site.posts %}
- {
- "id": "{{ post.url | slufigy }}",
- "title": {{ post.title | jsonify }},
- "content": {{ post.content | strip_html | jsonify }},
- "url": "{{ post.url | xml_escape }}"
- }
- {% unless forloop.last %},{% endunless %}
-{% endfor %}
-];
+const do_search = function() {
+ // data
+ var pages = [
+ {% for post in site.posts %}
+ {
+ "id": "{{ post.url | slufigy }}",
+ "title": {{ post.title | jsonify }},
+ "content": {{ post.content | strip_html | jsonify }},
+ "url": "{{ post.url | xml_escape }}"
+ }
+ {% unless forloop.last %},{% endunless %}
+ {% endfor %}
+ ];
-// index
-var idx = lunr(function () {
- this.ref('url');
- this.field('title');
- this.field('content');
- pages.forEach(function (doc) {
- this.add(doc);
- }, this);
-});
+ // index
+ const idx = lunr(function () {
+ this.ref('url');
+ this.field('title');
+ this.field('content');
+ pages.forEach(function (doc) {
+ this.add(doc);
+ }, this);
+ });
+ function do_search(queryterm) {
+ const result = idx.search(queryterm);
+ return result.map(r => pages.find((p) => p.id === r.ref));
+ }
-function do_search(queryterm) {
- const result = idx.search(queryterm);
- return result.map(r => pages.find((p) => p.id === r.ref));
-}
+ return do_search;
+}();