notes/lib/tasks/search.rake

26 lines
753 B
Ruby
Raw Normal View History

2017-06-08 18:24:29 +00:00
namespace :search do
2017-06-09 13:43:20 +00:00
desc 'Generate the files needed for search functionality'
2017-06-08 18:24:29 +00:00
task :init do
2017-06-09 13:43:20 +00:00
puts 'Creating search data json file...'
2018-10-23 16:51:11 +00:00
touch 'assets/js/search-data.json'
2017-06-12 22:45:25 +00:00
content = %Q[{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | strip_newlines | replace: '\\', ' ' }}]
2017-06-04 21:49:20 +00:00
2018-10-23 16:51:11 +00:00
puts 'Generating content...'
File.open('assets/js/search-data.json', 'w') do |f|
2017-06-09 14:58:35 +00:00
f.puts '---
---
{
{% for page in site.html_pages %}"{{ forloop.index0 }}": {
"id": "{{ forloop.index0 }}",
"title": "{{ page.title | xml_escape }}",
2017-06-09 15:23:22 +00:00
"content": "'+content+'",
2017-06-09 14:58:35 +00:00
"url": "{{ page.url | xml_escape }}"
}{% if forloop.last %}{% else %},
{% endif %}{% endfor %}
}'
2017-06-08 18:24:29 +00:00
end
2018-10-23 16:51:11 +00:00
puts 'Done.'
2017-06-04 21:49:20 +00:00
end
2017-06-08 13:43:33 +00:00
end