From b06e4198df7c888bcc6637508eff76307ad52a17 Mon Sep 17 00:00:00 2001
From: Patrick Marsceill <patrick.marsceill@gmail.com>
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 00000000..6a2eb4fc
--- /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 00000000..85613c9f
--- /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
-- 
GitLab