just-the-docs 0.2.4 → 0.2.9

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.
Files changed (45) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +2 -2
  3. data/_includes/css/custom.scss.liquid +1 -0
  4. data/_includes/css/just-the-docs.scss.liquid +7 -0
  5. data/_includes/head.html +25 -13
  6. data/_includes/head_custom.html +0 -0
  7. data/_includes/js/custom.js +0 -0
  8. data/_includes/nav.html +41 -34
  9. data/_includes/title.html +5 -0
  10. data/_includes/vendor/anchor_headings.html +100 -0
  11. data/_layouts/default.html +100 -39
  12. data/_layouts/table_wrappers.html +7 -0
  13. data/_layouts/vendor/compress.html +10 -0
  14. data/_sass/base.scss +16 -18
  15. data/_sass/buttons.scss +1 -1
  16. data/_sass/code.scss +209 -69
  17. data/_sass/color_schemes/dark.scss +3 -1
  18. data/_sass/color_schemes/light.scss +0 -0
  19. data/_sass/content.scss +79 -0
  20. data/_sass/custom/custom.scss +0 -120
  21. data/_sass/labels.scss +5 -4
  22. data/_sass/layout.scss +90 -29
  23. data/_sass/modules.scss +19 -0
  24. data/_sass/navigation.scss +4 -32
  25. data/_sass/search.scss +98 -45
  26. data/_sass/support/_functions.scss +2 -3
  27. data/_sass/support/_variables.scss +20 -20
  28. data/_sass/support/mixins/_layout.scss +1 -3
  29. data/_sass/support/mixins/_typography.scss +6 -1
  30. data/_sass/tables.scss +13 -33
  31. data/_sass/typography.scss +10 -8
  32. data/_sass/utilities/_layout.scss +75 -18
  33. data/_sass/utilities/_lists.scss +7 -1
  34. data/_sass/utilities/_spacing.scss +70 -26
  35. data/_sass/utilities/_typography.scss +1 -1
  36. data/assets/css/just-the-docs-dark.scss +3 -0
  37. data/assets/css/just-the-docs-default.scss +8 -0
  38. data/assets/css/just-the-docs-light.scss +3 -0
  39. data/assets/js/just-the-docs.js +240 -103
  40. data/assets/js/search-data.json +4 -4
  41. data/assets/js/vendor/lunr.min.js +3 -3
  42. data/lib/tasks/search.rake +4 -4
  43. metadata +47 -25
  44. data/assets/css/dark-mode-preview.scss +0 -41
  45. data/assets/css/just-the-docs.scss +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 496ae2f1eb421ecd6a894be36042bc0d1cc345cf
4
- data.tar.gz: 91b6b019f8aa1daec0d53d7a96859f5d5ba550e4
2
+ SHA256:
3
+ metadata.gz: 1dadb070c0e24c8e955bf5f3de0268adbfe088d6f989ef47924f32b832e67b4e
4
+ data.tar.gz: b066f2a83fc772dbf2fac349944cd1a701ea154187dd11c3ace04801a5aac91d
5
5
  SHA512:
6
- metadata.gz: b9d87123018eaa901db264ff9d18db90ae20837ea9057c236d02caf89a7dcd9f0fb1226e3463bcb275ca4e7afb9e815c3dfddef08fff672ec6a023d040006573
7
- data.tar.gz: 0a8b8cf073a07481485fac60c67d24f0b25161c8c13d8e5823becb7179aa97bb3b6b97c39d4001ded4804b11d2e3ac722f22b720e240ed8b2b57cd33c94d471c
6
+ metadata.gz: 19ca0f3d71d801855eb77b51391f7636949d2f359283acda07663f222e227cfe51516b9773352160b44487e18bc0c7ce0821b54ea7efae3b403b0562ee343fd7
7
+ data.tar.gz: cd1240ad2cc18b33b9797b87a103a8d05e159ff67c4c9b8072add4feb49f450c877b55d53189b498f96d54b180352bb5ec73edc95035b40c44b72d5530e1b289
data/README.md CHANGED
@@ -1,10 +1,10 @@
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://travis-ci.com/pmarsceill/just-the-docs"><img src="https://travis-ci.com/pmarsceill/just-the-docs.svg?branch=master" alt="Build status"></a>
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">
6
6
  <h1 align="center">Just the Docs</h1>
