just-the-hm-docs 1.0.0.rc1

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 (114) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +24 -0
  4. data/Rakefile +1 -0
  5. data/_includes/components/aux_nav.html +15 -0
  6. data/_includes/components/breadcrumbs.html +15 -0
  7. data/_includes/components/children_nav.html +9 -0
  8. data/_includes/components/footer.html +34 -0
  9. data/_includes/components/header.html +11 -0
  10. data/_includes/components/mermaid.html +5 -0
  11. data/_includes/components/search_footer.html +7 -0
  12. data/_includes/components/search_header.html +9 -0
  13. data/_includes/components/sidebar.html +69 -0
  14. data/_includes/css/callouts.scss.liquid +93 -0
  15. data/_includes/css/custom.scss.liquid +1 -0
  16. data/_includes/css/just-the-docs.scss.liquid +10 -0
  17. data/_includes/fix_linenos.html +65 -0
  18. data/_includes/footer_custom.html +3 -0
  19. data/_includes/head.html +46 -0
  20. data/_includes/head_custom.html +4 -0
  21. data/_includes/header_custom.html +0 -0
  22. data/_includes/icons/code_copy.html +15 -0
  23. data/_includes/icons/document.html +6 -0
  24. data/_includes/icons/expand.html +6 -0
  25. data/_includes/icons/external_link.html +5 -0
  26. data/_includes/icons/icons.html +13 -0
  27. data/_includes/icons/link.html +6 -0
  28. data/_includes/icons/menu.html +6 -0
  29. data/_includes/icons/search.html +6 -0
  30. data/_includes/js/custom.js +0 -0
  31. data/_includes/lunr/custom-data.json +0 -0
  32. data/_includes/lunr/custom-index.js +0 -0
  33. data/_includes/mermaid_config.js +1 -0
  34. data/_includes/nav.html +251 -0
  35. data/_includes/nav_footer_custom.html +0 -0
  36. data/_includes/search_placeholder_custom.html +1 -0
  37. data/_includes/title.html +5 -0
  38. data/_includes/toc_heading_custom.html +1 -0
  39. data/_includes/vendor/anchor_headings.html +172 -0
  40. data/_layouts/about.html +5 -0
  41. data/_layouts/default.html +41 -0
  42. data/_layouts/home.html +5 -0
  43. data/_layouts/minimal.html +60 -0
  44. data/_layouts/page.html +5 -0
  45. data/_layouts/post.html +5 -0
  46. data/_layouts/table_wrappers.html +7 -0
  47. data/_layouts/vendor/compress.html +10 -0
  48. data/_sass/base.scss +114 -0
  49. data/_sass/buttons.scss +113 -0
  50. data/_sass/code.scss +210 -0
  51. data/_sass/color_schemes/dark.scss +28 -0
  52. data/_sass/color_schemes/hm.scss +26 -0
  53. data/_sass/color_schemes/light.scss +208 -0
  54. data/_sass/content.scss +239 -0
  55. data/_sass/custom/custom.scss +30 -0
  56. data/_sass/custom/hm-branding.scss +259 -0
  57. data/_sass/custom/hm-code.scss +153 -0
  58. data/_sass/custom/hm-colors.scss +15 -0
  59. data/_sass/custom/hm-notes.scss +38 -0
  60. data/_sass/custom/setup.scss +160 -0
  61. data/_sass/labels.scss +33 -0
  62. data/_sass/layout.scss +206 -0
  63. data/_sass/modules.scss +17 -0
  64. data/_sass/navigation.scss +235 -0
  65. data/_sass/print.scss +40 -0
  66. data/_sass/search.scss +311 -0
  67. data/_sass/skiptomain.scss +30 -0
  68. data/_sass/support/_functions.scss +11 -0
  69. data/_sass/support/_variables.scss +129 -0
  70. data/_sass/support/mixins/_buttons.scss +27 -0
  71. data/_sass/support/mixins/_layout.scss +34 -0
  72. data/_sass/support/mixins/_typography.scss +84 -0
  73. data/_sass/support/mixins/mixins.scss +3 -0
  74. data/_sass/support/support.scss +3 -0
  75. data/_sass/tables.scss +54 -0
  76. data/_sass/typography.scss +63 -0
  77. data/_sass/utilities/_colors.scss +237 -0
  78. data/_sass/utilities/_layout.scss +101 -0
  79. data/_sass/utilities/_lists.scss +15 -0
  80. data/_sass/utilities/_spacing.scss +162 -0
  81. data/_sass/utilities/_typography.scss +85 -0
  82. data/_sass/utilities/utilities.scss +5 -0
  83. data/_sass/vendor/OneDarkJekyll/LICENSE +21 -0
  84. data/_sass/vendor/OneDarkJekyll/README.md +25 -0
  85. data/_sass/vendor/OneDarkJekyll/colors.less +30 -0
  86. data/_sass/vendor/OneDarkJekyll/syntax-firewatch-green.scss +200 -0
  87. data/_sass/vendor/OneDarkJekyll/syntax-firewatch.scss +200 -0
  88. data/_sass/vendor/OneDarkJekyll/syntax-one-dark-vivid.scss +200 -0
  89. data/_sass/vendor/OneDarkJekyll/syntax-one-dark.scss +200 -0
  90. data/_sass/vendor/OneDarkJekyll/syntax-variables.less +56 -0
  91. data/_sass/vendor/OneDarkJekyll/syntax.less +93 -0
  92. data/_sass/vendor/normalize.scss/README.md +7 -0
  93. data/_sass/vendor/normalize.scss/normalize.scss +351 -0
  94. data/assets/css/just-the-docs-dark.scss +3 -0
  95. data/assets/css/just-the-docs-default.scss +8 -0
  96. data/assets/css/just-the-docs-light.scss +3 -0
  97. data/assets/favicon/android-chrome-192x192.png +0 -0
  98. data/assets/favicon/android-chrome-512x512.png +0 -0
  99. data/assets/favicon/apple-touch-icon.png +0 -0
  100. data/assets/favicon/favicon-16x16.png +0 -0
  101. data/assets/favicon/favicon-32x32.png +0 -0
  102. data/assets/favicon/favicon.ico +0 -0
  103. data/assets/favicon/site.webmanifest +1 -0
  104. data/assets/images/.gitkeep +0 -0
  105. data/assets/images/hm-logo.svg +1 -0
  106. data/assets/images/search.svg +1 -0
  107. data/assets/js/just-the-docs.js +528 -0
  108. data/assets/js/vendor/lunr.min.js +61 -0
  109. data/assets/js/zzzz-search-data.json +74 -0
  110. data/bin/just-the-hm-docs +16 -0
  111. data/changelog.md +17 -0
  112. data/favicon.ico +0 -0
  113. data/lib/tasks/search.rake +88 -0
  114. metadata +217 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: acf12320344cc3dd2d21238c7157760afb05057a60474dc964715a734523082c
