From b06e4198df7c888bcc6637508eff76307ad52a17 Mon Sep 17 00:00:00 2001 From: Patrick Marsceill Date: Sun, 4 Jun 2017 17:49:20 -0400 Subject: [PATCH] Add the rake tasks for search init --- bin/just-the-docs | 27 +++++++++++++++++++++++++++ lib/tasks/search.rake | 21 +++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 bin/just-the-docs create mode 100644 lib/tasks/search.rake diff --git a/bin/just-the-docs b/bin/just-the-docs new file mode 100644 index 0000000..6a2eb4f --- /dev/null +++ b/bin/just-the-docs @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby + +# Run rake tasks +# from my_gem once it's installed. +# +# Example: +# +# my_gem rake some-task +# my_gem rake some-task[args] +# +# Note: cucumber features have '.feature' appended automatically, +# no need for you to do it ;) +# +# Author:: N David Brown +gem_dir = File.expand_path("..",File.dirname(__FILE__)) +$LOAD_PATH.unshift gem_dir# Look in gem directory for resources first. +exec_type = ARGV[0] +if exec_type == 'rake' then + require 'rake' + require 'pp' + pwd=Dir.pwd + Dir.chdir(gem_dir) # We'll load rakefile from the gem's dir. + Rake.application.init + Rake.application.load_rakefile + Dir.chdir(pwd) # Revert to original pwd for any path args passed to task. + Rake.application.invoke_task(ARGV[1]) +end diff --git a/lib/tasks/search.rake b/lib/tasks/search.rake new file mode 100644 index 0000000..85613c9 --- /dev/null +++ b/lib/tasks/search.rake @@ -0,0 +1,21 @@ +,nit do + touch search-data.json + + File.open('search-data.json', 'w') do |f| + f.puts ' +--- +--- +{ + {% for page in site.html_pages %}"{{ forloop.index0 }}": { + "id": "{{ forloop.index0 }}", + "title": "{{ page.title | xml_escape }}", + "content": "{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | remove: page.title | strip_newlines | replace: '\', ' '}}", + "url": "{{ page.url | xml_escape }}" + }{% if forloop.last %}{% else %}, + {% endif %}{% endfor %} +} + + end +end' + + end