7
- <p align="center">A modern, high customizable, responsive Jekyll theme for documentation with built-in search.<br>Easily hosted on GitHub Pages with few dependencies.</p>
7
+ <p align="center">A modern, highly customizable, and responsive Jekyll theme for documentation with built-in search.<br>Easily hosted on GitHub Pages with few dependencies.</p>
8
8
  <p align="center"><strong><a href="https://pmarsceill.github.io/just-the-docs/">See it in action!</a></strong></p>
9
9
  <br><br><br>
10
10
  </p>
@@ -0,0 +1 @@
1
+ @import "./custom/custom";
@@ -0,0 +1,7 @@
1
+ {% if site.logo %}
2
+ $logo: "{{ site.logo | absolute_url }}";
3
+ {% endif %}
4
+ @import "./support/support";
5
+ @import "./color_schemes/{{ include.color_scheme }}";
6
+ @import "./modules";
7
+ {% include css/custom.scss.liquid %}
@@ -1,28 +1,40 @@
1
1
  <head>
2
2
  <meta charset="UTF-8">
3
3
  <meta http-equiv="X-UA-Compatible" content="IE=Edge">
4
- {% if page.description %}
5
- <meta name="Description" content="{{ page.description }}">
6
- {% endif %}
7
4
 
8
- <title>{{ page.title }} - {{ site.title }}</title>
9
- <link rel="stylesheet" href="{{ "/assets/css/just-the-docs.css" | absolute_url }}">
5
+ {% unless site.plugins contains "jekyll-seo-tag" %}
6
+ <title>{{ page.title }} - {{ site.title }}</title>
7
+
8
+ {% if page.description %}
9
+ <meta name="Description" content="{{ page.description }}">
10
+ {% endif %}
11
+ {% endunless %}
12
+
13
+ <link rel="shortcut icon" href="{{ 'favicon.ico' | absolute_url }}" type="image/x-icon">
14
+
15
+ <link rel="stylesheet" href="{{ '/assets/css/just-the-docs-default.css' | absolute_url }}">
10
16
 
11
17
  {% if site.ga_tracking != nil %}
18
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.ga_tracking }}"></script>
12
19
  <script>
13
- window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
14
- ga('create', '{{ site.ga_tracking }}', '{{ site.url }}');
15
- ga('send', 'pageview');
20
+ window.dataLayer = window.dataLayer || [];
21
+ function gtag(){dataLayer.push(arguments);}
22
+ gtag('js', new Date());
23
+
24
+ gtag('config', '{{ site.ga_tracking }}'{% unless site.ga_tracking_anonymize_ip == nil %}, { 'anonymize_ip': true }{% endunless %});
16
25
  </script>
17
- <script async src="https://www.google-analytics.com/analytics.js"></script>
26
+
18
27
  {% endif %}
19
28
 
20
- {% if site.search_enabled != nil %}
21
- <script type="text/javascript" src="{{ "/assets/js/vendor/lunr.min.js" | absolute_url }}"></script>
29
+ {% if site.search_enabled != false %}
30
+ <script type="text/javascript" src="{{ '/assets/js/vendor/lunr.min.js' | absolute_url }}"></script>
22
31
  {% endif %}
23
- <script type="text/javascript" src="{{ "/assets/js/just-the-docs.js" | absolute_url }}"></script>
32
+ <script type="text/javascript" src="{{ '/assets/js/just-the-docs.js' | absolute_url }}"></script>
24
33
 
25
34
  <meta name="viewport" content="width=device-width, initial-scale=1">
26
35
 
27
- {% seo %}
36
+ {% seo %}
37
+
38
+ {% include head_custom.html %}
39
+
28
40
  </head>
File without changes
File without changes
@@ -1,44 +1,51 @@
1
1
  <nav role="navigation" aria-label="Main navigation">
2
2
  <ul class="navigation-list">
