just-the-docs 0.10.0 → 0.10.2
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 +370 -1413
- data/README.md +5 -13
- data/_includes/components/breadcrumbs.html +4 -4
- data/_includes/components/children_nav.html +6 -5
- data/_includes/components/footer.html +1 -1
- data/_includes/components/nav/links.html +5 -5
- data/_includes/components/search_header.html +5 -2
- data/_includes/components/sidebar.html +1 -1
- data/_includes/components/site_nav.html +1 -1
- data/_includes/css/activation.scss.liquid +4 -4
- data/_sass/color_schemes/dark.scss +1 -1
- data/_sass/color_schemes/light.scss +1 -1
- data/_sass/layout.scss +0 -1
- data/_sass/print.scss +5 -0
- data/_sass/search.scss +2 -1
- data/_sass/utilities/_layout.scss +14 -0
- data/assets/js/just-the-docs.js +4 -4
- metadata +3 -3
data/README.md
CHANGED
|
@@ -32,7 +32,7 @@ More specifically, the created site:
|
|
|
32
32
|
|
|
33
33
|
Other than that, you're free to customize sites that you create with the template, however you like. You can easily change the versions of `just-the-docs` and Jekyll it uses, as well as adding further plugins.
|
|
34
34
|
|
|
35
|
-
### Use
|
|
35
|
+
### Use as a Ruby Gem
|
|
36
36
|
|
|
37
37
|
Alternatively, you can install the theme as a Ruby Gem, without creating a new site.
|
|
38
38
|
|
|
@@ -48,17 +48,11 @@ And add this line to your Jekyll site's `_config.yml`:
|
|
|
48
48
|
theme: just-the-docs
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
And then
|
|
51
|
+
And then install all relevant dependencies:
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
$ gem install just-the-docs
|
|
58
|
-
|
|
59
|
-
Alternatively, you can run it inside Docker while developing your site
|
|
60
|
-
|
|
61
|
-
$ docker-compose up
|
|
53
|
+
```shell
|
|
54
|
+
$ bundle
|
|
55
|
+
```
|
|
62
56
|
|
|
63
57
|
## Usage
|
|
64
58
|
|
|
@@ -88,8 +82,6 @@ Bug reports, proposals of new features, and pull requests are welcome on GitHub
|
|
|
88
82
|
|
|
89
83
|
To set up your environment to develop this theme: fork this repo, the run `bundle install` from the root directory.
|
|
90
84
|
|
|
91
|
-
A modern [devcontainer configuration](https://code.visualstudio.com/docs/remote/containers) for VSCode is included.
|
|
92
|
-
|
|
93
85
|
Your theme is set up just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
|
|
94
86
|
|
|
95
87
|
When this theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be included in the gem.
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
|
|
12
12
|
{%- if page.url != "/" and page.parent and page.title -%}
|
|
13
13
|
|
|
14
|
-
{%- capture nav_list_link -%}
|
|
15
|
-
<a href="{{ page.url | relative_url }}" class="nav-list-link">
|
|
16
|
-
{%- endcapture -%}
|
|
17
|
-
|
|
18
14
|
{%- capture site_nav -%}
|
|
19
15
|
{%- include_cached components/site_nav.html all=true -%}
|
|
20
16
|
{%- endcapture -%}
|
|
21
17
|
|
|
18
|
+
{%- capture nav_list_link -%}
|
|
19
|
+
<a href="{{ page.url | relative_url }}" class="nav-list-link">
|
|
20
|
+
{%- endcapture -%}
|
|
21
|
+
|
|
22
22
|
{%- capture nav_list_simple -%}
|
|
23
23
|
<ul class="nav-list">
|
|
24
24
|
{%- endcapture -%}
|
|
@@ -11,23 +11,24 @@
|
|
|
11
11
|
{%- comment -%}
|
|
12
12
|
Whether a page has any children is checked efficiently by inspecting the cached
|
|
13
13
|
site_nav. If the page has no children, nav_children is set to an empty array;
|
|
14
|
-
otherwise nav_children is left unset.
|
|
14
|
+
otherwise nav_children is left unset. (The site_nav is rendered the first time
|
|
15
|
+
it is included, and that may overwrite various variables.)
|
|
15
16
|
{%- endcomment -%}
|
|
16
17
|
|
|
17
18
|
{%- if page.has_children == false -%}
|
|
18
19
|
{%- assign nav_children = "" | split: "" -%}
|
|
19
20
|
{%- else -%}
|
|
20
21
|
|
|
22
|
+
{%- capture site_nav -%}
|
|
23
|
+
{%- include_cached components/site_nav.html all=true -%}
|
|
24
|
+
{%- endcapture -%}
|
|
25
|
+
|
|
21
26
|
{%- assign nav_children = nil -%}
|
|
22
27
|
|
|
23
28
|
{%- capture nav_list_link -%}
|
|
24
29
|
<a href="{{ page.url | relative_url }}" class="nav-list-link">
|
|
25
30
|
{%- endcapture -%}
|
|
26
31
|
|
|
27
|
-
{%- capture site_nav -%}
|
|
28
|
-
{%- include_cached components/site_nav.html all=true -%}
|
|
29
|
-
{%- endcapture -%}
|
|
30
|
-
|
|
31
32
|
{%- capture nav_list_simple -%}
|
|
32
33
|
<ul class="nav-list">
|
|
33
34
|
{%- endcapture -%}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{% capture footer_custom %}
|
|
2
2
|
{%- include footer_custom.html -%}
|
|
3
3
|
{% endcapture %}
|
|
4
|
-
{% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %}
|
|
4
|
+
{% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link or site.back_to_top %}
|
|
5
5
|
<hr>
|
|
6
6
|
<footer>
|
|
7
7
|
{% if site.back_to_top %}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
{%- if include.all == true or node.nav_exclude != true -%}
|
|
14
14
|
|
|
15
15
|
{%- if include.ancestors contains node.title -%}
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
<li class="nav-list-item">
|
|
18
18
|
<a href="{{ node.url | relative_url }}" class="nav-list-link"> ∞ </a>
|
|
19
19
|
</li>
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
{%- endcapture -%}
|
|
27
27
|
|
|
28
28
|
{%- else -%}
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
{%- include components/nav/children.html node=node ancestors=include.ancestors all=include.all -%}
|
|
31
31
|
|
|
32
32
|
<li class="nav-list-item">
|
|
33
33
|
{%- if nav_children.size >= 1 -%}
|
|
34
|
-
<button class="nav-list-expander btn-reset" aria-label="
|
|
34
|
+
<button class="nav-list-expander btn-reset" aria-label="{{ node.title }} submenu" aria-expanded="false">
|
|
35
35
|
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
|
|
36
36
|
</button>
|
|
37
37
|
{%- endif -%}
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
{%- include components/nav/links.html pages=nav_children ancestors=nav_ancestors all=include.all -%}
|
|
45
45
|
{%- endif -%}
|
|
46
46
|
</li>
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
{%- endif -%}
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
{%- endif -%}
|
|
51
51
|
{%- endfor -%}
|
|
52
52
|
</ul>
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
<div class="search" role="search">
|
|
4
4
|
<div class="search-input-wrap">
|
|
5
|
-
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="{{ search_placeholder | strip_html | strip }}"
|
|
6
|
-
<label for="search-input" class="search-label"
|
|
5
|
+
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="{{ search_placeholder | strip_html | strip }}" autocomplete="off">
|
|
6
|
+
<label for="search-input" class="search-label">
|
|
7
|
+
<span class="sr-only">{{ search_placeholder | strip_html | strip }}</span>
|
|
8
|
+
<svg viewBox="0 0 24 24" class="search-icon" aria-hidden="true"><use xlink:href="#svg-search"></use></svg>
|
|
9
|
+
</label>
|
|
7
10
|
</div>
|
|
8
11
|
<div id="search-results" class="search-results"></div>
|
|
9
12
|
</div>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<div class="side-bar">
|
|
13
13
|
<div class="site-header" role="banner">
|
|
14
14
|
<a href="{{ '/' | relative_url }}" class="site-title lh-tight">{% include title.html %}</a>
|
|
15
|
-
<button id="menu-button" class="site-button btn-reset" aria-label="
|
|
15
|
+
<button id="menu-button" class="site-button btn-reset" aria-label="Menu" aria-expanded="false">
|
|
16
16
|
<svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg>
|
|
17
17
|
</button>
|
|
18
18
|
</div>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
<ul class="nav-list nav-category-list">
|
|
48
48
|
<li class="nav-list-item">
|
|
49
49
|
{%- if collection.size > 0 -%}
|
|
50
|
-
<button class="nav-list-expander btn-reset" aria-label="
|
|
50
|
+
<button class="nav-list-expander btn-reset" aria-label="{{ collection_value.name }} collection" aria-expanded="false">
|
|
51
51
|
<svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg>
|
|
52
52
|
</button>
|
|
53
53
|
{%- endif -%}
|
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
- The other two rules ensure that all folding collections are expanded.
|
|
21
21
|
{%- endcomment -%}
|
|
22
22
|
|
|
23
|
+
{%- capture site_nav -%}
|
|
24
|
+
{%- include_cached components/site_nav.html -%}
|
|
25
|
+
{%- endcapture -%}
|
|
26
|
+
|
|
23
27
|
{%- capture activation_no_nav_link %}
|
|
24
28
|
.site-nav ul li a {
|
|
25
29
|
background-image: none;
|
|
@@ -39,10 +43,6 @@
|
|
|
39
43
|
<a href="{{ page.url | relative_url }}" class="nav-list-link">
|
|
40
44
|
{%- endcapture -%}
|
|
41
45
|
|
|
42
|
-
{%- capture site_nav -%}
|
|
43
|
-
{%- include_cached components/site_nav.html -%}
|
|
44
|
-
{%- endcapture -%}
|
|
45
|
-
|
|
46
46
|
{%- if site_nav contains nav_list_link -%}
|
|
47
47
|
|
|
48
48
|
{%- capture nav_list -%}
|
|
@@ -12,7 +12,7 @@ $code-linenumber-color: #dee2f7; // OneDarkJekyll .nf for syntax-one-dark-vivid
|
|
|
12
12
|
$feedback-color: darken($sidebar-color, 3%);
|
|
13
13
|
$table-background-color: $grey-dk-250;
|
|
14
14
|
$search-background-color: $grey-dk-250;
|
|
15
|
-
$search-result-preview-color: $grey-
|
|
15
|
+
$search-result-preview-color: $grey-lt-300;
|
|
16
16
|
$border-color: $grey-dk-200;
|
|
17
17
|
|
|
18
18
|
@import "./vendor/OneDarkJekyll/syntax"; // this is the one-dark-vivid atom syntax theme
|
|
@@ -11,6 +11,6 @@ $code-background-color: $grey-lt-000 !default;
|
|
|
11
11
|
$feedback-color: darken($sidebar-color, 3%) !default;
|
|
12
12
|
$table-background-color: $white !default;
|
|
13
13
|
$search-background-color: $white !default;
|
|
14
|
-
$search-result-preview-color: $grey-dk-
|
|
14
|
+
$search-result-preview-color: $grey-dk-100 !default;
|
|
15
15
|
|
|
16
16
|
@import "./vendor/OneLightJekyll/syntax";
|
data/_sass/layout.scss
CHANGED
data/_sass/print.scss
CHANGED
data/_sass/search.scss
CHANGED
|
@@ -22,6 +22,20 @@
|
|
|
22
22
|
display: none !important;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
// Screenreader-only
|
|
26
|
+
|
|
27
|
+
.sr-only {
|
|
28
|
+
position: absolute;
|
|
29
|
+
width: 1px;
|
|
30
|
+
height: 1px;
|
|
31
|
+
padding: 0;
|
|
32
|
+
margin: -1px;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
clip: rect(0, 0, 0, 0);
|
|
35
|
+
white-space: nowrap;
|
|
36
|
+
border-width: 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
25
39
|
@each $media-query in map-keys($media-queries) {
|
|
26
40
|
@for $i from 1 through length($spacers) {
|
|
27
41
|
@include mq($media-query) {
|
data/assets/js/just-the-docs.js
CHANGED
|
@@ -32,7 +32,7 @@ function initNav() {
|
|
|
32
32
|
}
|
|
33
33
|
if (target) {
|
|
34
34
|
e.preventDefault();
|
|
35
|
-
target.
|
|
35
|
+
target.ariaExpanded = target.parentNode.classList.toggle('active');
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
|
|
@@ -48,11 +48,11 @@ function initNav() {
|
|
|
48
48
|
if (menuButton.classList.toggle('nav-open')) {
|
|
49
49
|
siteNav.classList.add('nav-open');
|
|
50
50
|
mainHeader.classList.add('nav-open');
|
|
51
|
-
menuButton.
|
|
51
|
+
menuButton.ariaExpanded = true;
|
|
52
52
|
} else {
|
|
53
53
|
siteNav.classList.remove('nav-open');
|
|
54
54
|
mainHeader.classList.remove('nav-open');
|
|
55
|
-
menuButton.
|
|
55
|
+
menuButton.ariaExpanded = false;
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
|
|
@@ -258,7 +258,7 @@ function searchLoaded(index, docs) {
|
|
|
258
258
|
// note: the SVG svg-doc is only loaded as a Jekyll include if site.search_enabled is true; see _includes/icons/icons.html
|
|
259
259
|
var resultDoc = document.createElement('div');
|
|
260
260
|
resultDoc.classList.add('search-result-doc');
|
|
261
|
-
resultDoc.innerHTML = '<svg viewBox="0 0 24 24" class="search-result-icon"><use xlink:href="#svg-doc"></use></svg>';
|
|
261
|
+
resultDoc.innerHTML = '<svg viewBox="0 0 24 24" class="search-result-icon" aria-hidden="true"><use xlink:href="#svg-doc"></use></svg>';
|
|
262
262
|
resultTitle.appendChild(resultDoc);
|
|
263
263
|
|
|
264
264
|
var resultDocTitle = document.createElement('div');
|
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.10.
|
|
4
|
+
version: 0.10.2
|
|
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:
|
|
12
|
+
date: 2026-01-01 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -212,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
212
212
|
- !ruby/object:Gem::Version
|
|
213
213
|
version: '0'
|
|
214
214
|
requirements: []
|
|
215
|
-
rubygems_version: 3.5.
|
|
215
|
+
rubygems_version: 3.5.22
|
|
216
216
|
signing_key:
|
|
217
217
|
specification_version: 4
|
|
218
218
|
summary: A modern, highly customizable, and responsive Jekyll theme for documentation
|