1
0
mirror of https://github.com/thangisme/notes.git synced 2024-09-01 16:34:16 -04:00
notes/lib/tasks/search.rake

28 lines
927 B
Ruby
Raw Normal View History

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...'
2018-10-24 16:34:11 -04:00
mkdir_p 'assets/js'
2018-10-23 12:51:11 -04:00
touch 'assets/js/search-data.json'
2019-01-15 21:19:37 -05:00
content = %Q[{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\\', ' ' | normalize_whitespace }}]
2018-10-23 13:09:23 -04:00
puts 'Done.'
2018-10-23 12:51:11 -04:00
puts 'Generating content...'
File.open('assets/js/search-data.json', 'w') do |f|
2017-06-09 10:58:35 -04:00
f.puts '---
---
{
{% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
2017-06-09 10:58:35 -04:00
"id": "{{ forloop.index0 }}",
2019-01-31 13:02:06 -05:00
"title": "{{ page.title | replace: \'&\', \'&\' }}",
"content": "'+content+'",
"url": "{{ page.url | absolute_url }}",
"relUrl": "{{ page.url }}"
}{% unless forloop.last %},{% endunless %}
2017-06-09 10:58:35 -04:00
{% endif %}{% endfor %}
}'
2017-06-08 14:24:29 -04:00
end
2018-10-23 12:51:11 -04:00
puts 'Done.'
2017-06-04 17:49:20 -04:00
end
2017-06-08 09:43:33 -04:00
end