3
- {% assign pages_list = site.html_pages | sort:"nav_order" %}
4
- {% for node in pages_list %}
5
- {% unless node.nav_exclude %}
6
- {% if node.parent == nil %}
3
+ {%- assign ordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order != nil" -%}
4
+ {%- assign unordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order == nil" -%}
5
+ {%- if site.nav_sort == 'case_insensitive' -%}
6
+ {%- assign sorted_ordered_pages_list = ordered_pages_list | sort_natural:"nav_order" -%}
7
+ {%- assign sorted_unordered_pages_list = unordered_pages_list | sort_natural:"title" -%}
8
+ {%- else -%}
9
+ {%- assign sorted_ordered_pages_list = ordered_pages_list | sort:"nav_order" -%}
10
+ {%- assign sorted_unordered_pages_list = unordered_pages_list | sort:"title" -%}
11
+ {%- endif -%}
12
+ {%- assign pages_list = sorted_ordered_pages_list | concat: sorted_unordered_pages_list -%}
13
+ {%- for node in pages_list -%}
14
+ {%- unless node.nav_exclude -%}
15
+ {%- if node.parent == nil and node.title -%}
7
16
  <li class="navigation-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
8
- {% if page.parent == node.title or page.grand_parent == node.title %}
9
- {% assign first_level_url = node.url | absolute_url %}
10
- {% endif %}
17
+ {%- if page.parent == node.title or page.grand_parent == node.title -%}
18
+ {%- assign first_level_url = node.url | absolute_url -%}
19
+ {%- endif -%}
11
20
  <a href="{{ node.url | absolute_url }}" class="navigation-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
12
- {% if node.has_children %}
13
- {% assign children_list = site.html_pages | sort:"nav_order" %}
21
+ {%- if node.has_children -%}
22
+ {%- assign children_list = pages_list | where: "parent", node.title -%}
14
23
  <ul class="navigation-list-child-list ">
15
- {% for child in children_list %}
16
- {% if child.parent == node.title %}
17
- <li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
18
- {% if page.url == child.url or page.parent == child.title %}
19
- {% assign second_level_url = child.url | absolute_url %}
20
- {% endif %}
21
- <a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
22
- {% if child.has_children %}
23
- {% assign grand_children_list = site.html_pages | sort:"nav_order" %}
24
+ {%- for child in children_list -%}
25
+ {%- unless child.nav_exclude -%}
26
+ <li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
27
+ {%- if page.url == child.url or page.parent == child.title -%}
28
+ {%- assign second_level_url = child.url | absolute_url -%}
29
+ {%- endif -%}
30
+ <a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
31
+ {%- if child.has_children -%}
32
+ {%- assign grand_children_list = pages_list | where: "parent", child.title | where: "grand_parent", node.title -%}
24
33
  <ul class="navigation-list-child-list">
25
- {% for grand_child in grand_children_list %}
26
- {% if grand_child.parent == child.title %}
27
- <li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}">
28
- <a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
29
- </li>
30
- {% endif %}
31
- {% endfor %}
32
- </ul>
33
- {% endif %}
34
- </li>
35
- {% endif %}
36
- {% endfor %}
34
+ {%- for grand_child in grand_children_list -%}
35
+ <li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}">
36
+ <a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
37
+ </li>
38
+ {%- endfor -%}
39
+ </ul>
40
+ {%- endif -%}
41
+ </li>
42
+ {%- endunless -%}
43
+ {%- endfor -%}
37
44
  </ul>
38
- {% endif %}
45
+ {%- endif -%}
39
46
  </li>
40
- {% endif %}
41
- {% endunless %}
42
- {% endfor %}
47
+ {%- endif -%}
48
+ {%- endunless -%}
49
+ {%- endfor -%}
43
50
  </ul>
44
51
  </nav>