4
+ data.tar.gz: 611c56316630b1f26434368160b2d75d0b3bed8801bff553f7400898297c7157
5
+ SHA512:
6
+ metadata.gz: 83ebebe2290075dfd74ee5aaceff92b6fe20ca2d91af848c8c82cb487ed1f591a35d05a44d227001db7e7c88362c6595034eeb927f107abf81cb44f8a8bc9417
7
+ data.tar.gz: e34ff674a2752b26bf09cb9f0d691d5a120abbfec152b986f2d751f98fc0fd07c9b37dbfca7a7afa6ec6ad856cb418af405620fed999f3dea8952e982c02cbfd
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2023 Human Made
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # Just the HM Docs
2
+
3
+ Just the HM Docs is a GitHub Pages template developed for the purpose of quickly deploying documentation for Human Made open source projects. It is a fork of the popular [Just the Docs](https://github.com/just-the-docs/just-the-docs) Jekyll theme, which provides a robust and thoroughly-tested foundation for your website. Just the HM Docs includes features such as:
4
+
5
+ - automatic [navigation structure](https://humanmade.github.io/just-the-hm-docs/docs/navigation-structure)
6
+ - instant, full-text [search](https://humanmade.github.io/just-the-hm-docs/docs/search) and page indexing
7
+ - and a set of [UI components](https://humanmade.github.io/just-the-hm-docs/docs/ui-components) and authoring [utilities](https://humanmade.github.io/just-the-hm-docs/docs/utilities)
8
+
9
+ ## Getting Started
10
+
11
+ Getting started with Just the HM Docs is simple.
12
+
13
+ 1. Create a [new repository based on Just the HM Docs](https://github.com/humanmade/just-the-hm-docs/generate).
14
+ 1. Update `_config.yml` and `README.md` with your project information. [Be sure to update the url and baseurl](https://mademistakes.com/mastering-jekyll/site-url-baseurl/).
15
+ 1. Configure a [publishing source for GitHub Pages](https://help.github.com/en/articles/configuring-a-publishing-source-for-github-pages). Your project docs website is now live!
16
+ 1. Edit and create `.md` [Markdown files](https://guides.github.com/features/mastering-markdown/) to add more content pages.
17
+
18
+ ### Local development environment
19
+
20
+ Just the HM Docs requires no special Jekyll plugins and can run on GitHub Pages' standard Jekyll compiler. To setup a local development environment, clone your template repository and follow the GitHub Docs on [Testing your GitHub Pages site locally with Jekyll](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll).
21
+
22
+ ## License
23
+
24
+ The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ Dir.glob('lib/tasks/*.rake').each {|r| import r}
@@ -0,0 +1,15 @@
1
+ <nav aria-label="Auxiliary" class="aux-nav">
2
+ <ul class="aux-nav-list">
3
+ {% for link in site.aux_links %}
4
+ <li class="aux-nav-list-item">
5
+ <a href="{{ link.last }}" class="site-button"
6
+ {% if site.aux_links_new_tab %}
7
+ target="_blank" rel="noopener noreferrer"
8
+ {% endif %}
9
+ >
10
+ {{ link.first }}
11
+ </a>
12
+ </li>
13
+ {% endfor %}
14
+ </ul>
15
+ </nav>
@@ -0,0 +1,15 @@
1
+ {% unless page.url == "/" %}
2
+ {% if page.parent %}
3
+ <nav aria-label="Breadcrumb" class="breadcrumb-nav">
4
+ <ol class="breadcrumb-nav-list">
5
+ {% if page.grand_parent %}
6
+ <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
7
+ <li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
8
+ {% else %}
9
+ <li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
10
+ {% endif %}
11
+ <li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
12
+ </ol>
13
+ </nav>
14
+ {% endif %}
15
+ {% endunless %}
@@ -0,0 +1,9 @@
1
+ <hr>
2
+ {% include toc_heading_custom.html %}
3
+ <ul>
4
+ {% for child in include.toc_list %}
5
+ <li>
6
+ <a href="{{ child.url | relative_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
7
+ </li>
8
+ {% endfor %}
9
+ </ul>
@@ -0,0 +1,34 @@
1
+ {% capture footer_custom %}
2
+ {%- include footer_custom.html -%}
3
+ {% endcapture %}
4
+ {% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %}
5
+ <hr>
6
+ <footer>
7
+ {% if site.back_to_top %}
8
+ <p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p>
9
+ {% endif %}
10
+
11
+ {{ footer_custom }}
12
+
13
+ {% if site.last_edit_timestamp or site.gh_edit_link %}
14
+ <div class="d-flex mt-2">
15
+ {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
16
+ <p class="text-small text-grey-dk-000 mb-0 mr-2">
17
+ Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
18
+ </p>
19
+ {% endif %}
20
+ {% if
21
+ site.gh_edit_link and
22
+ site.gh_edit_link_text and
23
+ site.gh_edit_repository and
24
+ site.gh_edit_branch and
25
+ site.gh_edit_view_mode
26
+ %}
27
+ <p class="text-small text-grey-dk-000 mb-0">
28
+ <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>
29
+ </p>
30
+ {% endif %}
31
+ </div>
32
+ {% endif %}
33
+ </footer>
34
+ {% endif %}
@@ -0,0 +1,11 @@
1
+ <div id="main-header" class="main-header">
2
+ {% if site.search_enabled != false %}
3
+ {% include components/search_header.html %}
4
+ {% else %}
5
+ <div></div>
6
+ {% endif %}
7
+ {% include header_custom.html %}
8
+ {% if site.aux_links %}
9
+ {% include components/aux_nav.html %}
10
+ {% endif %}
11
+ </div>
@@ -0,0 +1,5 @@
1
+ <script>
2
+ var config = {% include mermaid_config.js %};
3
+ mermaid.initialize(config);
4
+ window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
5
+ </script>
@@ -0,0 +1,7 @@
1
+ {% if site.search.button %}
2
+ <a href="#" id="search-button" class="search-button">
3
+ <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg>
4
+ </a>
5
+ {% endif %}
6
+
7
+ <div class="search-overlay"></div>
@@ -0,0 +1,9 @@
1
+ {% capture search_placeholder %}{% include search_placeholder_custom.html %}{% endcapture %}
2
+
3
+ <div class="search">
4
+ <div class="search-input-wrap">
5
+ <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">
6
+ <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
7
+ </div>
8
+ <div id="search-results" class="search-results"></div>
9
+ </div>
@@ -0,0 +1,69 @@
1
+ <div class="side-bar">
2
+ <div class="site-header">
3
+ <a href="{{ '/' | relative_url }}" class="site-title lh-tight">{% include title.html %}</a>
4
+ <a href="#" id="menu-button" class="site-button">
5
+ <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
6
+ </a>
7
+ </div>
8
+ <nav aria-label="Main" id="site-nav" class="site-nav">
9
+ {% assign pages_top_size = site.html_pages
10
+ | where_exp:"item", "item.title != nil"
11
+ | where_exp:"item", "item.parent == nil"
12
+ | where_exp:"item", "item.nav_exclude != true"
13
+ | size %}
14
+ {% if pages_top_size > 0 %}
15
+ {% include nav.html pages=site.html_pages key=nil %}
16
+ {% endif %}
17
+ {%- if site.nav_external_links -%}
18
+ <ul class="nav-list">
19
+ {%- for node in site.nav_external_links -%}
20
+ <li class="nav-list-item external">
21
+ <a href="{{ node.url | absolute_url }}" class="nav-list-link external">
22
+ {{ node.title }}
23
+ {% 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 %}
24
+ </a>
25
+ </li>
26
+ {%- endfor -%}
27
+ </ul>
28
+ {%- endif -%}
29
+ {% if site.just_the_hm_docs.collections %}
30
+ {% assign collections_size = site.just_the_hm_docs.collections | size %}
31
+ {% for collection_entry in site.just_the_hm_docs.collections %}
32
+ {% assign collection_key = collection_entry[0] %}
33
+ {% assign collection_value = collection_entry[1] %}
34
+ {% assign collection = site[collection_key] %}
35
+ {% if collection_value.nav_exclude != true %}
36
+ {% if collections_size > 1 or pages_top_size > 0 %}
37
+ {% if collection_value.nav_fold == true %}
38
+ <ul class="nav-list nav-category-list">
39
+ <li class="nav-list-item{% if page.collection == collection_key %} active{% endif %}">
40
+ {%- if collection.size > 0 -%}
41
+ <a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
42
+ {%- endif -%}
43
+ <div class="nav-category">{{ collection_value.name }}</div>
44
+ {% include nav.html pages=collection key=collection_key %}
45
+ </li>
46
+ </ul>
47
+ {% else %}
48
+ <div class="nav-category">{{ collection_value.name }}</div>
49
+ {% include nav.html pages=collection key=collection_key %}
50
+ {% endif %}
51
+ {% else %}
52
+ {% include nav.html pages=collection key=collection_key %}
53
+ {% endif %}
54
+ {% endif %}
55
+ {% endfor %}
56
+ {% endif %}
57
+ </nav>
58
+
59
+ {% capture nav_footer_custom %}
60
+ {%- include nav_footer_custom.html -%}
61
+ {% endcapture %}
62
+ {% if nav_footer_custom != "" %}
63
+ {{ nav_footer_custom }}
64
+ {% else %}
65
+ <footer class="site-footer">
66
+ This site uses <a href="https://github.com/humanmade/just-the-hm-docs">Just the HM Docs</a>, a documentation theme for Jekyll.
67
+ </footer>
68
+ {% endif %}
69
+ </div>
@@ -0,0 +1,93 @@
1
+ {%- comment -%}
2
+ {% include css/callouts.scss.liquid color_scheme = string %}
3
+ produces SCSS for all the callouts in site.callouts. For the "dark"
4
+ color scheme, the levels of the text and background colors are reversed.
5
+ {%- endcomment -%}
6
+
7
+ {%- assign callout_background_hue = "000" -%}
8
+ {%- assign callout_color_hue = "300" -%}
9
+ {%- if site.callouts_level == "loud" or include.color_scheme == "dark" and site.callouts_level != "quiet" -%}
10
+ {%- assign callout_background_hue = "300" -%}
11
+ {%- assign callout_color_hue = "000" -%}
12
+ {%- endif -%}
13
+
14
+ div.opaque {
15
+ background-color: $body-background-color;
16
+ }
17
+
18
+ {%- for callout in site.callouts %}
19
+
20
+ {%- assign callout_opacity = callout[1].opacity | default: site.callouts_opacity | default: 0.2 -%}
21
+
22
+ p.{{ callout[0] }}, blockquote.{{ callout[0] }} {
23
+ background: rgba(${{ callout[1].color }}-{{ callout_background_hue }}, {{ callout_opacity }});
24
+ border-left: $border-radius solid ${{ callout[1].color }}-{{ callout_color_hue }};
25
+ border-radius: $border-radius;
26
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
27
+ padding: .8rem;
28
+ {% if callout[1].title %}
29
+ &::before {
30
+ color: ${{ callout[1].color }}-{{ callout_color_hue }};
31
+ content: "{{ callout[1].title }}";
32
+ display: block;
33
+ font-weight: bold;
34
+ text-transform: uppercase;
35
+ font-size: .75em;
36
+ padding-bottom: .125rem;
37
+ }
38
+ {% endif %}
39
+ > .{{ callout[0] }}-title {
40
+ color: ${{ callout[1].color }}-{{ callout_color_hue }};
41
+ display: block;
42
+ font-weight: bold;
43
+ text-transform: uppercase;
44
+ font-size: .75em;
45
+ padding-bottom: .125rem;
46
+ }
47
+ }
48
+
49
+ p.{{ callout[0] }}-title, blockquote.{{ callout[0] }}-title {
50
+ background: rgba(${{ callout[1].color }}-{{ callout_background_hue }}, {{ callout_opacity }});
51
+ border-left: $border-radius solid ${{ callout[1].color }}-{{ callout_color_hue }};
52
+ border-radius: $border-radius;
53
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
54
+ padding: .8rem;
55
+ > p:first-child {
56
+ margin-top: 0;
57
+ margin-bottom: 0;
58
+ color: ${{ callout[1].color }}-{{ callout_color_hue }};
59
+ display: block;
60
+ font-weight: bold;
61
+ text-transform: uppercase;
62
+ font-size: .75em;
63
+ padding-bottom: .125rem;
64
+ }
65
+ }
66
+
67
+ blockquote.{{ callout[0] }} {
68
+ margin-left: 0;
69
+ margin-right: 0;
70
+
71
+ > p:first-child {
72
+ margin-top: 0;
73
+ }
74
+
75
+ > p:last-child {
76
+ margin-bottom: 0;
77
+ }
78
+ }
79
+
80
+ blockquote.{{ callout[0] }}-title {
81
+ margin-left: 0;
82
+ margin-right: 0;
83
+
84
+ > p:nth-child(2) {
85
+ margin-top: 0;
86
+ }
87
+
88
+ > p:last-child {
89
+ margin-bottom: 0;
90
+ }
91
+ }
92
+
93
+ {% endfor -%}
@@ -0,0 +1 @@
1
+ @import "./custom/custom";
@@ -0,0 +1,10 @@
1
+ {% if site.logo %}
2
+ $logo: "{{ site.logo | relative_url }}";
3
+ {% endif %}
4
+ @import "./support/support";
5
+ @import "./custom/setup";
6
+ @import "./color_schemes/light";
7
+ @import "./color_schemes/{{ include.color_scheme }}";
8
+ @import "./modules";
9
+ {% include css/callouts.scss.liquid color_scheme = include.color_scheme %}
10
+ {% include css/custom.scss.liquid %}
@@ -0,0 +1,65 @@
1
+ {%- comment -%}
2
+ This file can be used to fix the HTML produced by Jekyll for highlighted
3
+ code with line numbers.
4
+
5
+ It works with `{% highlight some_language linenos %}...{% endhighlight %}`
6
+ and with the Kramdown option to add line numbers to fenced code.
7
+
8
+ The implementation was derived from the workaround provided by
9
+ Dmitry Hrabrov (DeXP) at
10
+ https://github.com/penibelst/jekyll-compress-html/issues/71#issuecomment-188144901
11
+
12
+ EXPLANATION
13
+
14
+ The HTML produced by Rouge highlighting with lie numbers is of the form
15
+ `code table`. Jekyll (<= 4.1.1) always wraps the highlighted HTML
16
+ with `pre`. This wrapping is not only unnecessary, but also transforms
17
+ the conforming HTML produced by Rouge to non-conforming HTML, which
18
+ results in HTML validation error reports.
19
+
20
+ The fix removes the outer `pre` tags whenever they contain the pattern
21
+ `<table class="rouge-table">`.
22
+
23
+ Apart from avoiding HTML validation errors, the fix allows the use of
24
+ the [Jekyll layout for compressing HTML](http://jch.penibelst.de),
25
+ which relies on `pre` tags not being nested, according to
26
+ https://github.com/penibelst/jekyll-compress-html/issues/71#issuecomment-172069842
27
+
28
+ USAGE
29
+
30
+ (Any names can be used for `some_var` and `some_language`.)
31
+
32
+ {% capture some_var %}
33
+ {% highlight some_language linenos %}
34
+ Some code
35
+ {% endhighlight %}
36
+ {% endcapture %}
37
+ {% include fix_linenos.html code=some_var %}
38
+
39
+ For code fences:
40
+
41
+ {% capture some_var %}
42
+ ```some_language
43
+ Some code
44
+ ```
45
+ {% endcapture %}
46
+ {% assign some_var = some_var | markdownify %}
47
+ {% include fix_linenos.html code=some_var %}
48
+
49
+ CAVEATS
50
+
51
+ The above does not work when `Some code` happens to contain the matched string
52
+ `<table class="rouge-table">`.
53
+
54
+ The use of this file overwrites the variable `fix_linenos_code` with `nil`.
55
+
56
+ {%- endcomment -%}
57
+
58
+ {% assign fix_linenos_code = include.code %}
59
+ {% if fix_linenos_code contains '<table class="rouge-table">' %}
60
+ {% assign fix_linenos_code = fix_linenos_code | replace: '<pre class="highlight">', '<pre>' %}
61
+ {% assign fix_linenos_code = fix_linenos_code | replace: "<pre><code", "<code" %}
62
+ {% assign fix_linenos_code = fix_linenos_code | replace: "</code></pre>", "</code>" %}
63
+ {% endif %}
64
+ {{ fix_linenos_code }}
65
+ {% assign fix_linenos_code = nil %}
@@ -0,0 +1,3 @@
1
+ {%- if site.footer_content -%}
2
+ <p class="text-small text-grey-dk-100 mb-0">{{ site.footer_content }}</p>
3
+ {%- endif -%}
@@ -0,0 +1,46 @@
1
+ <head>
2
+ <meta charset="UTF-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge">
4
+
5
+ <link rel="stylesheet" href="{{ '/assets/css/just-the-docs-default.css' | relative_url }}">
6
+
7
+ {% if site.ga_tracking != nil %}
8
+ {% assign ga_tracking_ids = site.ga_tracking | split: "," %}
9
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ ga_tracking_ids.first }}"></script>
10
+ <script>
11
+ window.dataLayer = window.dataLayer || [];
12
+ function gtag(){dataLayer.push(arguments);}
13
+ gtag('js', new Date());
14
+
15
+ {% for ga_property in ga_tracking_ids %}
16
+ gtag('config', '{{ ga_property }}'{% unless site.ga_tracking_anonymize_ip == nil %}, { 'anonymize_ip': true }{% endunless %});
17
+ {% endfor %}
18
+ </script>
19
+ {% endif %}
20
+
21
+ {% if site.search_enabled != false %}
22
+ <script src="{{ '/assets/js/vendor/lunr.min.js' | relative_url }}"></script>
23
+ {% endif %}
24
+
25
+ {% if site.mermaid %}
26
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@{{ site.mermaid.version }}/dist/mermaid.min.js"></script>
27
+ {% endif %}
28
+
29
+ <script src="{{ '/assets/js/just-the-docs.js' | relative_url }}"></script>
30
+
31
+ <meta name="viewport" content="width=device-width, initial-scale=1">
32
+
33
+ {% for file in site.static_files %}
34
+ {% if file.path == site.favicon_ico or file.path == '/favicon.ico' %}
35
+ {% assign favicon = true %}
36
+ {% endif %}
37
+ {% endfor %}
38
+ {% if favicon %}
39
+ <link rel="icon" href="{{ site.favicon_ico | default: '/favicon.ico' | relative_url }}" type="image/x-icon">
40
+ {% endif %}
41
+
42
+ {% seo %}
43
+
44
+ {% include head_custom.html %}
45
+
46
+ </head>
@@ -0,0 +1,4 @@
1
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ site.baseurl }}/assets/favicon/apple-touch-icon.png">
2
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ site.baseurl }}/assets/favicon/favicon-32x32.png">
3
+ <link rel="icon" type="image/png" sizes="16x16" href="{{ site.baseurl }}/assets/favicon/favicon-16x16.png">
4
+ <link rel="manifest" href="{{ site.baseurl }}/assets/favicon/site.webmanifest">
File without changes
@@ -0,0 +1,15 @@
1
+ <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md -->
2
+ <symbol id="svg-copy" viewBox="0 0 16 16">
3
+ <title>Copy</title>
4
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16">
5
+ <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/>
6
+ <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/>
7
+ </svg>
8
+ </symbol>
9
+ <symbol id="svg-copied" viewBox="0 0 16 16">
10
+ <title>Copied</title>
11
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16">
12
+ <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/>
13
+ <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/>
14
+ </svg>
15
+ </symbol>
@@ -0,0 +1,6 @@
1
+ <symbol id="svg-doc" viewBox="0 0 24 24">
2
+ <title>Document</title>
3
+ <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">
4
+ <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>
5
+ </svg>
6
+ </symbol>
@@ -0,0 +1,6 @@
1
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
2
+ <title>Expand</title>
3
+ <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">
4
+ <polyline points="9 18 15 12 9 6"></polyline>
5
+ </svg>
6
+ </symbol>
@@ -0,0 +1,5 @@
1
+ <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE -->
2
+ <symbol id="svg-external-link" 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-external-link">
3
+ <title id="svg-external-link-title">(external link)</title>
4
+ <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line>
5
+ </symbol>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" class="d-none">
2
+ {% include icons/link.html %}
3
+ {% include icons/menu.html %}
4
+ {% include icons/expand.html %}
5
+ {% include icons/external_link.html %}
6
+ {% if site.search_enabled != false %}
7
+ {% include icons/document.html %}
8
+ {% include icons/search.html %}
9
+ {% endif %}
10
+ {% if site.enable_copy_code_button != false %}
11
+ {% include icons/code_copy.html %}
12
+ {% endif %}
13
+ </svg>
@@ -0,0 +1,6 @@
1
+ <symbol id="svg-link" viewBox="0 0 24 24">
2
+ <title>Link</title>
3
+ <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">
4
+ <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>
5
+ </svg>
6
+ </symbol>
@@ -0,0 +1,6 @@
1
+ <symbol id="svg-menu" viewBox="0 0 24 24">
2
+ <title>Menu</title>
3
+ <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">
4
+ <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>
5
+ </svg>
6
+ </symbol>
@@ -0,0 +1,6 @@
1
+ <symbol id="svg-search" viewBox="0 0 24 24">
2
+ <title>Search</title>
3
+ <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">
4
+ <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
5
+ </svg>
6
+ </symbol>
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {}