diff --git a/_config.yml b/_config.yml
index 3b8537c..4ba494b 100644
--- a/_config.yml
+++ b/_config.yml
@@ -15,7 +15,7 @@
# in the templates via {{ site.myvariable }}.
title: Just the Docs
description: A Jekyll theme for documentation
-# baseurl: "" # the subpath of your site, e.g. /blog
+baseurl: "/just-the-docs" # the subpath of your site, e.g. /blog
# url: "" # the base hostname & protocol for your site, e.g. http://example.com
sass:
diff --git a/_layouts/default.html b/_layouts/default.html
index fd3c62c..87f3706 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -5,7 +5,7 @@
-
{{ site.title }}
+
{{ site.title }}
Menu
{% include nav.html %}
diff --git a/assets/js/just-the-docs.js b/assets/js/just-the-docs.js
index 286c8fb..dd24cfc 100644
--- a/assets/js/just-the-docs.js
+++ b/assets/js/just-the-docs.js
@@ -35,14 +35,29 @@ function initSearch() {
var index = lunr(function () {
this.ref('id');
this.field('title', { boost: 20 });
- this.field('content');
+ this.field('content', { boost: 10 });
this.field('url');
});
// Get the generated search_data.json file so lunr.js can search it locally.
+ sc = document.getElementsByTagName("script");
+ source = '';
+
+ for(idx = 0; idx < sc.length; idx++)
+ {
+ s = sc.item(idx);
+
+ if(s.src && s.src.match(/just-the-docs\.js$/))
+ { source = s.src; }
+ }
+
+ jsPath = source.replace('just-the-docs.js', '');
+
+ jsonPath = jsPath + '/search-data.json';
+
var request = new XMLHttpRequest();
- request.open('GET', '/search-data.json', true);
+ request.open('GET', jsonPath, true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
@@ -103,11 +118,12 @@ function initSearch() {
var resultsLink = document.createElement('a');
var resultsUrlDesc = document.createElement('span');
var resultsUrl = store[results[i].ref].url;
+ var resultsRelUrl = store[results[i].ref].relUrl;
var resultsTitle = store[results[i].ref].title;
- resultsLink.setAttribute('href', store[results[i].ref].url);
+ resultsLink.setAttribute('href', resultsUrl);
resultsLink.innerText = resultsTitle;
- resultsUrlDesc.innerText = resultsUrl;
+ resultsUrlDesc.innerText = resultsRelUrl;
resultsList.classList.add('search-results-list');
resultsListItem.classList.add('search-results-list-item');
diff --git a/lib/tasks/search.rake b/lib/tasks/search.rake
index e653be8..0e433b2 100644
--- a/lib/tasks/search.rake
+++ b/lib/tasks/search.rake
@@ -2,10 +2,12 @@ namespace :search do
desc 'Generate the files needed for search functionality'
task :init do
puts 'Creating search data json file...'
- touch 'search-data.json'
+ touch 'assets/js/search-data.json'
content = %Q[{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | strip_newlines | replace: '\\', ' ' }}]
- File.open('search-data.json', 'w') do |f|
+ puts 'Generating content...'
+
+ File.open('assets/js/search-data.json', 'w') do |f|
f.puts '---
---
{
@@ -18,5 +20,6 @@ namespace :search do
{% endif %}{% endfor %}
}'
end
+ puts 'Done.'
end
end
diff --git a/search-data.json b/search-data.json
deleted file mode 100644
index 4a71e7c..0000000
--- a/search-data.json
+++ /dev/null
@@ -1,11 +0,0 @@
----
----
-{
- {% 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 %}
-}