@@ -0,0 +1,5 @@
1
+ {% if site.logo %}
2
+ <div class="site-logo"></div>
3
+ {% else %}
4
+ {{ site.title }}
5
+ {% endif %}
@@ -0,0 +1,100 @@
1
+ {% capture headingsWorkspace %}
2
+ {% comment %}
3
+ Version 1.0.3
4
+ https://github.com/allejo/jekyll-anchor-headings
5
+
6
+ "Be the pull request you wish to see in the world." ~Ben Balter
7
+
8
+ Usage:
9
+ {% include anchor_headings.html html=content %}
10
+
11
+ Parameters:
12
+ * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
13
+
14
+ Optional Parameters:
15
+ * beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content
16
+ * anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available
17
+ * anchorClass (string) : '' - The class(es) that will be used for each anchor. Separate multiple classes with a space
18
+ * anchorTitle (string) : '' - The `title` attribute that will be used for anchors
19
+ * h_min (int) : 1 - The minimum header level to build an anchor for; any header lower than this value will be ignored
20
+ * h_max (int) : 6 - The maximum header level to build an anchor for; any header greater than this value will be ignored
21
+ * bodyPrefix (string) : '' - Anything that should be inserted inside of the heading tag _before_ its anchor and content
22
+ * bodySuffix (string) : '' - Anything that should be inserted inside of the heading tag _after_ its anchor and content
23
+
24
+ Output:
25
+ The original HTML with the addition of anchors inside of all of the h1-h6 headings.
26
+ {% endcomment %}
27
+
28
+ {% assign minHeader = include.h_min | default: 1 %}
29
+ {% assign maxHeader = include.h_max | default: 6 %}
30
+ {% assign beforeHeading = include.beforeHeading %}
31
+ {% assign nodes = include.html | split: '<h' %}
32
+
33
+ {% capture edited_headings %}{% endcapture %}
34
+
35
+ {% for _node in nodes %}
36
+ {% capture node %}{{ _node | strip }}{% endcapture %}
37
+
38
+ {% if node == "" %}
39
+ {% continue %}
40
+ {% endif %}
41
+
42
+ {% assign nextChar = node | replace: '"', '' | strip | slice: 0, 1 %}
43
+ {% assign headerLevel = nextChar | times: 1 %}
44
+
45
+ <!-- If the level is cast to 0, it means it's not a h1-h6 tag, so let's try to fix it -->
46
+ {% if headerLevel == 0 %}
47
+ {% if nextChar != '<' and nextChar != '' %}
48
+ {% capture node %}<h{{ node }}{% endcapture %}
49
+ {% endif %}
50
+
51
+ {% capture edited_headings %}{{ edited_headings }}{{ node }}{% endcapture %}
52
+ {% continue %}
53
+ {% endif %}
54
+
55
+ {% assign _workspace = node | split: '</h' %}
56
+ {% assign _idWorkspace = _workspace[0] | split: 'id="' %}
57
+ {% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
58
+ {% assign html_id = _idWorkspace[0] %}
59
+
60
+ {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
61
+ {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
62
+
63
+ <!-- Build the anchor to inject for our heading -->
64
+ {% capture anchor %}{% endcapture %}
65
+
66
+ {% if html_id and headerLevel >= minHeader and headerLevel <= maxHeader %}
67
+ {% capture anchor %}href="#{{ html_id}}"{% endcapture %}
68
+
69
+ {% if include.anchorClass %}
70
+ {% capture anchor %}{{ anchor }} class="{{ include.anchorClass }}"{% endcapture %}
71
+ {% endif %}
72
+
73
+ {% if include.anchorTitle %}
74
+ {% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', header }}"{% endcapture %}
75
+ {% endif %}
76
+
77
+ {% capture anchor %}<a {{ anchor }}>{{ include.anchorBody | replace: '%heading%', header | default: '' }}</a>{% endcapture %}
78
+
79
+ <!-- In order to prevent adding extra space after a heading, we'll let the 'anchor' value contain it -->
80
+ {% if beforeHeading %}
81
+ {% capture anchor %}{{ anchor }} {% endcapture %}
82
+ {% else %}
83
+ {% capture anchor %} {{ anchor }}{% endcapture %}
84
+ {% endif %}
85
+ {% endif %}
86
+
87
+ {% capture new_heading %}
88
+ <h{{ _hAttrToStrip }}
89
+ {{ include.bodyPrefix }}
90
+ {% if beforeHeading %}
91
+ {{ anchor }}{{ header }}
92
+ {% else %}
93
+ {{ header }}{{ anchor }}
94
+ {% endif %}
95
+ {{ include.bodySuffix }}
96
+ </h{{ _workspace | last }}
97
+ {% endcapture %}
98
+ {% capture edited_headings %}{{ edited_headings }}{{ new_heading }}{% endcapture %}
99
+ {% endfor %}
100
+ {% endcapture %}{% assign headingsWorkspace = '' %}{{ edited_headings | strip }}
@@ -1,25 +1,38 @@
1
+ ---
2
+ layout: table_wrappers
3
+ ---
4
+
1
5
  <!DOCTYPE html>
2
6
 
3
7
  <html lang="{{ site.lang | default: "en-US" }}">
4
8
  {% include head.html %}
5
9
  <body>
10
+ <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
11
+ <symbol id="link" viewBox="0 0 16 16">
12
+ <title>Link</title>
13
+ <path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
14
+ </symbol>
15
+ </svg>
6
16
 
7
17
  <div class="page-wrap">
8
18
  <div class="side-bar">
9
- <a href="{{ site.url }}{{ site.baseurl }}" class="site-title fs-6 lh-tight">{{ site.title }}</a>
10
- <span class="fs-3"><button class="js-main-nav-trigger navigation-list-toggle btn btn-outline" type="button" data-text-toggle="Hide">Menu</button></span>
19
+ <div class="site-header">
20
+ <a href="{{ site.url }}{{ site.baseurl }}" class="site-title lh-tight">{% include title.html %}</a>
21
+ <button class="menu-button fs-3 js-main-nav-trigger" data-text-toggle="Hide" type="button">Menu</button>
22
+ </div>
23
+
11
24
  <div class="navigation main-nav js-main-nav">
12
25
  {% include nav.html %}
13
26
  </div>
14
- <footer role="contentinfo" class="site-footer">
15
- <p class="text-small text-grey-dk-000 mb-0">This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.</p>
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>
16
29
  </footer>
17
30
  </div>
18
31
  <div class="main-content-wrap js-main-content" tabindex="0">
19
- <div class="page-header">
20
- <div class="main-content">
21
- {% if site.search_enabled != nil %}
22
- <div class="search js-search">
32
+ <div class="main-content" id="top">
33
+ <div class="page-header js-page-header">
34
+ {% if site.search_enabled != false %}
35
+ <div class="search">
23
36
  <div class="search-input-wrap">
24
37
  <input type="text" class="js-search-input search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
25
38
  <svg width="14" height="14" viewBox="0 0 28 28" xmlns="http://www.w3.org/2000/svg" class="search-icon"><title>Search</title><g fill-rule="nonzero"><path d="M17.332 20.735c-5.537 0-10-4.6-10-10.247 0-5.646 4.463-10.247 10-10.247 5.536 0 10 4.601 10 10.247s-4.464 10.247-10 10.247zm0-4c3.3 0 6-2.783 6-6.247 0-3.463-2.7-6.247-6-6.247s-6 2.784-6 6.247c0 3.464 2.7 6.247 6 6.247z"/><path d="M11.672 13.791L.192 25.271 3.02 28.1 14.5 16.62z"/></g></svg>
@@ -28,47 +41,95 @@
28
41
  </div>
29
42
  {% endif %}
30
43
  {% if site.aux_links != nil %}
31
- <ul class="list-style-none text-small mt-md-1 mb-md-1 pb-4 pb-md-0 js-aux-nav aux-nav">
44
+ <ul class="list-style-none text-small aux-nav">
32
45
  {% for link in site.aux_links %}
33
- <li class="d-inline-block my-0{% unless forloop.last %} mr-2{% endunless %}"><a href="{{ link.last }}">{{ link.first }}</a></li>
46
+ <li class="d-inline-block my-0{% unless forloop.last %} mr-2{% endunless %}">
47
+ <a href="{{ link.last }}"
48
+ {% if site.aux_links_new_tab %}
49
+ target="_blank" rel="noopener noreferrer"
50
+ {% endif %}
51
+ >
52
+ {{ link.first }}
53
+ </a>
54
+ </li>
34
55
  {% endfor %}
35
56
  </ul>
36
57
  {% endif %}
37
58
  </div>
38
- </div>
39
- <div class="main-content">
40
- {% unless page.url == "/" %}
41
- {% if page.parent %}
42
- <nav class="breadcrumb-nav">
43
- <ol class="breadcrumb-nav-list">
44
- {% if page.grand_parent %}
45
- <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
46
- <li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
47
- {% else %}
48
- <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
59
+ <div class="page">
60
+ {% unless page.url == "/" %}
61
+ {% if page.parent %}
62
+ <nav class="breadcrumb-nav">
63
+ <ol class="breadcrumb-nav-list">
64
+ {% if page.grand_parent %}
65
+ <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
66
+ <li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
67
+ {% else %}
68
+ <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
69
+ {% endif %}
70
+ <li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
71
+ </ol>
72
+ </nav>
73
+ {% endif %}
74
+ {% endunless %}
75
+ <div id="main-content" class="page-content" role="main">
76
+ {% if site.heading_anchors != false %}
77
+ {% 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" %}
78
+ {% else %}
79
+ {{ content }}
80
+ {% endif %}
81
+
82
+ {% if page.has_children == true and page.has_toc != false %}
83
+ <hr>
84
+ <h2 class="text-delta">Table of contents</h2>
85
+ <ul>
86
+ {%- assign children_list = pages_list | where: "parent", node.title -%}
87
+ {% for child in children_list %}
88
+ {% if child.parent == page.title and child.title != page.title and child.grand_parent == page.parent %}
89
+ <li>
90
+ <a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
91
+ </li>
49
92
  {% endif %}
50
- <li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
51
- </ol>
52
- </nav>
93
+ {% endfor %}
94
+ </ul>
53
95
  {% endif %}
54
- {% endunless %}
55
- <div id="main-content" class="page-content" role="main">
56
- {{ content }}
57
96
 
58
- {% if page.has_children == true and page.has_toc != false %}
59
- <hr>
60
- <h2 class="text-delta">Table of contents</h2>
61
- {% assign children_list = site.pages | sort:"nav_order" %}
62
- <ul>
63
- {% for child in children_list %}
64
- {% if child.parent == page.title and child.title != page.title %}
65
- <li>
66
- <a href="{{ child.url | absolute_url }}">{{ child.title }}</a>
67
- </li>
97
+ {% if site.footer_content != nil or site.last_edit_timestamp or site.gh_edit_link %}
98
+ <hr>
99
+ <footer>
100
+ {% if site.back_to_top %}
101
+ <p><a href="#top">{{ site.back_to_top_text }}</a></p>
102
+ {% endif %}
103
+ {% if site.footer_content != nil %}
104
+ <p class="text-small text-grey-dk-000 mb-0">{{ site.footer_content }}</p>
68
105
  {% endif %}
69
- {% endfor %}
70
- </ul>
106
+
107
+ {% if site.last_edit_timestamp or site.gh_edit_link %}
108
+ <div class="d-flex mt-2">
109
+ {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
110
+ <p class="text-small text-grey-dk-000 mb-0 mr-2">
111
+ Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
112
+ </p>
113
+ {% endif %}
114
+ {%
115
+ if
116
+ site.gh_edit_link and
117
+ site.gh_edit_link_text and
118
+ site.gh_edit_repository and
119
+ site.gh_edit_branch and
120
+ site.gh_edit_view_mode
121
+
122
+ %}
123
+ <p class="text-small text-grey-dk-000 mb-0">
124
+ <a href="{{ site.gh_edit_repository }}/{{ site.gh_edit_view_mode }}/{{ site.gh_edit_branch }}/{{ page.path }}">{{ site.gh_edit_link_text }}</a>
125
+ </p>
126
+ {% endif %}
127
+ </div>
128
+ {% endif %}
129
+
130
+ </footer>
71
131
  {% endif %}
132
+
72
133
  </div>
73
134
  </div>
74
135
  </div>