just-the-docs 0.5.4 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +58 -5
- data/_includes/components/sidebar.html +17 -5
- data/_includes/css/activation.scss.liquid +173 -0
- data/_includes/favicon.html +23 -0
- data/_includes/head.html +15 -8
- data/_includes/head_nav.html +48 -0
- data/_includes/nav.html +47 -78
- data/_includes/sorted_pages.html +48 -34
- data/_layouts/default.html +1 -1
- data/_layouts/minimal.html +1 -1
- data/_sass/base.scss +4 -0
- data/_sass/buttons.scss +6 -2
- data/_sass/color_schemes/dark.scss +1 -0
- data/_sass/color_schemes/light.scss +1 -0
- data/_sass/search.scss +19 -6
- data/_sass/support/_variables.scss +1 -0
- data/_sass/support/mixins/_buttons.scss +3 -1
- data/_sass/tables.scss +3 -1
- data/assets/js/just-the-docs.js +60 -6
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d446ba90f56256475c5081e27d1a5f344210001ae32a51b180946ce22a2981ae
|
4
|
+
data.tar.gz: c77e78250f79451b833b4b5482069a978c92933e89079f0efcc67fa6f161fa38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99744850f76f7660bc97b00d6fcbf2acd9f9495c466fc7c3f0a65474fcea05c94e5448f8b16be0d90f39a76e6e7f1c08bd8b64348924179421a46a40a9767c7f
|
7
|
+
data.tar.gz: 9ea114f0cd183928b053e40ba2a6474fe2936b4bfcc34b2956643ff5e6ef1c11db0b2fcb9265f830467af1e697b076a53b0e90eb24699bbdc11182a9ce67d8fb
|
data/CHANGELOG.md
CHANGED
@@ -15,16 +15,69 @@ The project underwent a major maintenance shift in March 2022.
|
|
15
15
|
{: .note }
|
16
16
|
This website is built from the `HEAD` of the `main` branch of the theme repository.
|
17
17
|
|
18
|
-
{: .warning }
|
19
|
-
This website includes docs for some new features that are not available in `v0.5.2`!
|
20
|
-
|
21
18
|
Code changes to `main` that are *not* in the latest release:
|
22
19
|
|
23
20
|
- N/A
|
24
21
|
|
25
|
-
|
22
|
+
## Release v0.6.0
|
26
23
|
|
27
|
-
-
|
24
|
+
Hi all, this is a minor release that introduces performance improvements for build times on large sites, correctly sets the `color-scheme` property, and fixes invalid HTML. However, it introduces some potentially-breaking *internal* changes to undocumented features of the theme.
|
25
|
+
|
26
|
+
### Migrating to `v0.6.0`
|
27
|
+
|
28
|
+
**Migration**: users will need to migrate if:
|
29
|
+
|
30
|
+
- they have an existing `_includes` file named `favicon.html`, `head_nav.html`, or `css/activation.scss.liquid`
|
31
|
+
- they have code that refers to `#main-content-wrap`
|
32
|
+
- they override the default `light` theme's code, or the theme-loading logic
|
33
|
+
- they have different favicons for different pages
|
34
|
+
|
35
|
+
For more, refer to the [migration guide](https://just-the-docs.com/MIGRATION/).
|
36
|
+
|
37
|
+
### Using Release `v0.6.0`
|
38
|
+
|
39
|
+
Users who have not pinned the theme version will be **automatically upgraded to `v0.6.0` the next time they build their site**.
|
40
|
+
|
41
|
+
To use this release explicitly as a remote theme:
|
42
|
+
|
43
|
+
```yml
|
44
|
+
remote_theme: just-the-docs/just-the-docs@v0.6.0
|
45
|
+
```
|
46
|
+
|
47
|
+
To use this version explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
gem "just-the-docs", "0.6.0"
|
51
|
+
```
|
52
|
+
|
53
|
+
To use and pin a previous version of the theme, replace the `0.6.0` with the desired release tag.
|
54
|
+
|
55
|
+
### New Features and Bugfixes
|
56
|
+
|
57
|
+
- Added: `$color-scheme` theme variable to specify `color-scheme` for `:root` by [@sigv] in [#1280]
|
58
|
+
- Fixed: build times for large sites by [@pdmosses] in [#1244]
|
59
|
+
- Fixed: missing closing `</button>` tag in `sidebar.html` by [@mattxwang] in [#1304]
|
60
|
+
- Fixed: removed duplicate `#main-content-wrap` minimal and default layouts by [@mattxwang] in [#1305]
|
61
|
+
|
62
|
+
### Documentation
|
63
|
+
|
64
|
+
{: .warning }
|
65
|
+
The theme docs are unversioned, and already reflect the above changes.
|
66
|
+
|
67
|
+
Docs changes:
|
68
|
+
|
69
|
+
- A [footnote]({% link docs/configuration.md %}#fn:js-disabled) in the configuration docs explains how disabling JavaScript affects the display of navigation links when browsing folded collections.
|
70
|
+
- Invalid HTML has been removed from most documentation examples.
|
71
|
+
|
72
|
+
### New Contributors
|
73
|
+
|
74
|
+
- [@sigv] made their first contribution in [#1280]
|
75
|
+
|
76
|
+
[@sigv]: https://github.com/sigv
|
77
|
+
[#1244]: https://github.com/just-the-docs/just-the-docs/pull/1244
|
78
|
+
[#1280]: https://github.com/just-the-docs/just-the-docs/pull/1280
|
79
|
+
[#1304]: https://github.com/just-the-docs/just-the-docs/pull/1304
|
80
|
+
[#1305]: https://github.com/just-the-docs/just-the-docs/pull/1305
|
28
81
|
|
29
82
|
## Release v0.5.4
|
30
83
|
|
@@ -1,9 +1,21 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
Include as: {%- include components/sidebar.html -%}
|
3
|
+
Depends on: page(?), site.
|
4
|
+
Results in: HTML for the side bar.
|
5
|
+
Includes:
|
6
|
+
title.html, nav.html, nav_footer_custom.html
|
7
|
+
Overwrites:
|
8
|
+
pages_top_size, collections_size, collection_entry,
|
9
|
+
collection_key, collection_value, collection, nav_footer_custom.
|
10
|
+
Should not be cached, because nav_footer_custom.html might depend on page.
|
11
|
+
{%- endcomment -%}
|
12
|
+
|
1
13
|
<div class="side-bar">
|
2
14
|
<div class="site-header" role="banner">
|
3
15
|
<a href="{{ '/' | relative_url }}" class="site-title lh-tight">{% include title.html %}</a>
|
4
16
|
<button id="menu-button" class="site-button btn-reset" aria-label="Toggle menu" aria-pressed="false">
|
5
17
|
<svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg>
|
6
|
-
</
|
18
|
+
</button>
|
7
19
|
</div>
|
8
20
|
<nav aria-label="Main" id="site-nav" class="site-nav">
|
9
21
|
{% assign pages_top_size = site.html_pages
|
@@ -12,7 +24,7 @@
|
|
12
24
|
| where_exp:"item", "item.nav_exclude != true"
|
13
25
|
| size %}
|
14
26
|
{% if pages_top_size > 0 %}
|
15
|
-
{%
|
27
|
+
{% include_cached nav.html pages=site.html_pages %}
|
16
28
|
{% endif %}
|
17
29
|
{%- if site.nav_external_links -%}
|
18
30
|
<ul class="nav-list">
|
@@ -43,15 +55,15 @@
|
|
43
55
|
</button>
|
44
56
|
{%- endif -%}
|
45
57
|
<div class="nav-category">{{ collection_value.name }}</div>
|
46
|
-
{%
|
58
|
+
{% include_cached nav.html pages=collection %}
|
47
59
|
</li>
|
48
60
|
</ul>
|
49
61
|
{% else %}
|
50
62
|
<div class="nav-category">{{ collection_value.name }}</div>
|
51
|
-
{%
|
63
|
+
{% include_cached nav.html pages=collection %}
|
52
64
|
{% endif %}
|
53
65
|
{% else %}
|
54
|
-
{%
|
66
|
+
{% include_cached nav.html pages=collection %}
|
55
67
|
{% endif %}
|
56
68
|
{% endif %}
|
57
69
|
{% endfor %}
|
@@ -0,0 +1,173 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
Include as: {%- include css/activation.scss.liquid -%}
|
3
|
+
Depends on: page, site.
|
4
|
+
Results in: page-dependent SCSS rules for inclusion in a head style element.
|
5
|
+
Includes:
|
6
|
+
sorted_pages.html.
|
7
|
+
Overwrites:
|
8
|
+
activation_pages, activation_pages_top_size, activation_page, activation_title,
|
9
|
+
activation_first_level, activation_second_level, activation_third_level,
|
10
|
+
activation_first_level_reversed, activation_second_level_reversed,
|
11
|
+
activation_first_level_index, activation_second_level_index, activation_third_level_index.
|
12
|
+
Should not be cached, because it depends on page.
|
13
|
+
(For a site with only top-level pages, the rendering of this file is always empty.
|
14
|
+
This property could be detected, and might halve the build time for such sites.)
|
15
|
+
{%- endcomment -%}
|
16
|
+
|
17
|
+
{%- unless page.title == nil or page.nav_exclude == true -%}
|
18
|
+
|
19
|
+
{%- assign activation_pages = site[page.collection]
|
20
|
+
| default: site.html_pages
|
21
|
+
| where_exp: "item", "item.title != nil"
|
22
|
+
| where_exp: "item", "item.nav_exclude != true" -%}
|
23
|
+
|
24
|
+
{%- assign activation_first_level_index = nil -%}
|
25
|
+
{%- assign activation_second_level_index = nil -%}
|
26
|
+
{%- assign activation_third_level_index = nil -%}
|
27
|
+
{%- assign activation_first_level_reversed = nil -%}
|
28
|
+
{%- assign activation_second_level_reversed = nil -%}
|
29
|
+
|
30
|
+
{%- assign activation_title = page.grand_parent | default: page.parent | default: page.title -%}
|
31
|
+
{%- assign activation_first_level = activation_pages
|
32
|
+
| where_exp: "item", "item.parent == nil" -%}
|
33
|
+
{%- include sorted_pages.html pages = activation_first_level -%}
|
34
|
+
{%- for activation_page in sorted_pages -%}
|
35
|
+
{%- if activation_page.title == activation_title -%}
|
36
|
+
{%- assign activation_first_level_index = forloop.index -%}
|
37
|
+
{%- assign activation_first_level_reversed = activation_page.child_nav_order -%}
|
38
|
+
{%- break -%}
|
39
|
+
{%- endif -%}
|
40
|
+
{%- endfor -%}
|
41
|
+
|
42
|
+
{%- unless activation_first_level_index == nil -%}
|
43
|
+
|
44
|
+
{%- if page.grand_parent -%}
|
45
|
+
{%- assign activation_title = page.parent -%}
|
46
|
+
{%- assign activation_second_level = activation_pages
|
47
|
+
| where_exp: "item", "item.grand_parent == nil"
|
48
|
+
| where_exp: "item", "item.parent == page.grand_parent" -%}
|
49
|
+
{%- elsif page.parent -%}
|
50
|
+
{%- assign activation_title = page.title -%}
|
51
|
+
{%- assign activation_second_level = activation_pages
|
52
|
+
| where_exp: "item", "item.grand_parent == nil"
|
53
|
+
| where_exp: "item", "item.parent == page.parent" -%}
|
54
|
+
{%- endif -%}
|
55
|
+
{%- if page.parent -%}
|
56
|
+
{%- include sorted_pages.html pages = activation_second_level -%}
|
57
|
+
{%- for activation_page in sorted_pages -%}
|
58
|
+
{%- if activation_page.title == activation_title -%}
|
59
|
+
{%- assign activation_second_level_index = forloop.index -%}
|
60
|
+
{%- assign activation_second_level_reversed = activation_page.child_nav_order -%}
|
61
|
+
{%- if activation_first_level_reversed -%}
|
62
|
+
{%- assign activation_second_level_index = sorted_pages | size | plus: 1 | minus: activation_second_level_index -%}
|
63
|
+
{%- endif -%}
|
64
|
+
{%- break -%}
|
65
|
+
{%- endif -%}
|
66
|
+
{%- endfor -%}
|
67
|
+
{%- endif -%}
|
68
|
+
|
69
|
+
{%- if page.grand_parent -%}
|
70
|
+
{%- assign activation_third_level = activation_pages
|
71
|
+
| where_exp: "item", "item.parent == page.parent"
|
72
|
+
| where_exp: "item", "item.grand_parent == page.grand_parent" -%}
|
73
|
+
{%- include sorted_pages.html pages = activation_third_level -%}
|
74
|
+
{%- assign activation_third_level = sorted_pages -%}
|
75
|
+
{%- for activation_page in sorted_pages -%}
|
76
|
+
{%- if activation_page.title == page.title -%}
|
77
|
+
{%- assign activation_third_level_index = forloop.index -%}
|
78
|
+
{%- if activation_second_level_reversed -%}
|
79
|
+
{%- assign activation_third_level_index = sorted_pages | size | plus: 1 | minus: activation_third_level_index -%}
|
80
|
+
{%- endif -%}
|
81
|
+
{%- break -%}
|
82
|
+
{%- endif -%}
|
83
|
+
{%- endfor -%}
|
84
|
+
{%- endif -%}
|
85
|
+
|
86
|
+
{%- unless activation_second_level_index == nil and activation_third_level_index -%}
|
87
|
+
|
88
|
+
{%- if page.collection == nil -%}
|
89
|
+
|
90
|
+
{%- capture activation_collection_prefix -%}
|
91
|
+
.site-nav > .nav-list:nth-child(1):not(.nav-category-list)
|
92
|
+
{%- endcapture -%}
|
93
|
+
|
94
|
+
{%- else -%}
|
95
|
+
|
96
|
+
{%- for activation_collection in site.just_the_docs.collections -%}
|
97
|
+
{%- if activation_collection[0] == page.collection -%}
|
98
|
+
{%- assign activation_collection_index = forloop.index -%}
|
99
|
+
{%- break -%}
|
100
|
+
{%- endif -%}
|
101
|
+
{%- endfor -%}
|
102
|
+
{%- assign activation_index = activation_collection_index -%}
|
103
|
+
{%- assign activation_pages_top_size = site.html_pages
|
104
|
+
| where_exp:"item", "item.title != nil"
|
105
|
+
| where_exp:"item", "item.parent == nil"
|
106
|
+
| where_exp:"item", "item.nav_exclude != true"
|
107
|
+
| size -%}
|
108
|
+
{%- if activation_pages_top_size > 0 -%}
|
109
|
+
{%- assign activation_index = activation_index | plus: 1 -%}
|
110
|
+
{%- endif -%}
|
111
|
+
{%- if site.nav_external_links -%}
|
112
|
+
{%- assign activation_index = activation_index | plus: 1 -%}
|
113
|
+
{%- endif -%}
|
114
|
+
{%- capture activation_collection_prefix -%}
|
115
|
+
.site-nav > .nav-list:nth-of-type({{ activation_index }}){% if site.just_the_docs.collections[page.collection].nav_fold == true %} > .nav-list-item > .nav-list{% endif %}
|
116
|
+
{%- endcapture -%}
|
117
|
+
|
118
|
+
{%- endif -%}
|
119
|
+
|
120
|
+
// Styling for the nav-list-link to the current page:
|
121
|
+
{{ activation_collection_prefix }} {
|
122
|
+
> .nav-list-item:not(.external):nth-child({{ activation_first_level_index }}){%- if activation_second_level_index %} > .nav-list > .nav-list-item:nth-child({{ activation_second_level_index }}){%- if activation_third_level_index %} > .nav-list > .nav-list-item:nth-child({{ activation_third_level_index }}){% endif %}{% endif %} {
|
123
|
+
> .nav-list-link {
|
124
|
+
display: block;
|
125
|
+
font-weight: 600;
|
126
|
+
text-decoration: none;
|
127
|
+
background-image: linear-gradient(
|
128
|
+
-90deg,
|
129
|
+
rgba($feedback-color, 1) 0%,
|
130
|
+
rgba($feedback-color, 0.8) 80%,
|
131
|
+
rgba($feedback-color, 0) 100%
|
132
|
+
);
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
// Styling for nav-list-expanders at first and second levels,
|
138
|
+
// suppressed when a click has deactivated the expander (making the nav-list-item .passive):
|
139
|
+
{{ activation_collection_prefix }} {
|
140
|
+
> .nav-list-item:not(.passive):nth-child({{ activation_first_level_index }}){%- if activation_second_level_index %},
|
141
|
+
> .nav-list-item:not(.passive):nth-child({{ activation_first_level_index }}) > .nav-list > .nav-list-item:not(.passive):nth-child({{ activation_second_level_index }}){% endif %} {
|
142
|
+
> .nav-list-expander svg {
|
143
|
+
@if $nav-list-expander-right {
|
144
|
+
transform: rotate(-90deg);
|
145
|
+
} @else {
|
146
|
+
transform: rotate(90deg);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
> .nav-list {
|
151
|
+
display: block;
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
// Styling for nav-list-expander for categories:
|
157
|
+
.site-nav > .nav-category-list > .nav-list-item:not(.passive) {
|
158
|
+
> .nav-list-expander svg {
|
159
|
+
@if $nav-list-expander-right {
|
160
|
+
transform: rotate(-90deg);
|
161
|
+
} @else {
|
162
|
+
transform: rotate(90deg);
|
163
|
+
}
|
164
|
+
}
|
165
|
+
|
166
|
+
> .nav-list {
|
167
|
+
display: block;
|
168
|
+
}
|
169
|
+
}
|
170
|
+
|
171
|
+
{%- endunless -%}
|
172
|
+
{%- endunless -%}
|
173
|
+
{%- endunless -%}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
Include as: {%- include_cached favicon.html -%}
|
3
|
+
Depends on: site.static_files.
|
4
|
+
Results in: HTML for a link to an existing `favicon.ico` file.
|
5
|
+
Overwrites:
|
6
|
+
file.
|
7
|
+
|
8
|
+
The endoflife.date site has 226 pages and 3410 static files. @marcwrobel pointed
|
9
|
+
out that the time taken by evaluating the code in this file on every page when
|
10
|
+
building that site was significant, and suggested making it optional. As it is
|
11
|
+
page-independent, it can easily be cached. Doing that reduced the time taken by
|
12
|
+
rendering `_includes/head.html` from 15.294s to 10.760s, thereby reducing the
|
13
|
+
total build time from 26.074s to 21.656s -- a saving of about 17%.
|
14
|
+
{%- endcomment -%}
|
15
|
+
|
16
|
+
{% for file in site.static_files %}
|
17
|
+
{% if file.path == site.favicon_ico or file.path == '/favicon.ico' %}
|
18
|
+
{% assign favicon = true %}
|
19
|
+
{% endif %}
|
20
|
+
{% endfor %}
|
21
|
+
{% if favicon %}
|
22
|
+
<link rel="icon" href="{{ site.favicon_ico | default: '/favicon.ico' | relative_url }}" type="image/x-icon">
|
23
|
+
{% endif %}
|
data/_includes/head.html
CHANGED
@@ -1,8 +1,22 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
Include as: {%- include head.html -%}
|
3
|
+
Depends on: site.ga_tracking, site.ga_tracking_anonymize_ip,
|
4
|
+
site.search_enabled, site.static_files, site.favicon_ico.
|
5
|
+
Results in: HTML for the head element.
|
6
|
+
Includes:
|
7
|
+
head_nav.html, head_custom.html.
|
8
|
+
Overwrites:
|
9
|
+
ga_tracking_ids, ga_property, file, favicon.
|
10
|
+
Should not be cached, because included files depend on page.
|
11
|
+
{%- endcomment -%}
|
12
|
+
|
1
13
|
<head>
|
2
14
|
<meta charset="UTF-8">
|
3
15
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
4
16
|
|
5
17
|
<link rel="stylesheet" href="{{ '/assets/css/just-the-docs-default.css' | relative_url }}">
|
18
|
+
|
19
|
+
{% include head_nav.html %}
|
6
20
|
|
7
21
|
{% if site.ga_tracking != nil %}
|
8
22
|
{% assign ga_tracking_ids = site.ga_tracking | split: "," %}
|
@@ -26,14 +40,7 @@
|
|
26
40
|
|
27
41
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
28
42
|
|
29
|
-
{%
|
30
|
-
{% if file.path == site.favicon_ico or file.path == '/favicon.ico' %}
|
31
|
-
{% assign favicon = true %}
|
32
|
-
{% endif %}
|
33
|
-
{% endfor %}
|
34
|
-
{% if favicon %}
|
35
|
-
<link rel="icon" href="{{ site.favicon_ico | default: '/favicon.ico' | relative_url }}" type="image/x-icon">
|
36
|
-
{% endif %}
|
43
|
+
{% include_cached favicon.html %}
|
37
44
|
|
38
45
|
{% seo %}
|
39
46
|
|
@@ -0,0 +1,48 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
Include as: {%- include head_nav.html -%}
|
3
|
+
Depends on: site.color_scheme.
|
4
|
+
Results in: HTML for a page-specific style element.
|
5
|
+
Includes:
|
6
|
+
css/activation.scss.liquid.
|
7
|
+
Overwrites:
|
8
|
+
activation, test_scss, scss, css, index, count.
|
9
|
+
Should not be cached, because css/activation.scss.liquid depends on page.
|
10
|
+
{%- endcomment -%}
|
11
|
+
|
12
|
+
{% capture activation %}
|
13
|
+
{% include css/activation.scss.liquid %}
|
14
|
+
{%- endcapture -%}
|
15
|
+
|
16
|
+
{% capture test_scss %}
|
17
|
+
@import "./support/support";
|
18
|
+
@import "./color_schemes/light";
|
19
|
+
{{ activation }}
|
20
|
+
{%- endcapture -%}
|
21
|
+
|
22
|
+
{%- capture scss -%}
|
23
|
+
@import "./support/support";
|
24
|
+
@import "./custom/setup";
|
25
|
+
{% if site.color_scheme and site.color_scheme != "nil" -%}
|
26
|
+
{%- assign color_scheme = site.color_scheme -%}
|
27
|
+
{%- else -%}
|
28
|
+
{%- assign color_scheme = "light" -%}
|
29
|
+
{%- endif %}
|
30
|
+
@import "./color_schemes/light";
|
31
|
+
{% unless color_scheme == "light" %}
|
32
|
+
@import "./color_schemes/{{ color_scheme }}";
|
33
|
+
{% endunless %}
|
34
|
+
{{ activation }}
|
35
|
+
{%- endcapture -%}
|
36
|
+
|
37
|
+
{%- comment -%}
|
38
|
+
Convert to CSS, then remove the color_scheme import rules to avoid duplication.
|
39
|
+
The value of count is page-dependent, but independent of custom color schemes.
|
40
|
+
{%- endcomment -%}
|
41
|
+
{%- assign count = test_scss | scssify | split: ".site-nav" | size -%}
|
42
|
+
{%- unless count == 1 %}
|
43
|
+
{%- assign index = 1 | minus: count -%}
|
44
|
+
{%- assign css = scss | scssify | split: ".site-nav" | slice: index, count | join: ".site-nav" -%}
|
45
|
+
<style type="text/css">
|
46
|
+
{{ css | prepend: ".site-nav" }}
|
47
|
+
</style>
|
48
|
+
{%- endunless %}
|
data/_includes/nav.html
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{%- comment -%}
|
2
|
-
Include as: {%-
|
3
|
-
Depends on: include.pages
|
2
|
+
Include as: {%- include_cached nav.html pages=pages -%}
|
3
|
+
Depends on: include.pages.
|
4
4
|
Results in: HTML for the navigation panel.
|
5
5
|
Includes:
|
6
6
|
sorted_pages.html
|
@@ -15,6 +15,10 @@
|
|
15
15
|
|
16
16
|
{%- include sorted_pages.html pages = nav_pages -%}
|
17
17
|
|
18
|
+
{%- comment -%}
|
19
|
+
It might be more efficient to sort the pages at each level separately.
|
20
|
+
{%- endcomment -%}
|
21
|
+
|
18
22
|
{%- assign first_level_pages = sorted_pages
|
19
23
|
| where_exp: "item", "item.parent == nil" -%}
|
20
24
|
{%- assign second_level_pages = sorted_pages
|
@@ -23,84 +27,49 @@
|
|
23
27
|
{%- assign third_level_pages = sorted_pages
|
24
28
|
| where_exp: "item", "item.grand_parent != nil" -%}
|
25
29
|
|
26
|
-
{%- comment -%}
|
27
|
-
The order of sibling pages in `sorted_pages` determines the order of display of
|
28
|
-
links to them in lists of navigation links.
|
29
|
-
|
30
|
-
Note that Liquid evaluates conditions from right to left (and it does not allow
|
31
|
-
the use of parentheses). Some conditions are not so easy to express clearly...
|
32
|
-
|
33
|
-
For example, consider the following condition:
|
34
|
-
|
35
|
-
C: page.collection = = include.key and
|
36
|
-
page.url = = node.url or
|
37
|
-
page.grand_parent = = node.title or
|
38
|
-
page.parent = = node.title and
|
39
|
-
page.grand_parent = = nil
|
40
|
-
|
41
|
-
Here, `node` is a first-level page. The last part of the condition
|
42
|
-
-- namely: `page.parent = = node.title and page.grand_parent = = nil` --
|
43
|
-
is evaluated first; it holds if and only if `page` is a child of `node`.
|
44
|
-
|
45
|
-
The condition `page.grand_parent = = node.title or ...` holds when
|
46
|
-
`page` is a grandchild of node, OR `...` holds.
|
47
|
-
|
48
|
-
The condition `page.url = = node.url or ...` holds when
|
49
|
-
`page` is `node`, OR `...` holds.
|
50
|
-
|
51
|
-
The condition C: `page.collection = = include.key and ...` holds when we are
|
52
|
-
generating the nav links for a collection that includes `page`, AND `...` holds.
|
53
|
-
{%- endcomment -%}
|
54
|
-
|
55
30
|
<ul class="nav-list">
|
56
31
|
{%- for node in first_level_pages -%}
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
32
|
+
<li class="nav-list-item">
|
33
|
+
{%- if node.has_children -%}
|
34
|
+
<button class="nav-list-expander btn-reset" aria-label="toggle items in {{ node.title }} category" aria-pressed="false">
|
35
|
+
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
|
36
|
+
</button>
|
37
|
+
{%- endif -%}
|
38
|
+
<a href="{{ node.url | relative_url }}" class="nav-list-link">{{ node.title }}</a>
|
39
|
+
{%- if node.has_children -%}
|
40
|
+
{%- assign children_list = second_level_pages
|
41
|
+
| where: "parent", node.title -%}
|
42
|
+
{%- if node.child_nav_order == 'desc' or node.child_nav_order == 'reversed' -%}
|
43
|
+
{%- assign children_list = children_list | reverse -%}
|
44
|
+
{%- endif -%}
|
45
|
+
<ul class="nav-list">
|
46
|
+
{%- for child in children_list -%}
|
47
|
+
<li class="nav-list-item">
|
48
|
+
{%- if child.has_children -%}
|
49
|
+
<button class="nav-list-expander btn-reset" aria-label="toggle items in {{ child.title }} category" aria-pressed="false">
|
50
|
+
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
|
51
|
+
</button>
|
52
|
+
{%- endif -%}
|
53
|
+
<a href="{{ child.url | relative_url }}" class="nav-list-link">{{ child.title }}</a>
|
54
|
+
{%- if child.has_children -%}
|
55
|
+
{%- assign grand_children_list = third_level_pages
|
56
|
+
| where: "parent", child.title
|
57
|
+
| where: "grand_parent", node.title -%}
|
58
|
+
{%- if child.child_nav_order == 'desc' or child.child_nav_order == 'reversed' -%}
|
59
|
+
{%- assign grand_children_list = grand_children_list | reverse -%}
|
60
|
+
{%- endif -%}
|
61
|
+
<ul class="nav-list">
|
62
|
+
{%- for grand_child in grand_children_list -%}
|
63
|
+
<li class="nav-list-item">
|
64
|
+
<a href="{{ grand_child.url | relative_url }}" class="nav-list-link">{{ grand_child.title }}</a>
|
65
|
+
</li>
|
66
|
+
{%- endfor -%}
|
67
|
+
</ul>
|
70
68
|
{%- endif -%}
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
<button class="nav-list-expander btn-reset" aria-label="toggle items in {{ child.title }} category" aria-pressed="{% if page.url == child.url or page.parent == child.title %}true{% else %}false{% endif %}">
|
77
|
-
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
|
78
|
-
</button>
|
79
|
-
{%- endif -%}
|
80
|
-
<a href="{{ child.url | relative_url }}" class="nav-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
|
81
|
-
{%- if child.has_children -%}
|
82
|
-
{%- assign grand_children_list = third_level_pages
|
83
|
-
| where: "parent", child.title
|
84
|
-
| where: "grand_parent", node.title -%}
|
85
|
-
{%- if child.child_nav_order == 'desc' or child.child_nav_order == 'reversed' -%}
|
86
|
-
{%- assign grand_children_list = grand_children_list | reverse -%}
|
87
|
-
{%- endif -%}
|
88
|
-
<ul class="nav-list">
|
89
|
-
{%- for grand_child in grand_children_list -%}
|
90
|
-
{%- unless grand_child.nav_exclude -%}
|
91
|
-
<li class="nav-list-item {% if page.url == grand_child.url %} active{% endif %}">
|
92
|
-
<a href="{{ grand_child.url | relative_url }}" class="nav-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
|
93
|
-
</li>
|
94
|
-
{%- endunless -%}
|
95
|
-
{%- endfor -%}
|
96
|
-
</ul>
|
97
|
-
{%- endif -%}
|
98
|
-
</li>
|
99
|
-
{%- endunless -%}
|
100
|
-
{%- endfor -%}
|
101
|
-
</ul>
|
102
|
-
{%- endif -%}
|
103
|
-
</li>
|
104
|
-
{%- endunless -%}
|
69
|
+
</li>
|
70
|
+
{%- endfor -%}
|
71
|
+
</ul>
|
72
|
+
{%- endif -%}
|
73
|
+
</li>
|
105
74
|
{%- endfor -%}
|
106
75
|
</ul>
|
data/_includes/sorted_pages.html
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
{%- comment -%}
|
2
|
-
Include as: {%- include sorted_pages.html pages
|
2
|
+
Include as: {%- include sorted_pages.html pages=array_of_pages -%}
|
3
3
|
Depends on: include.pages.
|
4
4
|
Assigns to: sorted_pages.
|
5
5
|
Overwrites:
|
6
|
-
nav_order_pages, title_order_pages,
|
6
|
+
nav_order_pages, title_order_pages, double_quote, empty_array,
|
7
7
|
nav_number_pages, nav_string_pages, nav_order_groups, group,
|
8
8
|
title_number_pages, title_string_pages, title_order_groups.
|
9
9
|
{%- endcomment -%}
|
@@ -29,29 +29,55 @@
|
|
29
29
|
{%- endcomment -%}
|
30
30
|
|
31
31
|
{%- assign nav_order_pages = include.pages
|
32
|
-
|
32
|
+
| where_exp: "item", "item.nav_order != nil" -%}
|
33
33
|
{%- assign title_order_pages = include.pages
|
34
|
-
|
34
|
+
| where_exp: "item", "item.nav_order == nil" -%}
|
35
35
|
|
36
36
|
{%- comment -%}
|
37
|
-
|
38
|
-
|
37
|
+
First, filter `nav_order_pages` and `title_order_pages` according to the type
|
38
|
+
of value to be used for sorting.
|
39
39
|
|
40
|
-
The first character of the result of `jsonify` is `"` only for
|
41
|
-
|
40
|
+
The first character of the result of filtering with `jsonify` is `"` only for
|
41
|
+
strings. Removing `"` from its `slice : 0` has size 0 for strings and 1 for
|
42
|
+
numbers, so grouping the pages gives at most two groups.
|
42
43
|
{%- endcomment -%}
|
43
44
|
|
44
|
-
{%- assign
|
45
|
-
{%- assign
|
46
|
-
|
47
|
-
|
48
|
-
{%-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
{%-
|
54
|
-
{%-
|
45
|
+
{%- assign double_quote = '"' -%}
|
46
|
+
{%- assign empty_array = "" | split: "" -%}
|
47
|
+
|
48
|
+
{%- assign nav_string_pages = empty_array -%}
|
49
|
+
{%- assign nav_number_pages = empty_array -%}
|
50
|
+
{%- unless nav_order_pages == empty -%}
|
51
|
+
{%- assign nav_order_groups = nav_order_pages
|
52
|
+
| group_by_exp: "item",
|
53
|
+
"item.nav_order | jsonify | slice: 0 | remove: double_quote | size" -%}
|
54
|
+
{%- for group in nav_order_groups -%}
|
55
|
+
{%- if group.name == 0 -%}
|
56
|
+
{%- assign nav_string_pages = group.items -%}
|
57
|
+
{%- elsif group.name == 1 -%}
|
58
|
+
{%- assign nav_number_pages = group.items -%}
|
59
|
+
{%- endif -%}
|
60
|
+
{%- endfor -%}
|
61
|
+
{%- endunless -%}
|
62
|
+
|
63
|
+
{%- assign title_string_pages = empty_array -%}
|
64
|
+
{%- assign title_number_pages = empty_array -%}
|
65
|
+
{%- unless title_order_pages == empty -%}
|
66
|
+
{%- assign title_order_groups = title_order_pages
|
67
|
+
| group_by_exp: "item",
|
68
|
+
"item.title | jsonify | slice: 0 | remove: double_quote | size" -%}
|
69
|
+
{%- for group in title_order_groups -%}
|
70
|
+
{%- if group.name == 0 -%}
|
71
|
+
{%- assign title_string_pages = group.items -%}
|
72
|
+
{%- elsif group.name == 1 -%}
|
73
|
+
{%- assign title_number_pages = group.items -%}
|
74
|
+
{%- endif -%}
|
75
|
+
{%- endfor -%}
|
76
|
+
{%- endunless -%}
|
77
|
+
|
78
|
+
{%- comment -%}
|
79
|
+
Now sort each array of pages separately, then concatenate the sorted arrays.
|
80
|
+
{%- endcomment -%}
|
55
81
|
|
56
82
|
{%- unless nav_number_pages == empty -%}
|
57
83
|
{%- assign nav_number_pages = nav_number_pages | sort: "nav_order" -%}
|
@@ -65,18 +91,6 @@
|
|
65
91
|
{%- endif -%}
|
66
92
|
{%- endunless -%}
|
67
93
|
|
68
|
-
{%- assign title_number_pages = "" | split: "" -%}
|
69
|
-
{%- assign title_string_pages = "" | split: "" -%}
|
70
|
-
{%- assign title_order_groups = title_order_pages
|
71
|
-
| group_by_exp: "item", "item.title | jsonify | slice: 0" -%}
|
72
|
-
{%- for group in title_order_groups -%}
|
73
|
-
{%- if group.name == '"' -%}
|
74
|
-
{%- assign title_string_pages = group.items -%}
|
75
|
-
{%- else -%}
|
76
|
-
{%- assign title_number_pages = title_number_pages | concat: group.items -%}
|
77
|
-
{%- endif -%}
|
78
|
-
{%- endfor -%}
|
79
|
-
|
80
94
|
{%- unless title_number_pages == empty -%}
|
81
95
|
{%- assign title_number_pages = title_number_pages | sort: "title" -%}
|
82
96
|
{%- endunless -%}
|
@@ -90,6 +104,6 @@
|
|
90
104
|
{%- endunless -%}
|
91
105
|
|
92
106
|
{%- assign sorted_pages = nav_number_pages
|
93
|
-
|
94
|
-
|
95
|
-
|
107
|
+
| concat: nav_string_pages
|
108
|
+
| concat: title_number_pages
|
109
|
+
| concat: title_string_pages -%}
|
data/_layouts/default.html
CHANGED
@@ -12,7 +12,7 @@ layout: table_wrappers
|
|
12
12
|
{% include components/sidebar.html %}
|
13
13
|
<div class="main" id="top">
|
14
14
|
{% include components/header.html %}
|
15
|
-
<div
|
15
|
+
<div class="main-content-wrap">
|
16
16
|
{% include components/breadcrumbs.html %}
|
17
17
|
<div id="main-content" class="main-content">
|
18
18
|
<main>
|
data/_layouts/minimal.html
CHANGED
@@ -9,7 +9,7 @@ layout: table_wrappers
|
|
9
9
|
<body>
|
10
10
|
<a class="skip-to-main" href="#main-content">Skip to main content</a>
|
11
11
|
{% include icons/icons.html %}
|
12
|
-
<div
|
12
|
+
<div class="main-content-wrap" id="top">
|
13
13
|
{% include components/breadcrumbs.html %}
|
14
14
|
<div id="main-content" class="main-content" role="main">
|
15
15
|
{% if site.heading_anchors != false %}
|
data/_sass/base.scss
CHANGED
data/_sass/buttons.scss
CHANGED
@@ -17,7 +17,9 @@
|
|
17
17
|
background-color: $base-button-color;
|
18
18
|
border-width: 0;
|
19
19
|
border-radius: $border-radius;
|
20
|
-
box-shadow:
|
20
|
+
box-shadow:
|
21
|
+
0 1px 2px rgba(0, 0, 0, 0.12),
|
22
|
+
0 3px 10px rgba(0, 0, 0, 0.08);
|
21
23
|
appearance: none;
|
22
24
|
|
23
25
|
&:focus {
|
@@ -87,7 +89,9 @@
|
|
87
89
|
&:focus {
|
88
90
|
text-decoration: none;
|
89
91
|
outline: none;
|
90
|
-
box-shadow:
|
92
|
+
box-shadow:
|
93
|
+
inset 0 0 0 2px $grey-dk-100,
|
94
|
+
0 0 0 3px rgba(blue, 0.25);
|
91
95
|
}
|
92
96
|
|
93
97
|
&:focus:hover,
|
data/_sass/search.scss
CHANGED
@@ -23,7 +23,9 @@
|
|
23
23
|
height: $sp-8;
|
24
24
|
overflow: hidden;
|
25
25
|
border-radius: $border-radius;
|
26
|
-
box-shadow:
|
26
|
+
box-shadow:
|
27
|
+
0 1px 2px rgba(0, 0, 0, 0.12),
|
28
|
+
0 3px 10px rgba(0, 0, 0, 0.08);
|
27
29
|
transition: height linear #{$transition-duration * 0.5};
|
28
30
|
|
29
31
|
@include mq(md) {
|
@@ -96,7 +98,9 @@
|
|
96
98
|
background-color: $search-background-color;
|
97
99
|
border-bottom-right-radius: $border-radius;
|
98
100
|
border-bottom-left-radius: $border-radius;
|
99
|
-
box-shadow:
|
101
|
+
box-shadow:
|
102
|
+
0 1px 2px rgba(0, 0, 0, 0.12),
|
103
|
+
0 3px 10px rgba(0, 0, 0, 0.08);
|
100
104
|
|
101
105
|
@include mq(md) {
|
102
106
|
top: 100%;
|
@@ -230,7 +234,9 @@
|
|
230
234
|
background-color: $search-background-color;
|
231
235
|
border: 1px solid rgba($link-color, 0.3);
|
232
236
|
border-radius: #{$sp-9 * 0.5};
|
233
|
-
box-shadow:
|
237
|
+
box-shadow:
|
238
|
+
0 1px 2px rgba(0, 0, 0, 0.12),
|
239
|
+
0 3px 10px rgba(0, 0, 0, 0.08);
|
234
240
|
align-items: center;
|
235
241
|
justify-content: center;
|
236
242
|
}
|
@@ -244,7 +250,9 @@
|
|
244
250
|
height: 0;
|
245
251
|
background-color: rgba(0, 0, 0, 0.3);
|
246
252
|
opacity: 0;
|
247
|
-
transition:
|
253
|
+
transition:
|
254
|
+
opacity ease $transition-duration,
|
255
|
+
width 0s $transition-duration,
|
248
256
|
height 0s $transition-duration;
|
249
257
|
}
|
250
258
|
|
@@ -264,7 +272,9 @@
|
|
264
272
|
|
265
273
|
@include mq(md) {
|
266
274
|
width: $search-results-width;
|
267
|
-
box-shadow:
|
275
|
+
box-shadow:
|
276
|
+
0 1px 2px rgba(0, 0, 0, 0.12),
|
277
|
+
0 3px 10px rgba(0, 0, 0, 0.08);
|
268
278
|
}
|
269
279
|
}
|
270
280
|
|
@@ -290,7 +300,10 @@
|
|
290
300
|
width: 100%;
|
291
301
|
height: 100%;
|
292
302
|
opacity: 1;
|
293
|
-
transition:
|
303
|
+
transition:
|
304
|
+
opacity ease $transition-duration,
|
305
|
+
width 0s,
|
306
|
+
height 0s;
|
294
307
|
}
|
295
308
|
|
296
309
|
@include mq(md) {
|
@@ -4,7 +4,9 @@
|
|
4
4
|
color: $fg;
|
5
5
|
background-color: darken($bg, 2%);
|
6
6
|
background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));
|
7
|
-
box-shadow:
|
7
|
+
box-shadow:
|
8
|
+
0 1px 3px rgba(0, 0, 0, 0.25),
|
9
|
+
0 4px 10px rgba(0, 0, 0, 0.12);
|
8
10
|
|
9
11
|
&:hover,
|
10
12
|
&.zeroclipboard-is-hover {
|
data/_sass/tables.scss
CHANGED
data/assets/js/just-the-docs.js
CHANGED
@@ -31,13 +31,18 @@ function initNav() {
|
|
31
31
|
}
|
32
32
|
if (target) {
|
33
33
|
e.preventDefault();
|
34
|
-
|
34
|
+
const active = target.parentNode.classList.toggle('active');
|
35
|
+
const passive = target.parentNode.classList.toggle('passive');
|
36
|
+
if (active && passive) target.parentNode.classList.toggle('passive');
|
37
|
+
target.ariaPressed = active;
|
35
38
|
}
|
36
39
|
});
|
37
40
|
|
38
41
|
const siteNav = document.getElementById('site-nav');
|
39
42
|
const mainHeader = document.getElementById('main-header');
|
40
43
|
const menuButton = document.getElementById('menu-button');
|
44
|
+
|
45
|
+
disableHeadStyleSheet();
|
41
46
|
|
42
47
|
jtd.addEvent(menuButton, 'click', function(e){
|
43
48
|
e.preventDefault();
|
@@ -66,6 +71,14 @@ function initNav() {
|
|
66
71
|
{%- endif %}
|
67
72
|
}
|
68
73
|
|
74
|
+
// The page-specific <style> in the <head> is needed only when JS is disabled.
|
75
|
+
// Moreover, it incorrectly overrides dynamic stylesheets set by setTheme(theme).
|
76
|
+
// The page-specific stylesheet is assumed to have index 1 in the list of stylesheets.
|
77
|
+
|
78
|
+
function disableHeadStyleSheet() {
|
79
|
+
document.styleSheets[1].disabled = true;
|
80
|
+
}
|
81
|
+
|
69
82
|
{%- if site.search_enabled != false %}
|
70
83
|
// Site search
|
71
84
|
|
@@ -461,15 +474,55 @@ jtd.setTheme = function(theme) {
|
|
461
474
|
cssFile.setAttribute('href', '{{ "assets/css/just-the-docs-" | relative_url }}' + theme + '.css');
|
462
475
|
}
|
463
476
|
|
477
|
+
// Note: pathname can have a trailing slash on a local jekyll server
|
478
|
+
// and not have the slash on GitHub Pages
|
479
|
+
|
480
|
+
function navLink() {
|
481
|
+
var href = document.location.pathname;
|
482
|
+
if (href.endsWith('/') && href != '/') {
|
483
|
+
href = href.slice(0, -1);
|
484
|
+
}
|
485
|
+
return document.getElementById('site-nav').querySelector('a[href="' + href + '"], a[href="' + href + '/"]');
|
486
|
+
}
|
487
|
+
|
464
488
|
// Scroll site-nav to ensure the link to the current page is visible
|
465
489
|
|
466
490
|
function scrollNav() {
|
467
|
-
const
|
468
|
-
|
469
|
-
const targetLink = siteNav.querySelector('a[href="' + href + '"], a[href="' + href + '/"]');
|
470
|
-
if(targetLink){
|
491
|
+
const targetLink = navLink();
|
492
|
+
if (targetLink) {
|
471
493
|
const rect = targetLink.getBoundingClientRect();
|
472
|
-
|
494
|
+
document.getElementById('site-nav').scrollBy(0, rect.top - 3*rect.height);
|
495
|
+
}
|
496
|
+
}
|
497
|
+
|
498
|
+
// Find the nav-list-link that refers to the current page
|
499
|
+
// then make it and all enclosing nav-list-item elements active,
|
500
|
+
// and make all other folded collections passive
|
501
|
+
|
502
|
+
function activateNav() {
|
503
|
+
var target = navLink();
|
504
|
+
if (target) {
|
505
|
+
target.classList.toggle('active', true);
|
506
|
+
}
|
507
|
+
while (target) {
|
508
|
+
while (target && !(target.classList && target.classList.contains('nav-list-item'))) {
|
509
|
+
target = target.parentNode;
|
510
|
+
}
|
511
|
+
if (target) {
|
512
|
+
target.classList.toggle('active', true);
|
513
|
+
target = target.parentNode;
|
514
|
+
}
|
515
|
+
}
|
516
|
+
const elements = document.getElementsByClassName("nav-category-list");
|
517
|
+
for (const element of elements) {
|
518
|
+
const item = element.children[0];
|
519
|
+
const active = item.classList.toggle('active');
|
520
|
+
if (active) {
|
521
|
+
item.classList.toggle('active', false);
|
522
|
+
item.classList.toggle('passive', true);
|
523
|
+
} else {
|
524
|
+
item.classList.toggle('active', true);
|
525
|
+
}
|
473
526
|
}
|
474
527
|
}
|
475
528
|
|
@@ -480,6 +533,7 @@ jtd.onReady(function(){
|
|
480
533
|
{%- if site.search_enabled != false %}
|
481
534
|
initSearch();
|
482
535
|
{%- endif %}
|
536
|
+
activateNav();
|
483
537
|
scrollNav();
|
484
538
|
});
|
485
539
|
|
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.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick Marsceill
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-08-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '2.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: jekyll-include-cache
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: rake
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,13 +103,16 @@ files:
|
|
89
103
|
- _includes/components/search_footer.html
|
90
104
|
- _includes/components/search_header.html
|
91
105
|
- _includes/components/sidebar.html
|
106
|
+
- _includes/css/activation.scss.liquid
|
92
107
|
- _includes/css/callouts.scss.liquid
|
93
108
|
- _includes/css/custom.scss.liquid
|
94
109
|
- _includes/css/just-the-docs.scss.liquid
|
110
|
+
- _includes/favicon.html
|
95
111
|
- _includes/fix_linenos.html
|
96
112
|
- _includes/footer_custom.html
|
97
113
|
- _includes/head.html
|
98
114
|
- _includes/head_custom.html
|
115
|
+
- _includes/head_nav.html
|
99
116
|
- _includes/header_custom.html
|
100
117
|
- _includes/icons/code_copy.html
|
101
118
|
- _includes/icons/document.html
|