2017-06-08 14:24:29 -04:00
|
|
|
namespace :search do
|
2017-06-09 09:43:20 -04:00
|
|
|
desc 'Generate the files needed for search functionality'
|
2017-06-08 14:24:29 -04:00
|
|
|
task :init do
|
2017-06-09 09:43:20 -04:00
|
|
|
puts 'Creating search data json file...'
|
2017-06-09 09:46:09 -04:00
|
|
|
touch 'search-data.json'
|
2017-06-04 17:49:20 -04:00
|
|
|
|
2017-06-08 14:24:29 -04:00
|
|
|
File.open('search-data.json', 'w') do |f|
|
2017-06-09 10:58:35 -04:00
|
|
|
f.puts '---
|
|
|
|
---
|
|
|
|
{
|
|
|
|
{% for page in site.html_pages %}"{{ forloop.index0 }}": {
|
|
|
|
"id": "{{ forloop.index0 }}",
|
|
|
|
"title": "{{ page.title | xml_escape }}",
|
2017-06-09 11:09:55 -04:00
|
|
|
"content": "{{ page.content | markdownify | strip_html | xml_escape | remove: \'Table of contents\' | remove: page.title | strip_newlines | replace: \'\\', \' \'}}",
|
2017-06-09 10:58:35 -04:00
|
|
|
"url": "{{ page.url | xml_escape }}"
|
|
|
|
}{% if forloop.last %}{% else %},
|
|
|
|
{% endif %}{% endfor %}
|
|
|
|
}'
|
2017-06-08 14:24:29 -04:00
|
|
|
end
|
2017-06-04 17:49:20 -04:00
|
|
|
end
|
2017-06-08 09:43:33 -04:00
|
|
|
end
|