just-the-docs 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_layouts/default.html +2 -2
- data/assets/js/just-the-docs.js +20 -4
- data/assets/js/search-data.json +12 -0
- data/lib/tasks/search.rake +5 -2
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0df20cd3981237aee49439b746dc382b0afae218
|
4
|
+
data.tar.gz: d0c7a98d6e4a45115aebccfa6c4f4029613c17d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9e62193aba76398104ebe3377c3ced35cea0c66ebd4aa9389477d2511470450789118cc2431208f2e7d82a4854d8a6ccccc0679ce4b8219f2552af7ba2b3677
|
7
|
+
data.tar.gz: 55c48cd7584961c98d24f3fe39f0c8a4b78551c2581751a3619b800d736fe24074fb96936c346a4a6566a701bad11cab1771b6d465602e22ba0c5d03214bd366
|
data/_layouts/default.html
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
<div class="page-wrap">
|
7
7
|
<div class="side-bar">
|
8
|
-
<a href="{{ site.
|
8
|
+
<a href="{{ site.baseurl }}/" class="site-title fs-6 text-grey-dk-300 lh-tight">{{ site.title }}</a>
|
9
9
|
<span class="fs-3"><button class="js-main-nav-trigger navigation-list-toggle btn btn-outline" type="button" data-text-toggle="Hide">Menu</button></span>
|
10
10
|
<div class="navigation main-nav js-main-nav">
|
11
11
|
{% include nav.html %}
|
@@ -38,7 +38,7 @@
|
|
38
38
|
{% if page.parent != nil and page.parent != page.title %}
|
39
39
|
<nav class="breadcrumb-nav">
|
40
40
|
<ol class="breadcrumb-nav-list">
|
41
|
-
<li class="breadcrumb-nav-list-item"><a href="{{ site.url }}/{{ page.parent | slugify }}">{{ page.parent }}</a></li>
|
41
|
+
<li class="breadcrumb-nav-list-item"><a href="{{ site.url | absolute_url }}/{{ page.parent | slugify }}">{{ page.parent }}</a></li>
|
42
42
|
<li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
|
43
43
|
</ol>
|
44
44
|
</nav>
|
data/assets/js/just-the-docs.js
CHANGED
@@ -35,14 +35,29 @@ function initSearch() {
|
|
35
35
|
var index = lunr(function () {
|
36
36
|
this.ref('id');
|
37
37
|
this.field('title', { boost: 20 });
|
38
|
-
this.field('content');
|
38
|
+
this.field('content', { boost: 10 });
|
39
39
|
this.field('url');
|
40
40
|
});
|
41
41
|
|
42
42
|
// Get the generated search_data.json file so lunr.js can search it locally.
|
43
43
|
|
44
|
+
sc = document.getElementsByTagName("script");
|
45
|
+
source = '';
|
46
|
+
|
47
|
+
for(idx = 0; idx < sc.length; idx++)
|
48
|
+
{
|
49
|
+
s = sc.item(idx);
|
50
|
+
|
51
|
+
if(s.src && s.src.match(/just-the-docs\.js$/))
|
52
|
+
{ source = s.src; }
|
53
|
+
}
|
54
|
+
|
55
|
+
jsPath = source.replace('just-the-docs.js', '');
|
56
|
+
|
57
|
+
jsonPath = jsPath + '/search-data.json';
|
58
|
+
|
44
59
|
var request = new XMLHttpRequest();
|
45
|
-
request.open('GET',
|
60
|
+
request.open('GET', jsonPath, true);
|
46
61
|
|
47
62
|
request.onload = function() {
|
48
63
|
if (request.status >= 200 && request.status < 400) {
|
@@ -103,11 +118,12 @@ function initSearch() {
|
|
103
118
|
var resultsLink = document.createElement('a');
|
104
119
|
var resultsUrlDesc = document.createElement('span');
|
105
120
|
var resultsUrl = store[results[i].ref].url;
|
121
|
+
var resultsRelUrl = store[results[i].ref].relUrl;
|
106
122
|
var resultsTitle = store[results[i].ref].title;
|
107
123
|
|
108
|
-
resultsLink.setAttribute('href',
|
124
|
+
resultsLink.setAttribute('href', resultsUrl);
|
109
125
|
resultsLink.innerText = resultsTitle;
|
110
|
-
resultsUrlDesc.innerText =
|
126
|
+
resultsUrlDesc.innerText = resultsRelUrl;
|
111
127
|
|
112
128
|
resultsList.classList.add('search-results-list');
|
113
129
|
resultsListItem.classList.add('search-results-list-item');
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
---
|
3
|
+
{
|
4
|
+
{% for page in site.html_pages %}"{{ forloop.index0 }}": {
|
5
|
+
"id": "{{ forloop.index0 }}",
|
6
|
+
"title": "{{ page.title | xml_escape }}",
|
7
|
+
"content": "{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | strip_newlines | replace: '\', ' ' }}",
|
8
|
+
"url": "{{ page.url | absolute_url | xml_escape }}",
|
9
|
+
"relUrl": "{{ page.url | xml_escape }}"
|
10
|
+
}{% if forloop.last %}{% else %},
|
11
|
+
{% endif %}{% endfor %}
|
12
|
+
}
|
data/lib/tasks/search.rake
CHANGED
@@ -2,10 +2,12 @@ namespace :search do
|
|
2
2
|
desc 'Generate the files needed for search functionality'
|
3
3
|
task :init do
|
4
4
|
puts 'Creating search data json file...'
|
5
|
-
touch 'search-data.json'
|
5
|
+
touch 'assets/js/search-data.json'
|
6
6
|
content = %Q[{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | strip_newlines | replace: '\\', ' ' }}]
|
7
|
+
puts 'Done.'
|
8
|
+
puts 'Generating content...'
|
7
9
|
|
8
|
-
File.open('search-data.json', 'w') do |f|
|
10
|
+
File.open('assets/js/search-data.json', 'w') do |f|
|
9
11
|
f.puts '---
|
10
12
|
---
|
11
13
|
{
|
@@ -18,5 +20,6 @@ namespace :search do
|
|
18
20
|
{% endif %}{% endfor %}
|
19
21
|
}'
|
20
22
|
end
|
23
|
+
puts 'Done.'
|
21
24
|
end
|
22
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: just-the-docs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick Marsceill
|
@@ -98,6 +98,7 @@ files:
|
|
98
98
|
- assets/images/just-the-docs.png
|
99
99
|
- assets/images/search.svg
|
100
100
|
- assets/js/just-the-docs.js
|
101
|
+
- assets/js/search-data.json
|
101
102
|
- assets/js/vendor/lunr.min.js
|
102
103
|
- bin/just-the-docs
|
103
104
|
- lib/tasks/search.rake
|