just-the-docs 0.2.7 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -1
- data/_includes/css/custom.scss.liquid +1 -0
- data/_includes/css/just-the-docs.scss.liquid +7 -0
- data/_includes/fix_linenos.html +65 -0
- data/_includes/head.html +7 -7
- data/_includes/nav.html +97 -37
- data/_includes/vendor/anchor_headings.html +53 -9
- data/_layouts/default.html +157 -75
- data/_layouts/table_wrappers.html +1 -1
- data/_sass/base.scss +14 -17
- data/_sass/code.scss +285 -74
- data/_sass/color_schemes/dark.scss +1 -1
- data/_sass/color_schemes/light.scss +0 -0
- data/_sass/content.scss +44 -5
- data/_sass/custom/custom.scss +0 -129
- data/_sass/labels.scss +5 -4
- data/_sass/layout.scss +48 -52
- data/_sass/modules.scss +20 -0
- data/_sass/navigation.scss +149 -50
- data/_sass/print.scss +40 -0
- data/_sass/search.scss +204 -48
- data/_sass/support/_functions.scss +2 -3
- data/_sass/support/_variables.scss +33 -9
- data/_sass/support/mixins/_layout.scss +1 -3
- data/_sass/support/mixins/_typography.scss +25 -22
- data/_sass/typography.scss +13 -7
- data/_sass/utilities/_layout.scss +74 -17
- data/_sass/utilities/_spacing.scss +69 -25
- data/assets/css/just-the-docs-dark.scss +3 -0
- data/assets/css/just-the-docs-default.scss +8 -0
- data/assets/css/just-the-docs-light.scss +3 -0
- data/assets/js/just-the-docs.js +374 -202
- data/assets/js/zzzz-search-data.json +72 -0
- data/lib/tasks/search.rake +69 -10
- metadata +35 -24
- data/_sass/overrides.scss +0 -3
- data/assets/css/dark-mode-preview.scss +0 -45
- data/assets/css/just-the-docs.scss +0 -49
- data/assets/js/dark-mode-preview.js +0 -23
- data/assets/js/search-data.json +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac9092ff508cd154919cdc59ec256e3a8cc5e77664ac38f56d2150c6677cb824
|
4
|
+
data.tar.gz: 0dedab94fdb0dfc0d684e9bd164bfe61280c0b197572ac0ee20804d5890c8ee9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 496a3e88439549090a080202977a0eac87f94ddbd6acaf6843fbe8db2a00dddda3b241949ff71f7332d4c736671142571d756807ddc078d45591ba1c0e646791
|
7
|
+
data.tar.gz: ab731d78317a8dbd1c590cd21a2f93ba942a8e0638221674c3f5123938814ae012112a141a05d88b61de4a3badeedeba2bbf9a7cf1c0e1bc8255e3dd73fdeb96
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<p align="right">
|
2
|
-
<a href="https://badge.fury.io/rb/just-the-docs"><img src="https://badge.fury.io/rb/just-the-docs.svg" alt="Gem version"></a> <a href="https://github.com/pmarsceill/just-the-docs/actions"><img src="https://github.com/pmarsceill/just-the-docs/workflows/
|
2
|
+
<a href="https://badge.fury.io/rb/just-the-docs"><img src="https://badge.fury.io/rb/just-the-docs.svg" alt="Gem version"></a> <a href="https://github.com/pmarsceill/just-the-docs/actions?query=workflow%3A%22Master+branch+CI%22"><img src="https://github.com/pmarsceill/just-the-docs/workflows/Master%20branch%20CI/badge.svg" alt="Build status"></a>
|
3
3
|
</p>
|
4
4
|
<br><br>
|
5
5
|
<p align="center">
|
@@ -33,6 +33,10 @@ Or install it yourself as:
|
|
33
33
|
|
34
34
|
$ gem install just-the-docs
|
35
35
|
|
36
|
+
Alternatively, you can run it inside Docker while developing your site
|
37
|
+
|
38
|
+
$ docker-compose up
|
39
|
+
|
36
40
|
## Usage
|
37
41
|
|
38
42
|
[View the documentation](https://pmarsceill.github.io/just-the-docs/) for usage information.
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "./custom/custom";
|
@@ -0,0 +1,65 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
This file can be used to fix the HTML produced by Jekyll for highlighted
|
3
|
+
code with line numbers.
|
4
|
+
|
5
|
+
It works with `{% highlight some_language linenos %}...{% endhighlight %}`
|
6
|
+
and with the Kramdown option to add line numbers to fenced code.
|
7
|
+
|
8
|
+
The implementation was derived from the workaround provided by
|
9
|
+
Dmitry Hrabrov (DeXP) at
|
10
|
+
https://github.com/penibelst/jekyll-compress-html/issues/71#issuecomment-188144901
|
11
|
+
|
12
|
+
EXPLANATION
|
13
|
+
|
14
|
+
The HTML produced by Rouge highlighting with lie numbers is of the form
|
15
|
+
`code table`. Jekyll (<= 4.1.1) always wraps the highlighted HTML
|
16
|
+
with `pre`. This wrapping is not only unnecessary, but also transforms
|
17
|
+
the conforming HTML produced by Rouge to non-conforming HTML, which
|
18
|
+
results in HTML validation error reports.
|
19
|
+
|
20
|
+
The fix removes the outer `pre` tags whenever they contain the pattern
|
21
|
+
`<table class="rouge-table">`.
|
22
|
+
|
23
|
+
Apart from avoiding HTML validation errors, the fix allows the use of
|
24
|
+
the [Jekyll layout for compressing HTML](http://jch.penibelst.de),
|
25
|
+
which relies on `pre` tags not being nested, according to
|
26
|
+
https://github.com/penibelst/jekyll-compress-html/issues/71#issuecomment-172069842
|
27
|
+
|
28
|
+
USAGE
|
29
|
+
|
30
|
+
(Any names can be used for `some_var` and `some_language`.)
|
31
|
+
|
32
|
+
{% capture some_var %}
|
33
|
+
{% highlight some_language linenos %}
|
34
|
+
Some code
|
35
|
+
{% endhighlight %}
|
36
|
+
{% endcapture %}
|
37
|
+
{% include fix_linenos.html code=some_var %}
|
38
|
+
|
39
|
+
For code fences:
|
40
|
+
|
41
|
+
{% capture some_var %}
|
42
|
+
```some_language
|
43
|
+
Some code
|
44
|
+
```
|
45
|
+
{% endcapture %}
|
46
|
+
{% assign some_var = some_var | markdownify %}
|
47
|
+
{% include fix_linenos.html code=some_var %}
|
48
|
+
|
49
|
+
CAVEATS
|
50
|
+
|
51
|
+
The above does not work when `Some code` happens to contain the matched string
|
52
|
+
`<table class="rouge-table">`.
|
53
|
+
|
54
|
+
The use of this file overwrites the variable `fix_linenos_code` with `nil`.
|
55
|
+
|
56
|
+
{%- endcomment -%}
|
57
|
+
|
58
|
+
{% assign fix_linenos_code = include.code %}
|
59
|
+
{% if fix_linenos_code contains '<table class="rouge-table">' %}
|
60
|
+
{% assign fix_linenos_code = fix_linenos_code | replace: '<pre class="highlight">', '<pre>' %}
|
61
|
+
{% assign fix_linenos_code = fix_linenos_code | replace: "<pre><code", "<code" %}
|
62
|
+
{% assign fix_linenos_code = fix_linenos_code | replace: "</code></pre>", "</code>" %}
|
63
|
+
{% endif %}
|
64
|
+
{{ fix_linenos_code }}
|
65
|
+
{% assign fix_linenos_code = nil %}
|
data/_includes/head.html
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
<meta charset="UTF-8">
|
3
3
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
4
4
|
|
5
|
-
{%
|
5
|
+
{% unless site.plugins contains "jekyll-seo-tag" %}
|
6
6
|
<title>{{ page.title }} - {{ site.title }}</title>
|
7
7
|
|
8
8
|
{% if page.description %}
|
9
9
|
<meta name="Description" content="{{ page.description }}">
|
10
10
|
{% endif %}
|
11
|
-
{%
|
11
|
+
{% endunless %}
|
12
12
|
|
13
|
-
<link rel="shortcut icon" href="{{ 'favicon.ico' |
|
13
|
+
<link rel="shortcut icon" href="{{ 'favicon.ico' | relative_url }}" type="image/x-icon">
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="{{ '/assets/css/just-the-docs.css' |
|
15
|
+
<link rel="stylesheet" href="{{ '/assets/css/just-the-docs-default.css' | relative_url }}">
|
16
16
|
|
17
17
|
{% if site.ga_tracking != nil %}
|
18
18
|
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.ga_tracking }}"></script>
|
@@ -21,15 +21,15 @@
|
|
21
21
|
function gtag(){dataLayer.push(arguments);}
|
22
22
|
gtag('js', new Date());
|
23
23
|
|
24
|
-
gtag('config',
|
24
|
+
gtag('config', '{{ site.ga_tracking }}'{% unless site.ga_tracking_anonymize_ip == nil %}, { 'anonymize_ip': true }{% endunless %});
|
25
25
|
</script>
|
26
26
|
|
27
27
|
{% endif %}
|
28
28
|
|
29
29
|
{% if site.search_enabled != false %}
|
30
|
-
<script type="text/javascript" src="{{ '/assets/js/vendor/lunr.min.js' |
|
30
|
+
<script type="text/javascript" src="{{ '/assets/js/vendor/lunr.min.js' | relative_url }}"></script>
|
31
31
|
{% endif %}
|
32
|
-
<script type="text/javascript" src="{{ '/assets/js/just-the-docs.js' |
|
32
|
+
<script type="text/javascript" src="{{ '/assets/js/just-the-docs.js' | relative_url }}"></script>
|
33
33
|
|
34
34
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
35
35
|
|
data/_includes/nav.html
CHANGED
@@ -1,40 +1,100 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
1
|
+
<ul class="nav-list">
|
2
|
+
{%- assign included_pages = include.pages
|
3
|
+
| where_exp:"item", "item.nav_exclude != true"
|
4
|
+
| where_exp:"item", "item.title != nil" -%}
|
5
|
+
|
6
|
+
{%- comment -%}
|
7
|
+
The values of `title` and `nav_order` can be numbers or strings.
|
8
|
+
Jekyll gives build failures when sorting on mixtures of different types,
|
9
|
+
so numbers and strings need to be sorted separately.
|
10
|
+
|
11
|
+
Here, numbers are sorted by their values, and come before all strings.
|
12
|
+
An omitted `nav_order` value is equivalent to the page's `title` value
|
13
|
+
(except that a numerical `title` value is treated as a string).
|
14
|
+
|
15
|
+
The case-sensitivity of string sorting is determined by `site.nav_sort`.
|
16
|
+
{%- endcomment -%}
|
17
|
+
|
18
|
+
{%- assign string_ordered_pages = included_pages
|
19
|
+
| where_exp:"item", "item.nav_order == nil" -%}
|
20
|
+
{%- assign nav_ordered_pages = included_pages
|
21
|
+
| where_exp:"item", "item.nav_order != nil" -%}
|
22
|
+
|
23
|
+
{%- comment -%}
|
24
|
+
The nav_ordered_pages have to be added to number_ordered_pages and
|
25
|
+
string_ordered_pages, depending on the nav_order value.
|
26
|
+
The first character of the jsonify result is `"` only for strings.
|
27
|
+
{%- endcomment -%}
|
28
|
+
{%- assign nav_ordered_groups = nav_ordered_pages
|
29
|
+
| group_by_exp:"item", "item.nav_order | jsonify | slice: 0" -%}
|
30
|
+
{%- assign number_ordered_pages = "" | split:"X" -%}
|
31
|
+
{%- for group in nav_ordered_groups -%}
|
32
|
+
{%- if group.name == '"' -%}
|
33
|
+
{%- assign string_ordered_pages = string_ordered_pages | concat: group.items -%}
|
34
|
+
{%- else -%}
|
35
|
+
{%- assign number_ordered_pages = number_ordered_pages | concat: group.items -%}
|
36
|
+
{%- endif -%}
|
37
|
+
{%- endfor -%}
|
38
|
+
|
39
|
+
{%- assign sorted_number_ordered_pages = number_ordered_pages | sort:"nav_order" -%}
|
40
|
+
|
41
|
+
{%- comment -%}
|
42
|
+
The string_ordered_pages have to be sorted by nav_order, and otherwise title
|
43
|
+
(where appending the empty string to a numeric title converts it to a string).
|
44
|
+
After grouping them by those values, the groups are sorted, then the items
|
45
|
+
of each group are concatenated.
|
46
|
+
{%- endcomment -%}
|
47
|
+
{%- assign string_ordered_groups = string_ordered_pages
|
48
|
+
| group_by_exp:"item", "item.nav_order | default: item.title | append:''" -%}
|
49
|
+
{%- if site.nav_sort == 'case_insensitive' -%}
|
50
|
+
{%- assign sorted_string_ordered_groups = string_ordered_groups | sort_natural:"name" -%}
|
51
|
+
{%- else -%}
|
52
|
+
{%- assign sorted_string_ordered_groups = string_ordered_groups | sort:"name" -%}
|
53
|
+
{%- endif -%}
|
54
|
+
{%- assign sorted_string_ordered_pages = "" | split:"X" -%}
|
55
|
+
{%- for group in sorted_string_ordered_groups -%}
|
56
|
+
{%- assign sorted_string_ordered_pages = sorted_string_ordered_pages | concat: group.items -%}
|
57
|
+
{%- endfor -%}
|
58
|
+
|
59
|
+
{%- assign pages_list = sorted_number_ordered_pages | concat: sorted_string_ordered_pages -%}
|
60
|
+
|
61
|
+
{%- for node in pages_list -%}
|
62
|
+
{%- if node.parent == nil -%}
|
63
|
+
<li class="nav-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
|
64
|
+
{%- if page.parent == node.title or page.grand_parent == node.title -%}
|
65
|
+
{%- assign first_level_url = node.url | absolute_url -%}
|
66
|
+
{%- endif -%}
|
67
|
+
{%- if node.has_children -%}
|
68
|
+
<a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
|
69
|
+
{%- endif -%}
|
70
|
+
<a href="{{ node.url | absolute_url }}" class="nav-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
|
71
|
+
{%- if node.has_children -%}
|
72
|
+
{%- assign children_list = pages_list | where: "parent", node.title -%}
|
73
|
+
<ul class="nav-list ">
|
74
|
+
{%- for child in children_list -%}
|
75
|
+
<li class="nav-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
|
76
|
+
{%- if page.url == child.url or page.parent == child.title -%}
|
77
|
+
{%- assign second_level_url = child.url | absolute_url -%}
|
78
|
+
{%- endif -%}
|
79
|
+
{%- if child.has_children -%}
|
80
|
+
<a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
|
81
|
+
{%- endif -%}
|
82
|
+
<a href="{{ child.url | absolute_url }}" class="nav-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
|
83
|
+
{%- if child.has_children -%}
|
84
|
+
{%- assign grand_children_list = pages_list | where: "parent", child.title | where: "grand_parent", node.title -%}
|
85
|
+
<ul class="nav-list">
|
86
|
+
{%- for grand_child in grand_children_list -%}
|
87
|
+
<li class="nav-list-item {% if page.url == grand_child.url %} active{% endif %}">
|
88
|
+
<a href="{{ grand_child.url | absolute_url }}" class="nav-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
|
31
89
|
</li>
|
32
90
|
{%- endfor -%}
|
33
|
-
|
34
|
-
|
35
|
-
|
91
|
+
</ul>
|
92
|
+
{%- endif -%}
|
93
|
+
</li>
|
94
|
+
{%- endfor -%}
|
95
|
+
</ul>
|
36
96
|
{%- endif -%}
|
37
|
-
|
38
|
-
{%-
|
39
|
-
|
40
|
-
</
|
97
|
+
</li>
|
98
|
+
{%- endif -%}
|
99
|
+
{%- endfor -%}
|
100
|
+
</ul>
|
@@ -1,18 +1,44 @@
|
|
1
1
|
{% capture headingsWorkspace %}
|
2
2
|
{% comment %}
|
3
|
-
|
3
|
+
Copyright (c) 2018 Vladimir "allejo" Jimenez
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person
|
6
|
+
obtaining a copy of this software and associated documentation
|
7
|
+
files (the "Software"), to deal in the Software without
|
8
|
+
restriction, including without limitation the rights to use,
|
9
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the
|
11
|
+
Software is furnished to do so, subject to the following
|
12
|
+
conditions:
|
13
|
+
|
14
|
+
The above copyright notice and this permission notice shall be
|
15
|
+
included in all copies or substantial portions of the Software.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
18
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
19
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
20
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
21
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
22
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
23
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
24
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
25
|
+
{% endcomment %}
|
26
|
+
{% comment %}
|
27
|
+
Version 1.0.7
|
4
28
|
https://github.com/allejo/jekyll-anchor-headings
|
5
29
|
|
6
30
|
"Be the pull request you wish to see in the world." ~Ben Balter
|
7
31
|
|
8
32
|
Usage:
|
9
|
-
{% include anchor_headings.html html=content %}
|
33
|
+
{% include anchor_headings.html html=content anchorBody="#" %}
|
10
34
|
|
11
35
|
Parameters:
|
12
36
|
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
13
37
|
|
14
38
|
Optional Parameters:
|
15
39
|
* beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content
|
40
|
+
* anchorAttrs (string) : '' - Any custom HTML attributes that will be added to the `<a>` tag; you may NOT use `href`, `class` or `title`;
|
41
|
+
the `%heading%` and `%html_id%` placeholders are available
|
16
42
|
* anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available
|
17
43
|
* anchorClass (string) : '' - The class(es) that will be used for each anchor. Separate multiple classes with a space
|
18
44
|
* anchorTitle (string) : '' - The `title` attribute that will be used for anchors
|
@@ -42,17 +68,22 @@
|
|
42
68
|
{% assign nextChar = node | replace: '"', '' | strip | slice: 0, 1 %}
|
43
69
|
{% assign headerLevel = nextChar | times: 1 %}
|
44
70
|
|
45
|
-
<!-- If the level is cast to 0, it means it's not a h1-h6 tag, so let's
|
71
|
+
<!-- If the level is cast to 0, it means it's not a h1-h6 tag, so let's see if we need to fix it -->
|
46
72
|
{% if headerLevel == 0 %}
|
47
|
-
|
73
|
+
<!-- Split up the node based on closing angle brackets and get the first one. -->
|
74
|
+
{% assign firstChunk = node | split: '>' | first %}
|
75
|
+
|
76
|
+
<!-- If the first chunk does NOT contain a '<', that means we've broken another HTML tag that starts with 'h' -->
|
77
|
+
{% unless firstChunk contains '<' %}
|
48
78
|
{% capture node %}<h{{ node }}{% endcapture %}
|
49
|
-
{%
|
79
|
+
{% endunless %}
|
50
80
|
|
51
81
|
{% capture edited_headings %}{{ edited_headings }}{{ node }}{% endcapture %}
|
52
82
|
{% continue %}
|
53
83
|
{% endif %}
|
54
84
|
|
55
|
-
{%
|
85
|
+
{% capture _closingTag %}</h{{ headerLevel }}>{% endcapture %}
|
86
|
+
{% assign _workspace = node | split: _closingTag %}
|
56
87
|
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
57
88
|
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
58
89
|
{% assign html_id = _idWorkspace[0] %}
|
@@ -64,7 +95,7 @@
|
|
64
95
|
{% capture anchor %}{% endcapture %}
|
65
96
|
|
66
97
|
{% if html_id and headerLevel >= minHeader and headerLevel <= maxHeader %}
|
67
|
-
{% capture anchor %}href="#{{ html_id}}"{% endcapture %}
|
98
|
+
{% capture anchor %}href="#{{ html_id }}"{% endcapture %}
|
68
99
|
|
69
100
|
{% if include.anchorClass %}
|
70
101
|
{% capture anchor %}{{ anchor }} class="{{ include.anchorClass }}"{% endcapture %}
|
@@ -74,6 +105,10 @@
|
|
74
105
|
{% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', header }}"{% endcapture %}
|
75
106
|
{% endif %}
|
76
107
|
|
108
|
+
{% if include.anchorAttrs %}
|
109
|
+
{% capture anchor %}{{ anchor }} {{ include.anchorAttrs | replace: '%heading%', header | replace: '%html_id%', html_id }}{% endcapture %}
|
110
|
+
{% endif %}
|
111
|
+
|
77
112
|
{% capture anchor %}<a {{ anchor }}>{{ include.anchorBody | replace: '%heading%', header | default: '' }}</a>{% endcapture %}
|
78
113
|
|
79
114
|
<!-- In order to prevent adding extra space after a heading, we'll let the 'anchor' value contain it -->
|
@@ -93,8 +128,17 @@
|
|
93
128
|
{{ header }}{{ anchor }}
|
94
129
|
{% endif %}
|
95
130
|
{{ include.bodySuffix }}
|
96
|
-
</h{{
|
131
|
+
</h{{ headerLevel }}>
|
97
132
|
{% endcapture %}
|
133
|
+
|
134
|
+
<!--
|
135
|
+
If we have content after the `</hX>` tag, then we'll want to append that here so we don't lost any content.
|
136
|
+
-->
|
137
|
+
{% assign chunkCount = _workspace | size %}
|
138
|
+
{% if chunkCount > 1 %}
|
139
|
+
{% capture new_heading %}{{ new_heading }}{{ _workspace | last }}{% endcapture %}
|
140
|
+
{% endif %}
|
141
|
+
|
98
142
|
{% capture edited_headings %}{{ edited_headings }}{{ new_heading }}{% endcapture %}
|
99
143
|
{% endfor %}
|
100
|
-
{% endcapture %}{% assign headingsWorkspace = '' %}{{ edited_headings | strip }}
|
144
|
+
{% endcapture %}{% assign headingsWorkspace = '' %}{{ edited_headings | strip }}
|
data/_layouts/default.html
CHANGED
@@ -4,99 +4,181 @@ layout: table_wrappers
|
|
4
4
|
|
5
5
|
<!DOCTYPE html>
|
6
6
|
|
7
|
-
<html lang="{{ site.lang | default:
|
7
|
+
<html lang="{{ site.lang | default: 'en-US' }}">
|
8
8
|
{% include head.html %}
|
9
9
|
<body>
|
10
10
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
11
|
-
<symbol id="link" viewBox="0 0
|
11
|
+
<symbol id="svg-link" viewBox="0 0 24 24">
|
12
12
|
<title>Link</title>
|
13
|
-
<
|
13
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
|
14
|
+
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
|
15
|
+
</svg>
|
16
|
+
</symbol>
|
17
|
+
<symbol id="svg-search" viewBox="0 0 24 24">
|
18
|
+
<title>Search</title>
|
19
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
|
20
|
+
<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
|
21
|
+
</svg>
|
22
|
+
</symbol>
|
23
|
+
<symbol id="svg-menu" viewBox="0 0 24 24">
|
24
|
+
<title>Menu</title>
|
25
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
|
26
|
+
<line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
|
27
|
+
</svg>
|
28
|
+
</symbol>
|
29
|
+
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
30
|
+
<title>Expand</title>
|
31
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
|
32
|
+
<polyline points="9 18 15 12 9 6"></polyline>
|
33
|
+
</svg>
|
34
|
+
</symbol>
|
35
|
+
<symbol id="svg-doc" viewBox="0 0 24 24">
|
36
|
+
<title>Document</title>
|
37
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
|
38
|
+
<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
|
39
|
+
</svg>
|
14
40
|
</symbol>
|
15
41
|
</svg>
|
16
42
|
|
17
|
-
<div class="
|
18
|
-
<div class="
|
19
|
-
<
|
20
|
-
|
21
|
-
<
|
22
|
-
</
|
23
|
-
|
24
|
-
<div class="navigation main-nav js-main-nav">
|
25
|
-
{% include nav.html %}
|
26
|
-
</div>
|
27
|
-
<footer class="site-footer">
|
28
|
-
<p class="text-small text-grey-dk-000 mb-4">This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.</p>
|
29
|
-
</footer>
|
43
|
+
<div class="side-bar">
|
44
|
+
<div class="site-header">
|
45
|
+
<a href="{{ '/' | absolute_url }}" class="site-title lh-tight">{% include title.html %}</a>
|
46
|
+
<a href="#" id="menu-button" class="site-button">
|
47
|
+
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
|
48
|
+
</a>
|
30
49
|
</div>
|
31
|
-
<
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
{% if site.aux_links != nil %}
|
44
|
-
<ul class="list-style-none text-small aux-nav">
|
45
|
-
{% for link in site.aux_links %}
|
46
|
-
<li class="d-inline-block my-0{% unless forloop.last %} mr-2{% endunless %}"><a href="{{ link.last }}">{{ link.first }}</a></li>
|
47
|
-
{% endfor %}
|
48
|
-
</ul>
|
50
|
+
<nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
|
51
|
+
{% if site.just_the_docs.collections %}
|
52
|
+
{% assign collections_size = site.just_the_docs.collections | size %}
|
53
|
+
{% for collection_entry in site.just_the_docs.collections %}
|
54
|
+
{% assign collection_key = collection_entry[0] %}
|
55
|
+
{% assign collection_value = collection_entry[1] %}
|
56
|
+
{% assign collection = site[collection_key] %}
|
57
|
+
{% if collection_value.nav_exclude != true %}
|
58
|
+
{% if collections_size > 1 %}
|
59
|
+
<div class="nav-category">{{ collection_value.name }}</div>
|
60
|
+
{% endif %}
|
61
|
+
{% include nav.html pages=collection %}
|
49
62
|
{% endif %}
|
63
|
+
{% endfor %}
|
64
|
+
{% else %}
|
65
|
+
{% include nav.html pages=site.html_pages %}
|
66
|
+
{% endif %}
|
67
|
+
</nav>
|
68
|
+
<footer class="site-footer">
|
69
|
+
This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
|
70
|
+
</footer>
|
71
|
+
</div>
|
72
|
+
<div class="main" id="top">
|
73
|
+
<div id="main-header" class="main-header">
|
74
|
+
{% if site.search_enabled != false %}
|
75
|
+
<div class="search">
|
76
|
+
<div class="search-input-wrap">
|
77
|
+
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
|
78
|
+
<label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
|
79
|
+
</div>
|
80
|
+
<div id="search-results" class="search-results"></div>
|
50
81
|
</div>
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
|
82
|
+
{% endif %}
|
83
|
+
{% if site.aux_links %}
|
84
|
+
<nav aria-label="Auxiliary" class="aux-nav">
|
85
|
+
<ul class="aux-nav-list">
|
86
|
+
{% for link in site.aux_links %}
|
87
|
+
<li class="aux-nav-list-item">
|
88
|
+
<a href="{{ link.last }}" class="site-button"
|
89
|
+
{% if site.aux_links_new_tab %}
|
90
|
+
target="_blank" rel="noopener noreferrer"
|
61
91
|
{% endif %}
|
62
|
-
|
63
|
-
|
64
|
-
|
92
|
+
>
|
93
|
+
{{ link.first }}
|
94
|
+
</a>
|
95
|
+
</li>
|
96
|
+
{% endfor %}
|
97
|
+
</ul>
|
98
|
+
</nav>
|
99
|
+
{% endif %}
|
100
|
+
</div>
|
101
|
+
<div id="main-content-wrap" class="main-content-wrap">
|
102
|
+
{% unless page.url == "/" %}
|
103
|
+
{% if page.parent %}
|
104
|
+
<nav aria-label="Breadcrumb" class="breadcrumb-nav">
|
105
|
+
<ol class="breadcrumb-nav-list">
|
106
|
+
{% if page.grand_parent %}
|
107
|
+
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
|
108
|
+
<li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
|
109
|
+
{% else %}
|
110
|
+
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
|
111
|
+
{% endif %}
|
112
|
+
<li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
|
113
|
+
</ol>
|
114
|
+
</nav>
|
115
|
+
{% endif %}
|
116
|
+
{% endunless %}
|
117
|
+
<div id="main-content" class="main-content" role="main">
|
118
|
+
{% if site.heading_anchors != false %}
|
119
|
+
{% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#svg-link\"></use></svg>" anchorClass="anchor-heading" anchorAttrs="aria-labelledby=\"%html_id%\"" %}
|
120
|
+
{% else %}
|
121
|
+
{{ content }}
|
122
|
+
{% endif %}
|
123
|
+
|
124
|
+
{% if page.has_children == true and page.has_toc != false %}
|
125
|
+
<hr>
|
126
|
+
<h2 class="text-delta">Table of contents</h2>
|
127
|
+
<ul>
|
128
|
+
{%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%}
|
129
|
+
{% for child in children_list %}
|
130
|
+
<li>
|
131
|
+
<a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
|
132
|
+
</li>
|
133
|
+
{% endfor %}
|
134
|
+
</ul>
|
135
|
+
{% endif %}
|
136
|
+
|
137
|
+
{% if site.footer_content != nil or site.last_edit_timestamp or site.gh_edit_link %}
|
138
|
+
<hr>
|
139
|
+
<footer>
|
140
|
+
{% if site.back_to_top %}
|
141
|
+
<p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p>
|
65
142
|
{% endif %}
|
66
|
-
|
67
|
-
|
68
|
-
{% if site.heading_anchors != false %}
|
69
|
-
{% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#link\"></use></svg>" anchorClass="anchor-heading" %}
|
70
|
-
{% else %}
|
71
|
-
{{ content }}
|
143
|
+
{% if site.footer_content != nil %}
|
144
|
+
<p class="text-small text-grey-dk-000 mb-0">{{ site.footer_content }}</p>
|
72
145
|
{% endif %}
|
73
146
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
{% if child.parent == page.title and child.title != page.title %}
|
81
|
-
<li>
|
82
|
-
<a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
|
83
|
-
</li>
|
147
|
+
{% if site.last_edit_timestamp or site.gh_edit_link %}
|
148
|
+
<div class="d-flex mt-2">
|
149
|
+
{% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
|
150
|
+
<p class="text-small text-grey-dk-000 mb-0 mr-2">
|
151
|
+
Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
|
152
|
+
</p>
|
84
153
|
{% endif %}
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
154
|
+
{% if
|
155
|
+
site.gh_edit_link and
|
156
|
+
site.gh_edit_link_text and
|
157
|
+
site.gh_edit_repository and
|
158
|
+
site.gh_edit_branch and
|
159
|
+
site.gh_edit_view_mode
|
160
|
+
%}
|
161
|
+
<p class="text-small text-grey-dk-000 mb-0">
|
162
|
+
<a href="{{ site.gh_edit_repository }}/{{ site.gh_edit_view_mode }}/{{ site.gh_edit_branch }}{% if site.gh_edit_source %}/{{ site.gh_edit_source }}{% endif %}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a>
|
163
|
+
</p>
|
164
|
+
{% endif %}
|
165
|
+
</div>
|
166
|
+
{% endif %}
|
167
|
+
</footer>
|
168
|
+
{% endif %}
|
95
169
|
|
96
|
-
</div>
|
97
170
|
</div>
|
98
171
|
</div>
|
99
|
-
</div>
|
100
172
|
|
173
|
+
{% if site.search_enabled != false %}
|
174
|
+
{% if site.search.button %}
|
175
|
+
<a href="#" id="search-button" class="search-button">
|
176
|
+
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg>
|
177
|
+
</a>
|
178
|
+
{% endif %}
|
179
|
+
|
180
|
+
<div class="search-overlay"></div>
|
181
|
+
{% endif %}
|
182
|
+
</div>
|
101
183
|
</body>
|
102
184
|
</html>
|