just-the-docs 0.4.0.rc3 → 0.4.0.rc4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +155 -25
- data/README.md +36 -12
- data/_includes/components/aux_nav.html +15 -0
- data/_includes/components/breadcrumbs.html +15 -0
- data/_includes/components/children_nav.html +9 -0
- data/_includes/components/footer.html +34 -0
- data/_includes/components/header.html +11 -0
- data/_includes/components/mermaid.html +5 -0
- data/_includes/components/search_footer.html +7 -0
- data/_includes/components/search_header.html +9 -0
- data/_includes/components/sidebar.html +69 -0
- data/_includes/css/just-the-docs.scss.liquid +1 -1
- data/_includes/head.html +14 -13
- data/_includes/icons/code_copy.html +15 -0
- data/_includes/icons/document.html +6 -0
- data/_includes/icons/expand.html +6 -0
- data/_includes/icons/icons.html +13 -0
- data/_includes/icons/link.html +6 -0
- data/_includes/icons/menu.html +6 -0
- data/_includes/icons/search.html +6 -0
- data/_includes/nav.html +48 -30
- data/_includes/vendor/anchor_headings.html +46 -18
- data/_layouts/default.html +8 -196
- data/_layouts/minimal.html +60 -0
- data/_sass/buttons.scss +1 -4
- data/_sass/code.scss +84 -26
- data/_sass/labels.scss +1 -4
- data/_sass/layout.scss +1 -2
- data/_sass/navigation.scss +4 -14
- data/_sass/search.scss +9 -20
- data/_sass/tables.scss +1 -4
- data/assets/js/just-the-docs.js +44 -1
- data/assets/js/vendor/lunr.min.js +58 -3
- metadata +20 -4
- data/_includes/favicon.html +0 -1
data/_includes/nav.html
CHANGED
@@ -39,21 +39,23 @@
|
|
39
39
|
pages.
|
40
40
|
{%- endcomment -%}
|
41
41
|
|
42
|
-
{%-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
{%- assign
|
47
|
-
|
48
|
-
|
49
|
-
{%-
|
50
|
-
|
51
|
-
{%-
|
52
|
-
{%-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
{%-
|
42
|
+
{%- unless title_pages == empty -%}
|
43
|
+
{%- assign unsorted_pages = title_pages
|
44
|
+
| where_exp: "item", "item.parent == nil"
|
45
|
+
| where_exp: "item", "item.nav_exclude == true" -%}
|
46
|
+
{%- assign title_pages_size = title_pages.size -%}
|
47
|
+
{%- assign unsorted_pages_percent = unsorted_pages.size
|
48
|
+
| times: 100 | divided_by: title_pages_size -%}
|
49
|
+
{%- if unsorted_pages_percent > 50 -%}
|
50
|
+
{%- assign sorted_pages = "" | split: "" -%}
|
51
|
+
{%- for item in title_pages -%}
|
52
|
+
{%- if item.nav_exclude != true or item.parent -%}
|
53
|
+
{%- assign sorted_pages = sorted_pages | push: item -%}
|
54
|
+
{%- endif -%}
|
55
|
+
{%- endfor -%}
|
56
|
+
{%- assign title_pages = sorted_pages -%}
|
57
|
+
{%- endif -%}
|
58
|
+
{%- endunless -%}
|
57
59
|
|
58
60
|
{%- assign nav_order_pages = title_pages
|
59
61
|
| where_exp: "item", "item.nav_order != nil" -%}
|
@@ -130,12 +132,36 @@
|
|
130
132
|
{%- comment -%}
|
131
133
|
The order of sibling pages in `pages_list` determines the order of display of
|
132
134
|
links to them in lists of navigation links and in auto-generated TOCs.
|
135
|
+
|
136
|
+
Note that Liquid evaluates conditions from right to left (and it does not allow
|
137
|
+
the use of parentheses). Some conditions are not so easy to express clearly...
|
138
|
+
|
139
|
+
For example, consider the following condition:
|
140
|
+
|
141
|
+
C: page.collection = = include.key and
|
142
|
+
page.url = = node.url or
|
143
|
+
page.grand_parent = = node.title or
|
144
|
+
page.parent = = node.title and
|
145
|
+
page.grand_parent = = nil
|
146
|
+
|
147
|
+
Here, `node` is a first-level page. The last part of the condition
|
148
|
+
-- namely: `page.parent = = node.title and page.grand_parent = = nil` --
|
149
|
+
is evaluated first; it holds if and only if `page` is a child of `node`.
|
150
|
+
|
151
|
+
The condition `page.grand_parent = = node.title or ...` holds when
|
152
|
+
`page` is a grandchild of node, OR `...` holds.
|
153
|
+
|
154
|
+
The condition `page.url = = node.url or ...` holds when
|
155
|
+
`page` is `node`, OR `...` holds.
|
156
|
+
|
157
|
+
The condition C: `page.collection = = include.key and ...` holds when we are
|
158
|
+
generating the nav links for a collection that includes `page`, AND `...` holds.
|
133
159
|
{%- endcomment -%}
|
134
160
|
|
135
161
|
<ul class="nav-list">
|
136
162
|
{%- for node in first_level_pages -%}
|
137
163
|
{%- unless node.nav_exclude -%}
|
138
|
-
<li class="nav-list-item{% if page.collection == include.key and page.url == node.url or page.
|
164
|
+
<li class="nav-list-item{% if page.collection == include.key and page.url == node.url or page.grand_parent == node.title or page.parent == node.title and page.grand_parent == nil %} active{% endif %}">
|
139
165
|
{%- if node.has_children -%}
|
140
166
|
<a href="#" class="nav-list-expander" aria-label="toggle links in {{ node.title }} category">
|
141
167
|
<svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg>
|
@@ -145,7 +171,7 @@
|
|
145
171
|
{%- if node.has_children -%}
|
146
172
|
{%- assign children_list = second_level_pages
|
147
173
|
| where: "parent", node.title -%}
|
148
|
-
{%- if node.child_nav_order == 'desc' -%}
|
174
|
+
{%- if node.child_nav_order == 'desc' or node.child_nav_order == 'reversed' -%}
|
149
175
|
{%- assign children_list = children_list | reverse -%}
|
150
176
|
{%- endif -%}
|
151
177
|
<ul class="nav-list ">
|
@@ -162,7 +188,7 @@
|
|
162
188
|
{%- assign grand_children_list = third_level_pages
|
163
189
|
| where: "parent", child.title
|
164
190
|
| where: "grand_parent", node.title -%}
|
165
|
-
{%- if child.child_nav_order == 'desc' -%}
|
191
|
+
{%- if child.child_nav_order == 'desc' or child.child_nav_order == 'reversed' -%}
|
166
192
|
{%- assign grand_children_list = grand_children_list | reverse -%}
|
167
193
|
{%- endif -%}
|
168
194
|
<ul class="nav-list">
|
@@ -183,15 +209,6 @@
|
|
183
209
|
</li>
|
184
210
|
{%- endunless -%}
|
185
211
|
{%- endfor -%}
|
186
|
-
{%- assign nav_external_links = site.nav_external_links -%}
|
187
|
-
{%- for node in nav_external_links -%}
|
188
|
-
<li class="nav-list-item external">
|
189
|
-
<a href="{{ node.url | absolute_url }}" class="nav-list-link external">
|
190
|
-
{{ node.title }}
|
191
|
-
{% unless node.hide_icon %}<svg viewBox="0 0 24 24" aria-labelledby="svg-external-link-title"><use xlink:href="#svg-external-link"></use></svg>{% endunless %}
|
192
|
-
</a>
|
193
|
-
</li>
|
194
|
-
{%- endfor -%}
|
195
212
|
</ul>
|
196
213
|
|
197
214
|
{%- comment -%}
|
@@ -203,7 +220,8 @@
|
|
203
220
|
the page's top-level breadcrumb (if any), and `second_level_url` to that used
|
204
221
|
in the page's second-level breadcrumb (if any).
|
205
222
|
|
206
|
-
For pages with children, the code also sets `toc_list` to the list of child pages
|
223
|
+
For pages with children, the code also sets `toc_list` to the list of child pages,
|
224
|
+
reversing the order if needed.
|
207
225
|
{%- endcomment -%}
|
208
226
|
|
209
227
|
{%- if page.collection == include.key -%}
|
@@ -225,8 +243,8 @@
|
|
225
243
|
{%- if page.has_children == true and page.has_toc != false -%}
|
226
244
|
{%- assign toc_list = pages_list
|
227
245
|
| where: "parent", page.title
|
228
|
-
|
|
229
|
-
{%- if page.child_nav_order ==
|
246
|
+
| where_exp: "item", "item.grand_parent == page.parent" -%}
|
247
|
+
{%- if page.child_nav_order == 'desc' or page.child_nav_order == 'reversed' -%}
|
230
248
|
{%- assign toc_list = toc_list | reverse -%}
|
231
249
|
{%- endif -%}
|
232
250
|
{%- endif -%}
|
@@ -24,7 +24,7 @@
|
|
24
24
|
OTHER DEALINGS IN THE SOFTWARE.
|
25
25
|
{% endcomment %}
|
26
26
|
{% comment %}
|
27
|
-
Version 1.0.
|
27
|
+
Version 1.0.12
|
28
28
|
https://github.com/allejo/jekyll-anchor-headings
|
29
29
|
|
30
30
|
"Be the pull request you wish to see in the world." ~Ben Balter
|
@@ -37,6 +37,8 @@
|
|
37
37
|
|
38
38
|
Optional Parameters:
|
39
39
|
* beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content
|
40
|
+
* headerAttrs (string) : '' - Any custom HTML attributes that will be added to the heading tag; you may NOT use `id`;
|
41
|
+
the `%heading%` and `%html_id%` placeholders are available
|
40
42
|
* anchorAttrs (string) : '' - Any custom HTML attributes that will be added to the `<a>` tag; you may NOT use `href`, `class` or `title`;
|
41
43
|
the `%heading%` and `%html_id%` placeholders are available
|
42
44
|
* anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available
|
@@ -46,6 +48,7 @@
|
|
46
48
|
* h_max (int) : 6 - The maximum header level to build an anchor for; any header greater than this value will be ignored
|
47
49
|
* bodyPrefix (string) : '' - Anything that should be inserted inside of the heading tag _before_ its anchor and content
|
48
50
|
* bodySuffix (string) : '' - Anything that should be inserted inside of the heading tag _after_ its anchor and content
|
51
|
+
* generateId (true) : false - Set to true if a header without id should generate an id to use.
|
49
52
|
|
50
53
|
Output:
|
51
54
|
The original HTML with the addition of anchors inside of all of the h1-h6 headings.
|
@@ -54,6 +57,7 @@
|
|
54
57
|
{% assign minHeader = include.h_min | default: 1 %}
|
55
58
|
{% assign maxHeader = include.h_max | default: 6 %}
|
56
59
|
{% assign beforeHeading = include.beforeHeading %}
|
60
|
+
{% assign headerAttrs = include.headerAttrs %}
|
57
61
|
{% assign nodes = include.html | split: '<h' %}
|
58
62
|
|
59
63
|
{% capture edited_headings %}{% endcapture %}
|
@@ -84,17 +88,41 @@
|
|
84
88
|
|
85
89
|
{% capture _closingTag %}</h{{ headerLevel }}>{% endcapture %}
|
86
90
|
{% assign _workspace = node | split: _closingTag %}
|
87
|
-
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
88
|
-
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
89
|
-
{% assign html_id = _idWorkspace[0] %}
|
90
|
-
|
91
91
|
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
92
92
|
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
93
|
+
{% assign escaped_header = header | strip_html | strip %}
|
94
|
+
|
95
|
+
{% assign _classWorkspace = _workspace[0] | split: 'class="' %}
|
96
|
+
{% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
|
97
|
+
{% assign _html_class = _classWorkspace[0] %}
|
98
|
+
|
99
|
+
{% if _html_class contains "no_anchor" %}
|
100
|
+
{% assign skip_anchor = true %}
|
101
|
+
{% else %}
|
102
|
+
{% assign skip_anchor = false %}
|
103
|
+
{% endif %}
|
104
|
+
|
105
|
+
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
106
|
+
{% if _idWorkspace[1] %}
|
107
|
+
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
108
|
+
{% assign html_id = _idWorkspace[0] %}
|
109
|
+
{% elsif include.generateId %}
|
110
|
+
<!-- If the header did not have an id we create one. -->
|
111
|
+
{% assign html_id = escaped_header | slugify %}
|
112
|
+
{% if html_id == "" %}
|
113
|
+
{% assign html_id = false %}
|
114
|
+
{% endif %}
|
115
|
+
{% capture headerAttrs %}{{ headerAttrs }} id="%html_id%"{% endcapture %}
|
116
|
+
{% endif %}
|
93
117
|
|
94
118
|
<!-- Build the anchor to inject for our heading -->
|
95
119
|
{% capture anchor %}{% endcapture %}
|
96
120
|
|
97
|
-
{% if html_id and headerLevel >= minHeader and headerLevel <= maxHeader %}
|
121
|
+
{% if skip_anchor == false and html_id and headerLevel >= minHeader and headerLevel <= maxHeader %}
|
122
|
+
{% if headerAttrs %}
|
123
|
+
{% capture _hAttrToStrip %}{{ _hAttrToStrip | split: '>' | first }} {{ headerAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}>{% endcapture %}
|
124
|
+
{% endif %}
|
125
|
+
|
98
126
|
{% capture anchor %}href="#{{ html_id }}"{% endcapture %}
|
99
127
|
|
100
128
|
{% if include.anchorClass %}
|
@@ -102,14 +130,14 @@
|
|
102
130
|
{% endif %}
|
103
131
|
|
104
132
|
{% if include.anchorTitle %}
|
105
|
-
{% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%',
|
133
|
+
{% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', escaped_header }}"{% endcapture %}
|
106
134
|
{% endif %}
|
107
135
|
|
108
136
|
{% if include.anchorAttrs %}
|
109
|
-
{% capture anchor %}{{ anchor }} {{ include.anchorAttrs | replace: '%heading%',
|
137
|
+
{% capture anchor %}{{ anchor }} {{ include.anchorAttrs | replace: '%heading%', escaped_header | replace: '%html_id%', html_id }}{% endcapture %}
|
110
138
|
{% endif %}
|
111
139
|
|
112
|
-
{% capture anchor %}<a {{ anchor }}>{{ include.anchorBody | replace: '%heading%',
|
140
|
+
{% capture anchor %}<a {{ anchor }}>{{ include.anchorBody | replace: '%heading%', escaped_header | default: '' }}</a>{% endcapture %}
|
113
141
|
|
114
142
|
<!-- In order to prevent adding extra space after a heading, we'll let the 'anchor' value contain it -->
|
115
143
|
{% if beforeHeading %}
|
@@ -120,15 +148,15 @@
|
|
120
148
|
{% endif %}
|
121
149
|
|
122
150
|
{% capture new_heading %}
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
151
|
+
<h{{ _hAttrToStrip }}
|
152
|
+
{{ include.bodyPrefix }}
|
153
|
+
{% if beforeHeading %}
|
154
|
+
{{ anchor }}{{ header }}
|
155
|
+
{% else %}
|
156
|
+
{{ header }}{{ anchor }}
|
157
|
+
{% endif %}
|
158
|
+
{{ include.bodySuffix }}
|
159
|
+
</h{{ headerLevel }}>
|
132
160
|
{% endcapture %}
|
133
161
|
|
134
162
|
<!--
|
data/_layouts/default.html
CHANGED
@@ -8,148 +8,12 @@ layout: table_wrappers
|
|
8
8
|
{% include head.html %}
|
9
9
|
<body>
|
10
10
|
<a class="skip-to-main" href="#main-content">Skip to main content</a>
|
11
|
-
|
12
|
-
|
13
|
-
<title>Link</title>
|
14
|
-
<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">
|
15
|
-
<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>
|
16
|
-
</svg>
|
17
|
-
</symbol>
|
18
|
-
<symbol id="svg-search" viewBox="0 0 24 24">
|
19
|
-
<title>Search</title>
|
20
|
-
<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">
|
21
|
-
<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
|
22
|
-
</svg>
|
23
|
-
</symbol>
|
24
|
-
<symbol id="svg-menu" viewBox="0 0 24 24">
|
25
|
-
<title>Menu</title>
|
26
|
-
<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">
|
27
|
-
<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>
|
28
|
-
</svg>
|
29
|
-
</symbol>
|
30
|
-
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
31
|
-
<title>Expand</title>
|
32
|
-
<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">
|
33
|
-
<polyline points="9 18 15 12 9 6"></polyline>
|
34
|
-
</svg>
|
35
|
-
</symbol>
|
36
|
-
<symbol id="svg-doc" viewBox="0 0 24 24">
|
37
|
-
<title>Document</title>
|
38
|
-
<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">
|
39
|
-
<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>
|
40
|
-
</svg>
|
41
|
-
</symbol>
|
42
|
-
{% include icons/external_link.html %}
|
43
|
-
</svg>
|
44
|
-
|
45
|
-
<div class="side-bar">
|
46
|
-
<div class="site-header">
|
47
|
-
<a href="{{ '/' | relative_url }}" class="site-title lh-tight">{% include title.html %}</a>
|
48
|
-
<a href="#" id="menu-button" class="site-button">
|
49
|
-
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
|
50
|
-
</a>
|
51
|
-
</div>
|
52
|
-
<nav aria-label="Main" id="site-nav" class="site-nav">
|
53
|
-
{% assign pages_top_size = site.html_pages
|
54
|
-
| where_exp:"item", "item.title != nil"
|
55
|
-
| where_exp:"item", "item.parent == nil"
|
56
|
-
| where_exp:"item", "item.nav_exclude != true"
|
57
|
-
| size %}
|
58
|
-
{% if pages_top_size > 0 %}
|
59
|
-
{% include nav.html pages=site.html_pages key=nil %}
|
60
|
-
{% endif %}
|
61
|
-
{% if site.just_the_docs.collections %}
|
62
|
-
{% assign collections_size = site.just_the_docs.collections | size %}
|
63
|
-
{% for collection_entry in site.just_the_docs.collections %}
|
64
|
-
{% assign collection_key = collection_entry[0] %}
|
65
|
-
{% assign collection_value = collection_entry[1] %}
|
66
|
-
{% assign collection = site[collection_key] %}
|
67
|
-
{% if collection_value.nav_exclude != true %}
|
68
|
-
{% if collections_size > 1 or pages_top_size > 0 %}
|
69
|
-
{% if collection_value.nav_fold == true %}
|
70
|
-
<ul class="nav-list nav-category-list">
|
71
|
-
<li class="nav-list-item{% if page.collection == collection_key %} active{% endif %}">
|
72
|
-
{%- if collection.size > 0 -%}
|
73
|
-
<a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
|
74
|
-
{%- endif -%}
|
75
|
-
<div class="nav-category">{{ collection_value.name }}</div>
|
76
|
-
{% include nav.html pages=collection key=collection_key %}
|
77
|
-
</li>
|
78
|
-
</ul>
|
79
|
-
{% else %}
|
80
|
-
<div class="nav-category">{{ collection_value.name }}</div>
|
81
|
-
{% include nav.html pages=collection key=collection_key %}
|
82
|
-
{% endif %}
|
83
|
-
{% else %}
|
84
|
-
{% include nav.html pages=collection key=collection_key %}
|
85
|
-
{% endif %}
|
86
|
-
{% endif %}
|
87
|
-
{% endfor %}
|
88
|
-
{% endif %}
|
89
|
-
</nav>
|
90
|
-
|
91
|
-
{% capture nav_footer_custom %}
|
92
|
-
{%- include nav_footer_custom.html -%}
|
93
|
-
{% endcapture %}
|
94
|
-
{% if nav_footer_custom != "" %}
|
95
|
-
{{ nav_footer_custom }}
|
96
|
-
{% else %}
|
97
|
-
<footer class="site-footer">
|
98
|
-
This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
|
99
|
-
</footer>
|
100
|
-
{% endif %}
|
101
|
-
</div>
|
11
|
+
{% include icons/icons.html %}
|
12
|
+
{% include components/sidebar.html %}
|
102
13
|
<div class="main" id="top">
|
103
|
-
|
104
|
-
{% if site.search_enabled != false %}
|
105
|
-
|
106
|
-
{% capture search_placeholder %}{% include search_placeholder_custom.html %}{% endcapture %}
|
107
|
-
|
108
|
-
<div class="search">
|
109
|
-
<div class="search-input-wrap">
|
110
|
-
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="{{ search_placeholder | strip_html | strip }}" aria-label="{{ search_placeholder | strip_html| strip }}" autocomplete="off">
|
111
|
-
<label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
|
112
|
-
</div>
|
113
|
-
<div id="search-results" class="search-results"></div>
|
114
|
-
</div>
|
115
|
-
{% else %}
|
116
|
-
<div></div>
|
117
|
-
{% endif %}
|
118
|
-
{% include header_custom.html %}
|
119
|
-
{% if site.aux_links %}
|
120
|
-
<nav aria-label="Auxiliary" class="aux-nav">
|
121
|
-
<ul class="aux-nav-list">
|
122
|
-
{% for link in site.aux_links %}
|
123
|
-
<li class="aux-nav-list-item">
|
124
|
-
<a href="{{ link.last }}" class="site-button"
|
125
|
-
{% if site.aux_links_new_tab %}
|
126
|
-
target="_blank" rel="noopener noreferrer"
|
127
|
-
{% endif %}
|
128
|
-
>
|
129
|
-
{{ link.first }}
|
130
|
-
</a>
|
131
|
-
</li>
|
132
|
-
{% endfor %}
|
133
|
-
</ul>
|
134
|
-
</nav>
|
135
|
-
{% endif %}
|
136
|
-
</div>
|
14
|
+
{% include components/header.html %}
|
137
15
|
<div id="main-content-wrap" class="main-content-wrap">
|
138
|
-
{%
|
139
|
-
{% if page.parent %}
|
140
|
-
<nav aria-label="Breadcrumb" class="breadcrumb-nav">
|
141
|
-
<ol class="breadcrumb-nav-list">
|
142
|
-
{% if page.grand_parent %}
|
143
|
-
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
|
144
|
-
<li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
|
145
|
-
{% else %}
|
146
|
-
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
|
147
|
-
{% endif %}
|
148
|
-
<li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
|
149
|
-
</ol>
|
150
|
-
</nav>
|
151
|
-
{% endif %}
|
152
|
-
{% endunless %}
|
16
|
+
{% include components/breadcrumbs.html %}
|
153
17
|
<div id="main-content" class="main-content" role="main">
|
154
18
|
{% if site.heading_anchors != false %}
|
155
19
|
{% 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%\"" %}
|
@@ -158,72 +22,20 @@ layout: table_wrappers
|
|
158
22
|
{% endif %}
|
159
23
|
|
160
24
|
{% if page.has_children == true and page.has_toc != false %}
|
161
|
-
|
162
|
-
{% include toc_heading_custom.html %}
|
163
|
-
<ul>
|
164
|
-
{% for child in toc_list %}
|
165
|
-
<li>
|
166
|
-
<a href="{{ child.url | relative_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
|
167
|
-
</li>
|
168
|
-
{% endfor %}
|
169
|
-
</ul>
|
25
|
+
{% include components/children_nav.html toc_list=toc_list %}
|
170
26
|
{% endif %}
|
171
27
|
|
172
|
-
{%
|
173
|
-
{%- include footer_custom.html -%}
|
174
|
-
{% endcapture %}
|
175
|
-
{% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %}
|
176
|
-
<hr>
|
177
|
-
<footer>
|
178
|
-
{% if site.back_to_top %}
|
179
|
-
<p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p>
|
180
|
-
{% endif %}
|
181
|
-
|
182
|
-
{{ footer_custom }}
|
183
|
-
|
184
|
-
{% if site.last_edit_timestamp or site.gh_edit_link %}
|
185
|
-
<div class="d-flex mt-2">
|
186
|
-
{% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
|
187
|
-
<p class="text-small text-grey-dk-000 mb-0 mr-2">
|
188
|
-
Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
|
189
|
-
</p>
|
190
|
-
{% endif %}
|
191
|
-
{% if
|
192
|
-
site.gh_edit_link and
|
193
|
-
site.gh_edit_link_text and
|
194
|
-
site.gh_edit_repository and
|
195
|
-
site.gh_edit_branch and
|
196
|
-
site.gh_edit_view_mode
|
197
|
-
%}
|
198
|
-
<p class="text-small text-grey-dk-000 mb-0">
|
199
|
-
<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 %}{% if page.collection and site.collections_dir %}/{{ site.collections_dir }}{% endif %}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a>
|
200
|
-
</p>
|
201
|
-
{% endif %}
|
202
|
-
</div>
|
203
|
-
{% endif %}
|
204
|
-
</footer>
|
205
|
-
{% endif %}
|
28
|
+
{% include components/footer.html %}
|
206
29
|
|
207
30
|
</div>
|
208
31
|
</div>
|
209
|
-
|
210
32
|
{% if site.search_enabled != false %}
|
211
|
-
{%
|
212
|
-
<a href="#" id="search-button" class="search-button">
|
213
|
-
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg>
|
214
|
-
</a>
|
215
|
-
{% endif %}
|
216
|
-
|
217
|
-
<div class="search-overlay"></div>
|
33
|
+
{% include components/search_footer.html %}
|
218
34
|
{% endif %}
|
219
35
|
</div>
|
220
36
|
|
221
37
|
{% if site.mermaid %}
|
222
|
-
|
223
|
-
var config = {% include mermaid_config.js %};
|
224
|
-
mermaid.initialize(config);
|
225
|
-
window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
|
226
|
-
</script>
|
38
|
+
{% include components/mermaid.html %}
|
227
39
|
{% endif %}
|
228
40
|
</body>
|
229
41
|
</html>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
layout: table_wrappers
|
3
|
+
---
|
4
|
+
|
5
|
+
<!DOCTYPE html>
|
6
|
+
|
7
|
+
<html lang="{{ site.lang | default: 'en-US' }}">
|
8
|
+
{% include head.html %}
|
9
|
+
<body>
|
10
|
+
<a class="skip-to-main" href="#main-content">Skip to main content</a>
|
11
|
+
{% include icons/icons.html %}
|
12
|
+
{% comment %}
|
13
|
+
This is a bandaid fix to properly render breadcrumbs; as of now, there is some variable leakage between the sidebar component (which computes parents, grandparents) and the breadcrumbs component. We plan to remove this in a future release to deduplicate code.
|
14
|
+
|
15
|
+
For more context, see https://github.com/just-the-docs/just-the-docs/pull/1058#discussion_r1057014053
|
16
|
+
{% endcomment %}
|
17
|
+
{% capture nav %}
|
18
|
+
{% assign pages_top_size = site.html_pages
|
19
|
+
| where_exp:"item", "item.title != nil"
|
20
|
+
| where_exp:"item", "item.parent == nil"
|
21
|
+
| where_exp:"item", "item.nav_exclude != true"
|
22
|
+
| size %}
|
23
|
+
{% if pages_top_size > 0 %}
|
24
|
+
{% include nav.html pages=site.html_pages key=nil %}
|
25
|
+
{% endif %}
|
26
|
+
{% if site.just_the_docs.collections %}
|
27
|
+
{% assign collections_size = site.just_the_docs.collections | size %}
|
28
|
+
{% for collection_entry in site.just_the_docs.collections %}
|
29
|
+
{% assign collection_key = collection_entry[0] %}
|
30
|
+
{% assign collection_value = collection_entry[1] %}
|
31
|
+
{% assign collection = site[collection_key] %}
|
32
|
+
{% if collection_value.nav_exclude != true %}
|
33
|
+
{% include nav.html pages=collection key=collection_key %}
|
34
|
+
{% endif %}
|
35
|
+
{% endfor %}
|
36
|
+
{% endif %}
|
37
|
+
{% endcapture %}
|
38
|
+
<div id="main-content-wrap" class="main-content-wrap" id="top">
|
39
|
+
{% include components/breadcrumbs.html %}
|
40
|
+
<div id="main-content" class="main-content" role="main">
|
41
|
+
{% if site.heading_anchors != false %}
|
42
|
+
{% 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%\"" %}
|
43
|
+
{% else %}
|
44
|
+
{{ content }}
|
45
|
+
{% endif %}
|
46
|
+
|
47
|
+
{% if page.has_children == true and page.has_toc != false %}
|
48
|
+
{% include components/children_nav.html toc_list=toc_list %}
|
49
|
+
{% endif %}
|
50
|
+
|
51
|
+
{% include components/footer.html %}
|
52
|
+
|
53
|
+
</div>
|
54
|
+
</div>
|
55
|
+
|
56
|
+
{% if site.mermaid %}
|
57
|
+
{% include components/mermaid.html %}
|
58
|
+
{% endif %}
|
59
|
+
</body>
|
60
|
+
</html>
|
data/_sass/buttons.scss
CHANGED