Merge pull request #892 from just-the-docs/v0.4.0-dev

Version 0.4.0.rc1 - release PR
This commit is contained in:
Matt Wang 2022-08-11 19:39:57 -07:00 committed by GitHub
commit daa86968bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
129 changed files with 4830 additions and 7244 deletions

View File

@ -1,37 +1,35 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/jekyll
{
"name": "Just the docs",
"build": {
"dockerfile": "Dockerfile",
"args": {
// Update 'VARIANT' to pick a Debian OS version: bullseye, buster
// Use bullseye when on local arm64/Apple Silicon.
"VARIANT": "bullseye",
// Enable Node.js: pick the latest LTS version
"NODE_VERSION": "lts/*"
}
},
"name": "Just the docs",
"build": {
"dockerfile": "Dockerfile",
"args": {
// Update 'VARIANT' to pick a Debian OS version: bullseye, buster
// Use bullseye when on local arm64/Apple Silicon.
"VARIANT": "bullseye",
// Enable Node.js: pick the latest LTS version
"NODE_VERSION": "lts/*"
}
},
// Set *default* container specific settings.json values on container create.
"settings": {},
// Set *default* container specific settings.json values on container create.
"settings": {},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"GitHub.vscode-pull-request-github"
],
// Add the IDs of extensions you want installed when the container is created.
"extensions": ["GitHub.vscode-pull-request-github"],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
// Jekyll server
4000,
// Live reload server
35729
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
// Jekyll server
4000,
// Live reload server
35729
],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "sh .devcontainer/post-create.sh",
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "sh .devcontainer/post-create.sh",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}

View File

@ -5,9 +5,17 @@
"assets/css/just-the-docs-dark.scss",
"_sass/vendor/**/*.scss"
],
"extends": ["stylelint-config-primer", "stylelint-config-prettier"],
"extends": [
"stylelint-config-standard-scss",
"stylelint-config-prettier-scss"
],
"plugins": ["stylelint-prettier"],
"rules": {
"prettier/prettier": true
"prettier/prettier": true,
"alpha-value-notation": null,
"color-function-notation": null,
"declaration-block-no-redundant-longhand-properties": null,
"no-descending-specificity": null,
"scss/no-global-function-names": null
}
}

50
.vscode/tasks.json vendored
View File

@ -1,26 +1,26 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Serve",
"type": "shell",
"command": "bundle exec jekyll serve --livereload",
"group": {
"kind": "test",
"isDefault": true
},
"isBackground": true,
},
{
"label": "Build",
"type": "shell",
"command": "bundle exec jekyll build",
"group": {
"kind": "build",
"isDefault": true
},
}
]
}
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Serve",
"type": "shell",
"command": "bundle exec jekyll serve --livereload",
"group": {
"kind": "test",
"isDefault": true
},
"isBackground": true
},
{
"label": "Build",
"type": "shell",
"command": "bundle exec jekyll build",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

View File

@ -8,4 +8,4 @@ search_exclude: true
<h1>Page not found</h1>
<p>The page you requested could not be found. Try using the navigation {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to this <a href="{{ '/' | absolute_url }}">site's home page</a>.</p>
<p>The page you requested could not be found. Try using the navigation {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to this <a href="{{ '/' | relative_url }}">site's home page</a>.</p>

View File

@ -6,7 +6,107 @@ All notable changes to this project are documented in this file.
## Head
Major work in progress. Please see [PR #892](https://github.com/just-the-docs/just-the-docs/pull/892) for a v0.4.0 release candidate.
Major work in progress. Please see [PR #892](https://github.com/just-the-docs/just-the-docs/pull/892) for a v0.4.0 release candidate. The following changelog notes are a draft (and not final).
### Features
* Added: Combination by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/578
- Added: dark highlighting in https://github.com/just-the-docs/just-the-docs/pull/463
- Added: pages and collections in https://github.com/just-the-docs/just-the-docs/pull/448
- Added: callouts in https://github.com/just-the-docs/just-the-docs/pull/466
- Fixed: breadcrumb behaviour … by @AdityaTiwari2102 in https://github.com/just-the-docs/just-the-docs/pull/477
- Fixed: prevent rake command corrupting search data in https://github.com/just-the-docs/just-the-docs/pull/495 (also listed below)
- Fixed: nested lists in https://github.com/just-the-docs/just-the-docs/pull/496
- Fixed: set color for search input in https://github.com/just-the-docs/just-the-docs/pull/498 (also listed below)
- Fixed: sites with no child pages (no PR)
- Fixed: TOC/breadcrumbs for multiple collections in https://github.com/just-the-docs/just-the-docs/pull/494
- Added: collection configuration option `nav_fold` (no PR)
- Fixed: indentation and color for folded collection navigation (no PR)
- Fixed: scroll navigation to show the link to the current page in https://github.com/just-the-docs/just-the-docs/pull/639
- Fixed: Replace all uses of `absolute_url` by `relative_url`, by @svrooij in https://github.com/just-the-docs/just-the-docs/pull/544
* Added: custom favicon `_includes` by @burner1024 in https://github.com/just-the-docs/just-the-docs/pull/364
* Added: set color for search input by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/498
* Added: search placeholder configuration by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/613
* Added: 'child_nav_order' front matter to be able to sort navigation pages in reverse by @jmertic in https://github.com/just-the-docs/just-the-docs/pull/726
* Added: `nav_footer_custom` include by @nathanjessen in https://github.com/just-the-docs/just-the-docs/pull/474
* Added: style fixes for jekyll-asciidoc by @alyssais in https://github.com/just-the-docs/just-the-docs/pull/829
* Added: mermaid.js support by @nascosto in https://github.com/just-the-docs/just-the-docs/pull/857
* Added: support for external navigation links by @SPGoding in https://github.com/just-the-docs/just-the-docs/pull/876
* Added: refactor `mermaid` config to use `mermaid_config.js` include, only require `mermaid.version` in `_config.yml` by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/909
* Fixed: prepend `site.collections_dir` if exists by @alexsegura in https://github.com/just-the-docs/just-the-docs/pull/519
* Fixed: nested task lists (#517) by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/855
* Fixed: suppress Liquid processing in CSS comments by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/686
* Fixed: prevent rake command from corrupting search data by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/495
* Fixed: anchor heading links should be visible on focus by @jacobhq in https://github.com/just-the-docs/just-the-docs/pull/846
* Fixed: add `overflow-x: auto` to `figure.highlight` by @iridazzle in https://github.com/just-the-docs/just-the-docs/pull/727
* Fixed: add `overflow-wrap: word-break` to `body` by @iridazzle in https://github.com/just-the-docs/just-the-docs/pull/889
* Fixed: vertical alignment for consecutive labels by @Eisverygoodletter in https://github.com/just-the-docs/just-the-docs/pull/893
* Fixed: allow links to wrap by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/905
* Fixed: nav scroll feature and absolute/relative URLs by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/898
### Documentation
* Added: docs on how to break an `ol` by @pdmosses in https://github.com/just-the-docs/just-the-docs/pull/856
* Added: docs for custom includes by @nathanjessen in https://github.com/just-the-docs/just-the-docs/pull/806
* Added: document caveat about variable dependencies by @waldyrious in https://github.com/just-the-docs/just-the-docs/pull/555
* Added: docs on how to use `custom_head` to add a custom favicon by @UnclassedPenguin in https://github.com/just-the-docs/just-the-docs/pull/814
* Fixed: `ol` on `index.md` by @pmarsceill in https://github.com/just-the-docs/just-the-docs/pull/778
* Fixed: image link in Markdown kitchen sink by @JeffGuKang in https://github.com/just-the-docs/just-the-docs/pull/221
* Fixed: images in Markdown kitchen sink by @dougaitken in https://github.com/just-the-docs/just-the-docs/pull/782
* Fixed: clearer label of link to Jekyll quickstart by @waldyrious in https://github.com/just-the-docs/just-the-docs/pull/549
* Fixed: remove extra spaces in component docs by @MichelleBlanchette in https://github.com/just-the-docs/just-the-docs/pull/554
* Fixed: double "your" typo in `index.md` by @sehilyi in https://github.com/just-the-docs/just-the-docs/pull/499
* Fixed: "you" -> "your" typo in `index.md` by @nathanjessen in https://github.com/just-the-docs/just-the-docs/pull/473
* Fixed: spacing in toc example by @henryiii in https://github.com/just-the-docs/just-the-docs/pull/835
* Fixed: typo in `README` on `_config.yml` by @ivanskodje in https://github.com/just-the-docs/just-the-docs/pull/891
* Fixed: missing code fence in navigation structure docs by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/906
### Maintenance
* Added: VScode devcontainer by @max06 in https://github.com/just-the-docs/just-the-docs/pull/783
* Added: `webrick` to `Gemfile` by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/799
* Added: 'This site is powered by Netlify.' to the footer by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/797
* Updated: new repo path by @pmarsceill in https://github.com/just-the-docs/just-the-docs/pull/775
* Updated: rename `master` -> `main` by @pmarsceill in https://github.com/just-the-docs/just-the-docs/pull/776
* Updated: README by @pmarsceill in https://github.com/just-the-docs/just-the-docs/pull/777
* Updated: Code of Conduct to Contributor Covenant v2.1 by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/790
* Updated: CI files, Ruby & Node Versions by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/820
* Updated: Stylelint to v14, extend SCSS plugins, remove primer-* configs, resolve issues by @mattxwang in https://github.com/just-the-docs/just-the-docs/pull/821
### Dependencies
* Upgrade to GitHub-native Dependabot by @dependabot-preview in https://github.com/just-the-docs/just-the-docs/pull/627
* [Security] Bump y18n from 3.2.1 to 3.2.2 by @dependabot-preview in https://github.com/just-the-docs/just-the-docs/pull/606
* [Security] Bump hosted-git-info from 2.7.1 to 2.8.9 by @dependabot-preview in https://github.com/just-the-docs/just-the-docs/pull/641
* [Security] Bump lodash from 4.17.19 to 4.17.21 by @dependabot-preview in https://github.com/just-the-docs/just-the-docs/pull/640
* [Security] Bump ini from 1.3.5 to 1.3.8 by @dependabot-preview in https://github.com/just-the-docs/just-the-docs/pull/511
* Bump path-parse from 1.0.6 to 1.0.7 by @dependabot in https://github.com/just-the-docs/just-the-docs/pull/699
* Bump ajv from 6.10.0 to 6.12.6 by @dependabot in https://github.com/just-the-docs/just-the-docs/pull/766
* Bump prettier from 2.1.2 to 2.5.1 by @dependabot in https://github.com/just-the-docs/just-the-docs/pull/787
* Bump prettier from 2.5.1 to 2.6.2 by @dependabot in https://github.com/just-the-docs/just-the-docs/pull/809
* Bump prettier from 2.6.2 to 2.7.1 by @dependabot in https://github.com/just-the-docs/just-the-docs/pull/864
### New Contributors
* @alexsegura made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/519
* @burner1024 made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/364
* @JeffGuKang made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/221
* @dougaitken made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/782
* @max06 made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/783
* @sehilyi made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/499
* @nathanjessen made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/473
* @waldyrious made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/549
* @MichelleBlanchette made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/554
* @henryiii made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/835
* @jmertic made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/726
* @jacobhq made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/846
* @UnclassedPenguin made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/814
* @alyssais made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/829
* @nascosto made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/857
* @SPGoding made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/876
* @iridazzle made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/727
* @ivanskodje made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/891
* @Eisverygoodletter made their first contribution in https://github.com/just-the-docs/just-the-docs/pull/893
**Full Changelog**: https://github.com/just-the-docs/just-the-docs/compare/v0.3.3...v0.4.0
## v0.3.3

View File

@ -19,15 +19,7 @@ baseurl: "/just-the-docs" # the subpath of your site, e.g. /blog
url: "https://just-the-docs.github.io" # the base hostname & protocol for your site, e.g. http://example.com
permalink: pretty
exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "package.json", "package-lock.json", "script/", "LICENSE.txt", "lib/", "bin/", "README.md", "Rakefile"
, "docs/tests/"
]
# Regression tests
# By default, the pages in /docs/tests are excluded when the ste is built.
# To include them, comment-out the relevant line above.
# Uncommenting the following line doesn't work - see https://github.com/jekyll/jekyll/issues/4791
# include: ["docs/tests/"]
exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "package.json", "package-lock.json", "script/", "LICENSE.txt", "lib/", "bin/", "README.md", "Rakefile"]
# Set a path/url to a logo that will be displayed instead of the title
#logo: "/assets/images/just-the-docs.png"
@ -59,6 +51,15 @@ search:
# Supports true or false (default)
button: false
# To enable support for mermaid diagrams (https://mermaid-js.github.io/mermaid/),
# uncomment the `mermaid` and `version` keys below
# mermaid:
# # Version of mermaid library
# # Pick an available version from https://cdn.jsdelivr.net/npm/mermaid/
# version: "9.1.3"
# # Put any additional configuration, such as setting the theme, in _includes/mermaid_config.js
# # See also docs/ui-components/code
# Enable or disable heading anchors
heading_anchors: true
@ -74,6 +75,11 @@ aux_links_new_tab: false
# nav_sort: case_insensitive # default, equivalent to nil
nav_sort: case_sensitive # Capital letters sorted before lowercase
# External navigation links
nav_external_links:
- title: Just the Docs on GitHub
url: https://github.com/just-the-docs/just-the-docs
# Footer content
# appears at the bottom of every page's main content

View File

@ -0,0 +1,93 @@
{%- comment -%}
{% include css/callouts.scss.liquid color_scheme = string %}
produces SCSS for all the callouts in site.callouts. For the "dark"
color scheme, the levels of the text and background colors are reversed.
{%- endcomment -%}
{%- assign callout_background_hue = "000" -%}
{%- assign callout_color_hue = "300" -%}
{%- if site.callouts_level == "loud" or include.color_scheme == "dark" and site.callouts_level != "quiet" -%}
{%- assign callout_background_hue = "300" -%}
{%- assign callout_color_hue = "000" -%}
{%- endif -%}
div.opaque {
background-color: $body-background-color;
}
{%- for callout in site.callouts %}
{%- assign callout_opacity = callout[1].opacity | default: site.callouts_opacity | default: 0.2 -%}
p.{{ callout[0] }}, blockquote.{{ callout[0] }} {
background: rgba(${{ callout[1].color }}-{{ callout_background_hue }}, {{ callout_opacity }});
border-left: $border-radius solid ${{ callout[1].color }}-{{ callout_color_hue }};
border-radius: $border-radius;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
padding: .8rem;
{% if callout[1].title %}
&::before {
color: ${{ callout[1].color }}-{{ callout_color_hue }};
content: "{{ callout[1].title }}";
display: block;
font-weight: bold;
text-transform: uppercase;
font-size: .75em;
padding-bottom: .125rem;
}
{% endif %}
> .{{ callout[0] }}-title {
color: ${{ callout[1].color }}-{{ callout_color_hue }};
display: block;
font-weight: bold;
text-transform: uppercase;
font-size: .75em;
padding-bottom: .125rem;
}
}
p.{{ callout[0] }}-title, blockquote.{{ callout[0] }}-title {
background: rgba(${{ callout[1].color }}-{{ callout_background_hue }}, {{ callout_opacity }});
border-left: $border-radius solid ${{ callout[1].color }}-{{ callout_color_hue }};
border-radius: $border-radius;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
padding: .8rem;
> p:first-child {
margin-top: 0;
margin-bottom: 0;
color: ${{ callout[1].color }}-{{ callout_color_hue }};
display: block;
font-weight: bold;
text-transform: uppercase;
font-size: .75em;
padding-bottom: .125rem;
}
}
blockquote.{{ callout[0] }} {
margin-left: 0;
margin-right: 0;
> p:first-child {
margin-top: 0;
}
> p:last-child {
margin-bottom: 0;
}
}
blockquote.{{ callout[0] }}-title {
margin-left: 0;
margin-right: 0;
> p:nth-child(2) {
margin-top: 0;
}
> p:last-child {
margin-bottom: 0;
}
}
{% endfor -%}

View File

@ -1,7 +1,8 @@
{% if site.logo %}
$logo: "{{ site.logo | absolute_url }}";
$logo: "{{ site.logo | relative_url }}";
{% endif %}
@import "./support/support";
@import "./color_schemes/{{ include.color_scheme }}";
@import "./modules";
{% include css/custom.scss.liquid %}
{% include css/callouts.scss.liquid color_scheme = include.color_scheme %}

1
_includes/favicon.html Normal file
View File

@ -0,0 +1 @@
<link rel="shortcut icon" href="{{ 'favicon.ico' | relative_url }}" type="image/x-icon">

View File

@ -10,7 +10,7 @@
{% endif %}
{% endunless %}
<link rel="shortcut icon" href="{{ 'favicon.ico' | relative_url }}" type="image/x-icon">
{% include favicon.html %}
<link rel="stylesheet" href="{{ '/assets/css/just-the-docs-default.css' | relative_url }}">
@ -29,6 +29,11 @@
{% if site.search_enabled != false %}
<script type="text/javascript" src="{{ '/assets/js/vendor/lunr.min.js' | relative_url }}"></script>
{% endif %}
{% if site.mermaid %}
<script src="https://cdn.jsdelivr.net/npm/mermaid@{{ site.mermaid.version }}/dist/mermaid.min.js"></script>
{% endif %}
<script type="text/javascript" src="{{ '/assets/js/just-the-docs.js' | relative_url }}"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">

View File

@ -0,0 +1,5 @@
<!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE -->
<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">
<title id="svg-external-link-title">(external link)</title>
<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>
</symbol>

View File

@ -0,0 +1 @@
{}

View File

@ -60,13 +60,17 @@
{%- for node in pages_list -%}
{%- if node.parent == nil -%}
{%- unless node.nav_exclude -%}
<li class="nav-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
<li class="nav-list-item{% if page.collection == include.key and page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
{%- if node.has_children -%}
<a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
{%- endif -%}
<a href="{{ node.url | absolute_url }}" class="nav-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
<a href="{{ node.url | relative_url }}" class="nav-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
{%- if node.has_children -%}
{%- assign children_list = pages_list | where: "parent", node.title -%}
{%- if node.child_nav_order == 'desc' -%}
{%- assign children_list = pages_list | where: "parent", node.title | where_exp:"item", "item.grand_parent == nil" | reverse -%}
{%- else -%}
{%- assign children_list = pages_list | where: "parent", node.title | where_exp:"item", "item.grand_parent == nil" -%}
{%- endif -%}
<ul class="nav-list ">
{%- for child in children_list -%}
{%- unless child.nav_exclude -%}
@ -74,14 +78,18 @@
{%- if child.has_children -%}
<a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
{%- endif -%}
<a href="{{ child.url | absolute_url }}" class="nav-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
<a href="{{ child.url | relative_url }}" class="nav-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
{%- if child.has_children -%}
{%- if node.child_nav_order == 'desc' -%}
{%- assign grand_children_list = pages_list | where: "parent", child.title | where: "grand_parent", node.title | reverse -%}
{%- else -%}
{%- assign grand_children_list = pages_list | where: "parent", child.title | where: "grand_parent", node.title -%}
{%- endif -%}
<ul class="nav-list">
{%- for grand_child in grand_children_list -%}
{%- unless grand_child.nav_exclude -%}
<li class="nav-list-item {% if page.url == grand_child.url %} active{% endif %}">
<a href="{{ grand_child.url | absolute_url }}" class="nav-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
<a href="{{ grand_child.url | relative_url }}" class="nav-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
</li>
{%- endunless -%}
{%- endfor -%}
@ -96,4 +104,39 @@
{%- endunless -%}
{%- endif -%}
{%- endfor -%}
{%- assign nav_external_links = site.nav_external_links -%}
{%- for node in nav_external_links -%}
<li class="nav-list-item external">
<a href="{{ node.url | absolute_url }}" class="nav-list-link external">
{{ node.title }}
{% 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 %}
</a>
</li>
{%- endfor -%}
</ul>
{%- if page.collection == include.key -%}
{%- for node in pages_list -%}
{%- if node.parent == nil -%}
{%- if page.grand_parent == node.title or page.parent == node.title and page.grand_parent == nil -%}
{%- assign first_level_url = node.url | relative_url -%}
{%- endif -%}
{%- if node.has_children -%}
{%- assign children_list = pages_list | where: "parent", node.title -%}
{%- for child in children_list -%}
{%- if child.has_children -%}
{%- if page.url == child.url or page.parent == child.title and page.grand_parent == child.parent -%}
{%- assign second_level_url = child.url | relative_url -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{% if page.has_children == true and page.has_toc != false %}
{%- assign toc_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%}
{%- endif -%}
{%- endif -%}

View File

View File

@ -0,0 +1 @@
Search {{site.title}}

View File

@ -38,16 +38,25 @@ layout: table_wrappers
<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>
</svg>
</symbol>
{% include icons/external_link.html %}
</svg>
<div class="side-bar">
<div class="site-header">
<a href="{{ '/' | absolute_url }}" class="site-title lh-tight">{% include title.html %}</a>
<a href="{{ '/' | relative_url }}" class="site-title lh-tight">{% include title.html %}</a>
<a href="#" id="menu-button" class="site-button">
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
</a>
</div>
<nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
{% assign pages_top_size = site.html_pages
| where_exp:"item", "item.title != nil"
| where_exp:"item", "item.parent == nil"
| where_exp:"item", "item.nav_exclude != true"
| size %}
{% if pages_top_size > 0 %}
{% include nav.html pages=site.html_pages key=nil %}
{% endif %}
{% if site.just_the_docs.collections %}
{% assign collections_size = site.just_the_docs.collections | size %}
{% for collection_entry in site.just_the_docs.collections %}
@ -55,26 +64,49 @@ layout: table_wrappers
{% assign collection_value = collection_entry[1] %}
{% assign collection = site[collection_key] %}
{% if collection_value.nav_exclude != true %}
{% if collections_size > 1 %}
<div class="nav-category">{{ collection_value.name }}</div>
{% if collections_size > 1 or pages_top_size > 0 %}
{% if collection_value.nav_fold == true %}
<ul class="nav-list nav-category-list">
<li class="nav-list-item{% if page.collection == collection_key %} active{% endif %}">
{%- if collection.size > 0 -%}
<a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
{%- endif -%}
<div class="nav-category">{{ collection_value.name }}</div>
{% include nav.html pages=collection key=collection_key %}
</li>
</ul>
{% else %}
<div class="nav-category">{{ collection_value.name }}</div>
{% include nav.html pages=collection key=collection_key %}
{% endif %}
{% else %}
{% include nav.html pages=collection key=collection_key %}
{% endif %}
{% include nav.html pages=collection %}
{% endif %}
{% endfor %}
{% else %}
{% include nav.html pages=site.html_pages %}
{% endif %}
</nav>
<footer class="site-footer">
This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
</footer>
{% capture nav_footer_custom %}
{%- include nav_footer_custom.html -%}
{% endcapture %}
{% if nav_footer_custom != "" %}
{{ nav_footer_custom }}
{% else %}
<footer class="site-footer">
This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
</footer>
{% endif %}
</div>
<div class="main" id="top">
<div id="main-header" class="main-header">
{% if site.search_enabled != false %}
{% capture search_placeholder %}{% include search_placeholder_custom.html %}{% endcapture %}
<div class="search">
<div class="search-input-wrap">
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
<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">
<label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
</div>
<div id="search-results" class="search-results"></div>
@ -102,21 +134,6 @@ layout: table_wrappers
<div id="main-content-wrap" class="main-content-wrap">
{% unless page.url == "/" %}
{% if page.parent %}
{%- for node in pages_list -%}
{%- if node.parent == nil -%}
{%- if page.parent == node.title or page.grand_parent == node.title -%}
{%- assign first_level_url = node.url | absolute_url -%}
{%- endif -%}
{%- if node.has_children -%}
{%- assign children_list = pages_list | where: "parent", node.title -%}
{%- for child in children_list -%}
{%- if page.url == child.url or page.parent == child.title -%}
{%- assign second_level_url = child.url | absolute_url -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
<nav aria-label="Breadcrumb" class="breadcrumb-nav">
<ol class="breadcrumb-nav-list">
{% if page.grand_parent %}
@ -141,10 +158,9 @@ layout: table_wrappers
<hr>
<h2 class="text-delta">Table of contents</h2>
<ul>
{%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%}
{% for child in children_list %}
{% for child in toc_list %}
<li>
<a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
<a href="{{ child.url | relative_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
</li>
{% endfor %}
</ul>
@ -177,7 +193,7 @@ layout: table_wrappers
site.gh_edit_view_mode
%}
<p class="text-small text-grey-dk-000 mb-0">
<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 %}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a>
<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>
</p>
{% endif %}
</div>
@ -199,4 +215,11 @@ layout: table_wrappers
{% endif %}
</div>
</body>
{% if site.mermaid %}
<script>
var config = {% include mermaid_config.js %};
mermaid.initialize(config);
window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
</script>
{% endif %}
</html>

View File

@ -1,7 +1,5 @@
//
// Base element style overrides
//
// stylelint-disable selector-no-type, selector-max-type
// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id
* {
box-sizing: border-box;
@ -14,6 +12,7 @@
html {
@include fs-4;
scroll-behavior: smooth;
}
@ -23,6 +22,7 @@ body {
line-height: $body-line-height;
color: $body-text-color;
background-color: $body-background-color;
overflow-wrap: break-word;
}
ol,
@ -45,7 +45,8 @@ h2,
h3,
h4,
h5,
h6 {
h6,
#toctitle {
margin-top: 0;
margin-bottom: 1em;
font-weight: 500;

View File

@ -1,6 +1,4 @@
//
// Buttons and things that look like buttons
//
// stylelint-disable color-named
.btn {

View File

@ -1,7 +1,7 @@
//
// Code and syntax highlighting
//
// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type
// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type, scss/comment-no-empty
// {% raw %}
code {
padding: 0.2em 0.15em;
@ -36,6 +36,9 @@ a:visited code {
// > td.gutter.gl > pre.lineno
// | td.code > pre
//
// ----...---- (AsciiDoc)
// div.listingblock > div.content > pre.rouge.highlight
//
// fix_linenos removes the outermost pre when it encloses table.rouge-table
//
// See docs/index-test.md for some tests.
@ -44,7 +47,8 @@ a:visited code {
// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?
// ```[LANG]...```
div.highlighter-rouge {
div.highlighter-rouge,
div.listingblock {
padding: $sp-3;
margin-top: 0;
margin-bottom: $sp-3;
@ -69,6 +73,7 @@ figure.highlight {
padding: $sp-3;
margin-top: 0;
margin-bottom: $sp-3;
overflow-x: auto;
background-color: $code-background-color;
border-radius: $border-radius;
box-shadow: none;
@ -93,6 +98,7 @@ figure.highlight {
td,
pre {
@include fs-2;
min-width: 0;
padding: 0;
background-color: $code-background-color;
@ -109,213 +115,6 @@ figure.highlight {
}
}
.highlight .c {
color: #586e75;
} // comment //
.highlight .err {
color: #93a1a1;
} // error //
.highlight .g {
color: #93a1a1;
} // generic //
.highlight .k {
color: #859900;
} // keyword //
.highlight .l {
color: #93a1a1;
} // literal //
.highlight .n {
color: #93a1a1;
} // name //
.highlight .o {
color: #859900;
} // operator //
.highlight .x {
color: #cb4b16;
} // other //
.highlight .p {
color: #93a1a1;
} // punctuation //
.highlight .cm {
color: #586e75;
} // comment.multiline //
.highlight .cp {
color: #859900;
} // comment.preproc //
.highlight .c1 {
color: #586e75;
} // comment.single //
.highlight .cs {
color: #859900;
} // comment.special //
.highlight .gd {
color: #2aa198;
} // generic.deleted //
.highlight .ge {
font-style: italic;
color: #93a1a1;
} // generic.emph //
.highlight .gr {
color: #dc322f;
} // generic.error //
.highlight .gh {
color: #cb4b16;
} // generic.heading //
.highlight .gi {
color: #859900;
} // generic.inserted //
.highlight .go {
color: #93a1a1;
} // generic.output //
.highlight .gp {
color: #93a1a1;
} // generic.prompt //
.highlight .gs {
font-weight: bold;
color: #93a1a1;
} // generic.strong //
.highlight .gu {
color: #cb4b16;
} // generic.subheading //
.highlight .gt {
color: #93a1a1;
} // generic.traceback //
.highlight .kc {
color: #cb4b16;
} // keyword.constant //
.highlight .kd {
color: #268bd2;
} // keyword.declaration //
.highlight .kn {
color: #859900;
} // keyword.namespace //
.highlight .kp {
color: #859900;
} // keyword.pseudo //
.highlight .kr {
color: #268bd2;
} // keyword.reserved //
.highlight .kt {
color: #dc322f;
} // keyword.type //
.highlight .ld {
color: #93a1a1;
} // literal.date //
.highlight .m {
color: #2aa198;
} // literal.number //
.highlight .s {
color: #2aa198;
} // literal.string //
.highlight .na {
color: #555;
} // name.attribute //
.highlight .nb {
color: #b58900;
} // name.builtin //
.highlight .nc {
color: #268bd2;
} // name.class //
.highlight .no {
color: #cb4b16;
} // name.constant //
.highlight .nd {
color: #268bd2;
} // name.decorator //
.highlight .ni {
color: #cb4b16;
} // name.entity //
.highlight .ne {
color: #cb4b16;
} // name.exception //
.highlight .nf {
color: #268bd2;
} // name.function //
.highlight .nl {
color: #555;
} // name.label //
.highlight .nn {
color: #93a1a1;
} // name.namespace //
.highlight .nx {
color: #555;
} // name.other //
.highlight .py {
color: #93a1a1;
} // name.property //
.highlight .nt {
color: #268bd2;
} // name.tag //
.highlight .nv {
color: #268bd2;
} // name.variable //
.highlight .ow {
color: #859900;
} // operator.word //
.highlight .w {
color: #93a1a1;
} // text.whitespace //
.highlight .mf {
color: #2aa198;
} // literal.number.float //
.highlight .mh {
color: #2aa198;
} // literal.number.hex //
.highlight .mi {
color: #2aa198;
} // literal.number.integer //
.highlight .mo {
color: #2aa198;
} // literal.number.oct //
.highlight .sb {
color: #586e75;
} // literal.string.backtick //
.highlight .sc {
color: #2aa198;
} // literal.string.char //
.highlight .sd {
color: #93a1a1;
} // literal.string.doc //
.highlight .s2 {
color: #2aa198;
} // literal.string.double //
.highlight .se {
color: #cb4b16;
} // literal.string.escape //
.highlight .sh {
color: #93a1a1;
} // literal.string.heredoc //
.highlight .si {
color: #2aa198;
} // literal.string.interpol //
.highlight .sx {
color: #2aa198;
} // literal.string.other //
.highlight .sr {
color: #dc322f;
} // literal.string.regex //
.highlight .s1 {
color: #2aa198;
} // literal.string.single //
.highlight .ss {
color: #2aa198;
} // literal.string.symbol //
.highlight .bp {
color: #268bd2;
} // name.builtin.pseudo //
.highlight .vc {
color: #268bd2;
} // name.variable.class //
.highlight .vg {
color: #268bd2;
} // name.variable.global //
.highlight .vi {
color: #268bd2;
} // name.variable.instance //
.highlight .il {
color: #2aa198;
} // literal.number.integer.long //
//
// Code examples (rendered)
//
@ -328,6 +127,7 @@ figure.highlight {
border-radius: $border-radius;
+ .highlighter-rouge,
+ .sectionbody .listingblock,
+ figure.highlight {
position: relative;
margin-top: -$sp-4;
@ -338,3 +138,12 @@ figure.highlight {
border-top-right-radius: 0;
}
}
// Mermaid diagram code blocks should be left unstyled.
code.language-mermaid {
padding: 0;
background-color: inherit;
border: 0;
}
// {% endraw %}

View File

@ -1,17 +1,28 @@
$body-background-color: $grey-dk-300;
$sidebar-color: $grey-dk-300;
$border-color: $grey-dk-200;
$body-text-color: $grey-lt-300;
$body-heading-color: $grey-lt-000;
$nav-child-link-color: $grey-dk-000;
$search-result-preview-color: $grey-dk-000;
$link-color: $blue-000;
$btn-primary-color: $blue-200;
$base-button-color: $grey-dk-250;
$code-background-color: $grey-dk-250;
$search-background-color: $grey-dk-250;
$table-background-color: $grey-dk-250;
$feedback-color: darken($sidebar-color, 3%);
// The following highlight theme is more legible than that used for the light color scheme
// @import "./vendor/OneDarkJekyll/syntax-one-dark";
// $code-background-color: #282c34;
@import "./vendor/OneDarkJekyll/syntax-one-dark-vivid";
$code-background-color: #31343f;
// @import "./vendor/OneDarkJekyll/syntax-firewatch";
// $code-background-color: #282c34;
// @import "./vendor/OneDarkJekyll/syntax-firewatch-green";
// $code-background-color: #282c34;

View File

@ -0,0 +1,208 @@
// Moved from _sass/code.scss
.highlight .c {
color: #586e75;
} // comment //
.highlight .err {
color: #93a1a1;
} // error //
.highlight .g {
color: #93a1a1;
} // generic //
.highlight .k {
color: #859900;
} // keyword //
.highlight .l {
color: #93a1a1;
} // literal //
.highlight .n {
color: #93a1a1;
} // name //
.highlight .o {
color: #859900;
} // operator //
.highlight .x {
color: #cb4b16;
} // other //
.highlight .p {
color: #93a1a1;
} // punctuation //
.highlight .cm {
color: #586e75;
} // comment.multiline //
.highlight .cp {
color: #859900;
} // comment.preproc //
.highlight .c1 {
color: #586e75;
} // comment.single //
.highlight .cs {
color: #859900;
} // comment.special //
.highlight .gd {
color: #2aa198;
} // generic.deleted //
.highlight .ge {
font-style: italic;
color: #93a1a1;
} // generic.emph //
.highlight .gr {
color: #dc322f;
} // generic.error //
.highlight .gh {
color: #cb4b16;
} // generic.heading //
.highlight .gi {
color: #859900;
} // generic.inserted //
.highlight .go {
color: #93a1a1;
} // generic.output //
.highlight .gp {
color: #93a1a1;
} // generic.prompt //
.highlight .gs {
font-weight: bold;
color: #93a1a1;
} // generic.strong //
.highlight .gu {
color: #cb4b16;
} // generic.subheading //
.highlight .gt {
color: #93a1a1;
} // generic.traceback //
.highlight .kc {
color: #cb4b16;
} // keyword.constant //
.highlight .kd {
color: #268bd2;
} // keyword.declaration //
.highlight .kn {
color: #859900;
} // keyword.namespace //
.highlight .kp {
color: #859900;
} // keyword.pseudo //
.highlight .kr {
color: #268bd2;
} // keyword.reserved //
.highlight .kt {
color: #dc322f;
} // keyword.type //
.highlight .ld {
color: #93a1a1;
} // literal.date //
.highlight .m {
color: #2aa198;
} // literal.number //
.highlight .s {
color: #2aa198;
} // literal.string //
.highlight .na {
color: #555;
} // name.attribute //
.highlight .nb {
color: #b58900;
} // name.builtin //
.highlight .nc {
color: #268bd2;
} // name.class //
.highlight .no {
color: #cb4b16;
} // name.constant //
.highlight .nd {
color: #268bd2;
} // name.decorator //
.highlight .ni {
color: #cb4b16;
} // name.entity //
.highlight .ne {
color: #cb4b16;
} // name.exception //
.highlight .nf {
color: #268bd2;
} // name.function //
.highlight .nl {
color: #555;
} // name.label //
.highlight .nn {
color: #93a1a1;
} // name.namespace //
.highlight .nx {
color: #555;
} // name.other //
.highlight .py {
color: #93a1a1;
} // name.property //
.highlight .nt {
color: #268bd2;
} // name.tag //
.highlight .nv {
color: #268bd2;
} // name.variable //
.highlight .ow {
color: #859900;
} // operator.word //
.highlight .w {
color: #93a1a1;
} // text.whitespace //
.highlight .mf {
color: #2aa198;
} // literal.number.float //
.highlight .mh {
color: #2aa198;
} // literal.number.hex //
.highlight .mi {
color: #2aa198;
} // literal.number.integer //
.highlight .mo {
color: #2aa198;
} // literal.number.oct //
.highlight .sb {
color: #586e75;
} // literal.string.backtick //
.highlight .sc {
color: #2aa198;
} // literal.string.char //
.highlight .sd {
color: #93a1a1;
} // literal.string.doc //
.highlight .s2 {
color: #2aa198;
} // literal.string.double //
.highlight .se {
color: #cb4b16;
} // literal.string.escape //
.highlight .sh {
color: #93a1a1;
} // literal.string.heredoc //
.highlight .si {
color: #2aa198;
} // literal.string.interpol //
.highlight .sx {
color: #2aa198;
} // literal.string.other //
.highlight .sr {
color: #dc322f;
} // literal.string.regex //
.highlight .s1 {
color: #2aa198;
} // literal.string.single //
.highlight .ss {
color: #2aa198;
} // literal.string.symbol //
.highlight .bp {
color: #268bd2;
} // name.builtin.pseudo //
.highlight .vc {
color: #268bd2;
} // name.variable.class //
.highlight .vg {
color: #268bd2;
} // name.variable.global //
.highlight .vi {
color: #268bd2;
} // name.variable.instance //
.highlight .il {
color: #2aa198;
} // literal.number.integer.long //

View File

@ -1,9 +1,7 @@
@charset "UTF-8";
//
// Styles for rendered markdown in the .main-content container
//
// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type
// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id
.main-content {
line-height: $content-line-height;
@ -21,7 +19,6 @@
a {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
ul,
@ -59,7 +56,7 @@
ol {
counter-reset: sub-counter;
li {
> li {
&::before {
content: counter(sub-counter, lower-alpha);
counter-increment: sub-counter;
@ -82,14 +79,7 @@
}
}
.task-list {
padding-left: 0;
}
.task-list-item {
display: flex;
align-items: center;
&::before {
content: "";
}
@ -97,6 +87,9 @@
.task-list-item-checkbox {
margin-right: 0.6em;
margin-left: -1.4em;
// The same margin-left is used above for ul > li::before
}
hr + * {
@ -121,6 +114,7 @@
grid-column: 1;
font-weight: 500;
text-align: right;
&::after {
content: ":";
}
@ -130,6 +124,7 @@
grid-column: 2;
margin-bottom: 0;
margin-left: 1em;
blockquote,
div,
dl,
@ -188,6 +183,7 @@
}
.anchor-heading:hover,
.anchor-heading:focus,
h1:hover > .anchor-heading,
h2:hover > .anchor-heading,
h3:hover > .anchor-heading,
@ -208,24 +204,36 @@
h3,
h4,
h5,
h6 {
h6,
#toctitle {
position: relative;
margin-top: 1.5em;
margin-bottom: 0.25em;
&:first-child {
margin-top: $sp-2;
}
+ table,
+ .table-wrapper,
+ .code-example,
+ .highlighter-rouge {
+ .highlighter-rouge,
+ .sectionbody .listingblock {
margin-top: 1em;
}
+ p {
+ p:not(.label) {
margin-top: 0;
}
}
> h1:first-child,
> h2:first-child,
> h3:first-child,
> h4:first-child,
> h5:first-child,
> h6:first-child,
> .sect1:first-child > h2,
> .sect2:first-child > h3,
> .sect3:first-child > h4,
> .sect4:first-child > h5,
> .sect5:first-child > h6 {
margin-top: $sp-2;
}
}

View File

@ -0,0 +1,4 @@
$pink-000: #f77ef1;
$pink-100: #f967f1;
$pink-200: #e94ee1;
$pink-300: #dd2cd4;

View File

@ -1,6 +1,4 @@
//
// Labels (not the form kind)
//
.label,
.label-blue {
@ -16,6 +14,7 @@
vertical-align: middle;
background-color: $blue-100;
@include fs-2;
border-radius: 12px;
}

View File

@ -1,6 +1,4 @@
//
// The basic two column layout
//
.side-bar {
z-index: 0;
@ -40,6 +38,7 @@
.main-content-wrap {
@include container;
padding-top: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
@ -111,6 +110,7 @@
.site-title {
@include container;
flex-grow: 1;
display: flex;
height: 100%;
@ -184,6 +184,7 @@ body {
.site-footer {
@include container;
position: absolute;
bottom: 0;
left: 0;

View File

@ -1,11 +1,7 @@
//
// Import external dependencies
//
@import "./vendor/normalize.scss/normalize.scss";
@import "./vendor/normalize.scss/normalize";
//
// Modules
//
@import "./base";
@import "./layout";
@import "./content";

View File

@ -1,6 +1,4 @@
//
// Main nav, breadcrumb, etc...
//
// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity
.nav-list {
@ -11,6 +9,7 @@
.nav-list-item {
@include fs-4;
position: relative;
margin: 0;
@ -44,6 +43,12 @@
}
}
&.external > svg {
width: $sp-4;
height: $sp-4;
vertical-align: text-bottom;
}
&.active {
font-weight: 600;
text-decoration: none;
@ -65,6 +70,7 @@
@if $nav-list-expander-right {
right: 0;
}
width: $nav-list-item-height-sm;
height: $nav-list-item-height-sm;
padding-top: #{$nav-list-item-height-sm / 4};
@ -137,7 +143,7 @@
padding-bottom: $sp-2;
padding-left: $gutter-spacing-sm;
font-weight: 600;
text-align: end;
text-align: start;
text-transform: uppercase;
border-bottom: $border $border-color;
@include fs-2;
@ -154,6 +160,26 @@
}
}
.nav-list.nav-category-list {
> .nav-list-item {
margin: 0;
> .nav-list {
padding: 0;
> .nav-list-item {
> .nav-list-link {
color: $link-color;
}
> .nav-list-expander {
color: $link-color;
}
}
}
}
}
// Aux nav
.aux-nav {

View File

@ -1,4 +1,4 @@
// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type, primer/no-override,
// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type
@media print {
.site-footer,

View File

@ -1,6 +1,4 @@
//
// Search input and autocomplete
//
.search {
position: relative;
@ -48,6 +46,7 @@
padding-bottom: $sp-2;
padding-left: #{$gutter-spacing-sm + $sp-5};
font-size: 16px;
color: $body-text-color;
background-color: $search-background-color;
border-top: 0;
border-right: 0;

View File

@ -1,9 +1,9 @@
@function rem($size, $unit: "") {
$remSize: $size / $root-font-size;
$rem-size: $size / $root-font-size;
@if ($unit == false) {
@return #{$remSize};
@if $unit == false {
@return #{$rem-size};
} @else {
@return #{$remSize}rem;
@return #{$rem-size}rem;
}
}

View File

@ -1,82 +1,67 @@
//
// Typography
//
$body-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, "Helvetica Neue", Arial, sans-serif !default;
$mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace !default;
$body-font-family: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI",
roboto, "Helvetica Neue", arial, sans-serif !default;
$mono-font-family: "SFMono-Regular", menlo, consolas, monospace !default;
$root-font-size: 16px !default; // Base font-size for rems
$body-line-height: 1.4 !default;
$content-line-height: 1.6 !default;
$body-heading-line-height: 1.25 !default;
//
// Font size
// `-sm` suffix is the size at the small (and above) media query
//
$font-size-1: 9px !default;
$font-size-1-sm: 10px !default;
$font-size-2: 11px !default; //h4 - uppercased!, h6 not uppercased, text-small
$font-size-3: 12px !default; //h5
$font-size-2: 11px !default; // h4 - uppercased!, h6 not uppercased, text-small
$font-size-3: 12px !default; // h5
$font-size-4: 14px !default;
$font-size-5: 16px !default; //h3
$font-size-6: 18px !default; //h2
$font-size-5: 16px !default; // h3
$font-size-6: 18px !default; // h2
$font-size-7: 24px !default;
$font-size-8: 32px !default; //h1
$font-size-8: 32px !default; // h1
$font-size-9: 36px !default;
$font-size-10: 42px !default;
$font-size-10-sm: 48px !default;
//
// Colors
//
$white: #fff !default;
$grey-dk-000: #959396 !default;
$grey-dk-100: #5c5962 !default;
$grey-dk-200: #44434d !default;
$grey-dk-250: #302d36 !default;
$grey-dk-300: #27262b !default;
$grey-lt-000: #f5f6fa !default;
$grey-lt-100: #eeebee !default;
$grey-lt-200: #ecebed !default;
$grey-lt-300: #e6e1e8 !default;
$purple-000: #7253ed !default;
$purple-100: #5e41d0 !default;
$purple-200: #4e26af !default;
$purple-300: #381885 !default;
$blue-000: #2c84fa !default;
$blue-100: #2869e6 !default;
$blue-200: #264caf !default;
$blue-300: #183385 !default;
$green-000: #41d693 !default;
$green-100: #11b584 !default;
$green-200: #009c7b !default;
$green-300: #026e57 !default;
$yellow-000: #ffeb82 !default;
$yellow-100: #fadf50 !default;
$yellow-200: #f7d12e !default;
$yellow-300: #e7af06 !default;
$red-000: #f77e7e !default;
$red-100: #f96e65 !default;
$red-200: #e94c4c !default;
$red-300: #dd2e2e !default;
$body-background-color: $white !default;
$sidebar-color: $grey-lt-000 !default;
$search-background-color: $white !default;
$table-background-color: $white !default;
$code-background-color: $grey-lt-000 !default;
$feedback-color: darken($sidebar-color, 3%) !default;
$body-text-color: $grey-dk-100 !default;
$body-heading-color: $grey-dk-300 !default;
$search-result-preview-color: $grey-dk-000 !default;
@ -85,9 +70,7 @@ $link-color: $purple-000 !default;
$btn-primary-color: $purple-100 !default;
$base-button-color: #f7f7f7 !default;
//
// Spacing
//
$spacing-unit: 1rem; // 1rem == 16px
@ -104,7 +87,6 @@ $spacers: (
sp-9: $spacing-unit * 3.5,
sp-10: $spacing-unit * 4,
) !default;
$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px
$sp-2: map-get($spacers, sp-2) !default; // 0.5 rem == 8px
$sp-3: map-get($spacers, sp-3) !default; // 0.75 rem == 12px
@ -116,17 +98,13 @@ $sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px
$sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px
$sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px
//
// Borders
//
$border: 1px solid !default;
$border-radius: 4px !default;
$border-color: $grey-lt-100 !default;
//
// Grid system
//
$gutter-spacing: $sp-6 !default;
$gutter-spacing-sm: $sp-4 !default;
@ -140,9 +118,7 @@ $header-height: 60px !default;
$search-results-width: $content-width - $nav-width !default;
$transition-duration: 400ms;
//
// Media queries in pixels
//
$media-queries: (
xs: 320px,

View File

@ -10,7 +10,7 @@
$value: map-get($media-queries, $name);
// If the key exists in the map
@if $value != null {
@if $value {
// Prints a media query based on the value
@media (min-width: rem($value)) {
@content;

View File

@ -1,6 +1,4 @@
//
// Tables
//
// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type
.table-wrapper {
@ -22,6 +20,7 @@ table {
th,
td {
@include fs-3;
min-width: 120px;
padding-top: $sp-2;
padding-right: $sp-3;

View File

@ -1,16 +1,17 @@
//
// Typography
//
// stylelint-disable primer/selector-no-utility, primer/no-override, selector-no-type, selector-max-type
// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id
h1,
.text-alpha {
@include fs-8;
font-weight: 300;
}
h2,
.text-beta {
.text-beta,
#toctitle {
@include fs-6;
}
@ -22,6 +23,7 @@ h3,
h4,
.text-delta {
@include fs-2;
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.1em;
@ -34,13 +36,11 @@ h4 code {
h5,
.text-epsilon {
@include fs-3;
color: $grey-dk-200;
}
h6,
.text-zeta {
@include fs-2;
color: $grey-dk-200;
}
.text-small {

View File

@ -1,6 +1,4 @@
//
// Utility classes for colors
//
// Text colors

View File

@ -1,22 +1,23 @@
// stylelint-disable primer/selector-no-utility, primer/no-override
//
// Utility classes for layout
//
// Display
.d-block {
display: block !important;
}
.d-flex {
display: flex !important;
}
.d-inline {
display: inline !important;
}
.d-inline-block {
display: inline-block !important;
}
.d-none {
display: none !important;
}
@ -78,18 +79,23 @@
.v-align-baseline {
vertical-align: baseline !important;
}
.v-align-bottom {
vertical-align: bottom !important;
}
.v-align-middle {
vertical-align: middle !important;
}
.v-align-text-bottom {
vertical-align: text-bottom !important;
}
.v-align-text-top {
vertical-align: text-top !important;
}
.v-align-top {
vertical-align: top !important;
}

View File

@ -1,8 +1,6 @@
//
// Utility classes for lists
//
// stylelint-disable primer/selector-no-utility, primer/no-override, selector-max-type
// stylelint-disable selector-max-type
.list-style-none {
padding: 0 !important;

View File

@ -1,9 +1,6 @@
//
// Utility classes for margins and padding
//
// scss-lint:disable SpaceAfterPropertyName
// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility, primer/no-override
// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before
// Margin spacer utilities

View File

@ -1,8 +1,4 @@
//
// Utility classes for typography
//
// stylelint-disable primer/selector-no-utility, primer/no-override
.fs-1 {
@include fs-1;
@ -87,5 +83,3 @@
.text-uppercase {
text-transform: uppercase !important;
}
// stylelint-enable primer/selector-no-utility

21
_sass/vendor/OneDarkJekyll/LICENSE vendored Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2016 Mihály Gyöngyösi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

25
_sass/vendor/OneDarkJekyll/README.md vendored Normal file
View File

@ -0,0 +1,25 @@
# OneDarkJekyll
*Use Atom's One Dark syntax colors in your Jekyll powered blog!*
It's LESS file which can be compiled to a - Pygments, Rouge compatible - stylesheet from Atom editor's One Dark syntax theme (and any theme based on it, for example One Dark Vivid, Firewatch, etc.).
Download the stylesheet files or compile a new one from any Atom syntax theme which based on One Dark (the variable names in `colors.less` must match with One Dark's)
## Create a new syntax stylesheet
1. `npm install -g less less-plugin-clean-css`
2. Clone this repository
3. Download the `colors.css` file from the syntax theme's repository (for example https://github.com/atom/one-dark-syntax/blob/master/styles/colors.less in case of One-Dark)
4. Put the previously downloaded file next to `syntax.less`
5. Run `lessc syntax.less syntax.css --clean-css`
6. Use the `syntax.css`
It's not final and in case you find any error/improvement feel free to create a PR. :)
----
# UPDATES FOR USE IN JUST-THE-DOCS:
1. Layout added in `*.css`
2. Renamed `*.css` to `*.scss`

30
_sass/vendor/OneDarkJekyll/colors.less vendored Normal file
View File

@ -0,0 +1,30 @@
// Config -----------------------------------
@syntax-hue: 220;
@syntax-saturation: 13%;
@syntax-brightness: 18%;
// Monochrome -----------------------------------
@mono-1: hsl(@syntax-hue, 14%, 71%); // default text
@mono-2: hsl(@syntax-hue, 9%, 55%);
@mono-3: hsl(@syntax-hue, 10%, 40%);
// Colors -----------------------------------
@hue-1: hsl(187, 47%, 55%); // <-cyan
@hue-2: hsl(207, 82%, 66%); // <-blue
@hue-3: hsl(286, 60%, 67%); // <-purple
@hue-4: hsl( 95, 38%, 62%); // <-green
@hue-5: hsl(355, 65%, 65%); // <-red 1
@hue-5-2: hsl( 5, 48%, 51%); // <-red 2
@hue-6: hsl( 29, 54%, 61%); // <-orange 1
@hue-6-2: hsl( 39, 67%, 69%); // <-orange 2
// Base colors -----------------------------------
@syntax-fg: @mono-1;
@syntax-bg: hsl(@syntax-hue, @syntax-saturation, @syntax-brightness);
@syntax-gutter: darken(@syntax-fg, 26%);
@syntax-guide: fade(@syntax-fg, 15%);
@syntax-accent: hsl(@syntax-hue, 100%, 66% );

View File

@ -0,0 +1,200 @@
.highlight,
pre.highlight {
background: #282c34;
color: #abb2bf;
}
.highlight pre {
background: #282c34;
}
.highlight .hll {
background: #282c34;
}
.highlight .c {
color: #5c6370;
font-style: italic;
}
.highlight .err {
color: #960050;
background-color: #1e0010;
}
.highlight .k {
color: #5ba473;
}
.highlight .l {
color: #c8ae9d;
}
.highlight .n {
color: #abb2bf;
}
.highlight .o {
color: #abb2bf;
}
.highlight .p {
color: #abb2bf;
}
.highlight .cm {
color: #5c6370;
font-style: italic;
}
.highlight .cp {
color: #5c6370;
font-style: italic;
}
.highlight .c1 {
color: #5c6370;
font-style: italic;
}
.highlight .cs {
color: #5c6370;
font-style: italic;
}
.highlight .ge {
font-style: italic;
}
.highlight .gs {
font-weight: 700;
}
.highlight .kc {
color: #5ba473;
}
.highlight .kd {
color: #5ba473;
}
.highlight .kn {
color: #5ba473;
}
.highlight .kp {
color: #5ba473;
}
.highlight .kr {
color: #5ba473;
}
.highlight .kt {
color: #5ba473;
}
.highlight .ld {
color: #c8ae9d;
}
.highlight .m {
color: #d19a66;
}
.highlight .s {
color: #c8ae9d;
}
.highlight .na {
color: #d19a66;
}
.highlight .nb {
color: #e5c07b;
}
.highlight .nc {
color: #e5c07b;
}
.highlight .no {
color: #e5c07b;
}
.highlight .nd {
color: #e5c07b;
}
.highlight .ni {
color: #e5c07b;
}
.highlight .ne {
color: #e5c07b;
}
.highlight .nf {
color: #abb2bf;
}
.highlight .nl {
color: #e5c07b;
}
.highlight .nn {
color: #abb2bf;
}
.highlight .nx {
color: #abb2bf;
}
.highlight .py {
color: #e5c07b;
}
.highlight .nt {
color: #77b181;
}
.highlight .nv {
color: #e5c07b;
}
.highlight .ow {
font-weight: 700;
}
.highlight .w {
color: #f8f8f2;
}
.highlight .mf {
color: #d19a66;
}
.highlight .mh {
color: #d19a66;
}
.highlight .mi {
color: #d19a66;
}
.highlight .mo {
color: #d19a66;
}
.highlight .sb {
color: #c8ae9d;
}
.highlight .sc {
color: #c8ae9d;
}
.highlight .sd {
color: #c8ae9d;
}
.highlight .s2 {
color: #c8ae9d;
}
.highlight .se {
color: #c8ae9d;
}
.highlight .sh {
color: #c8ae9d;
}
.highlight .si {
color: #c8ae9d;
}
.highlight .sx {
color: #c8ae9d;
}
.highlight .sr {
color: #56b6c2;
}
.highlight .s1 {
color: #c8ae9d;
}
.highlight .ss {
color: #56b6c2;
}
.highlight .bp {
color: #e5c07b;
}
.highlight .vc {
color: #e5c07b;
}
.highlight .vg {
color: #e5c07b;
}
.highlight .vi {
color: #77b181;
}
.highlight .il {
color: #d19a66;
}
.highlight .gu {
color: #75715e;
}
.highlight .gd {
color: #f92672;
}
.highlight .gi {
color: #a6e22e;
}

View File

@ -0,0 +1,200 @@
.highlight,
pre.highlight {
background: #282c34;
color: #abb2bf;
}
.highlight pre {
background: #282c34;
}
.highlight .hll {
background: #282c34;
}
.highlight .c {
color: #5c6370;
font-style: italic;
}
.highlight .err {
color: #960050;
background-color: #1e0010;
}
.highlight .k {
color: #dd672c;
}
.highlight .l {
color: #c8ae9d;
}
.highlight .n {
color: #abb2bf;
}
.highlight .o {
color: #abb2bf;
}
.highlight .p {
color: #abb2bf;
}
.highlight .cm {
color: #5c6370;
font-style: italic;
}
.highlight .cp {
color: #5c6370;
font-style: italic;
}
.highlight .c1 {
color: #5c6370;
font-style: italic;
}
.highlight .cs {
color: #5c6370;
font-style: italic;
}
.highlight .ge {
font-style: italic;
}
.highlight .gs {
font-weight: 700;
}
.highlight .kc {
color: #dd672c;
}
.highlight .kd {
color: #dd672c;
}
.highlight .kn {
color: #dd672c;
}
.highlight .kp {
color: #dd672c;
}
.highlight .kr {
color: #dd672c;
}
.highlight .kt {
color: #dd672c;
}
.highlight .ld {
color: #c8ae9d;
}
.highlight .m {
color: #d19a66;
}
.highlight .s {
color: #c8ae9d;
}
.highlight .na {
color: #d19a66;
}
.highlight .nb {
color: #e5c07b;
}
.highlight .nc {
color: #e5c07b;
}
.highlight .no {
color: #e5c07b;
}
.highlight .nd {
color: #e5c07b;
}
.highlight .ni {
color: #e5c07b;
}
.highlight .ne {
color: #e5c07b;
}
.highlight .nf {
color: #abb2bf;
}
.highlight .nl {
color: #e5c07b;
}
.highlight .nn {
color: #abb2bf;
}
.highlight .nx {
color: #abb2bf;
}
.highlight .py {
color: #e5c07b;
}
.highlight .nt {
color: #e06c75;
}
.highlight .nv {
color: #e5c07b;
}
.highlight .ow {
font-weight: 700;
}
.highlight .w {
color: #f8f8f2;
}
.highlight .mf {
color: #d19a66;
}
.highlight .mh {
color: #d19a66;
}
.highlight .mi {
color: #d19a66;
}
.highlight .mo {
color: #d19a66;
}
.highlight .sb {
color: #c8ae9d;
}
.highlight .sc {
color: #c8ae9d;
}
.highlight .sd {
color: #c8ae9d;
}
.highlight .s2 {
color: #c8ae9d;
}
.highlight .se {
color: #c8ae9d;
}
.highlight .sh {
color: #c8ae9d;
}
.highlight .si {
color: #c8ae9d;
}
.highlight .sx {
color: #c8ae9d;
}
.highlight .sr {
color: #56b6c2;
}
.highlight .s1 {
color: #c8ae9d;
}
.highlight .ss {
color: #56b6c2;
}
.highlight .bp {
color: #e5c07b;
}
.highlight .vc {
color: #e5c07b;
}
.highlight .vg {
color: #e5c07b;
}
.highlight .vi {
color: #e06c75;
}
.highlight .il {
color: #d19a66;
}
.highlight .gu {
color: #75715e;
}
.highlight .gd {
color: #f92672;
}
.highlight .gi {
color: #a6e22e;
}

View File

@ -0,0 +1,200 @@
.highlight,
pre.highlight {
background: #31343f;
color: #dee2f7;
}
.highlight pre {
background: #31343f;
}
.highlight .hll {
background: #31343f;
}
.highlight .c {
color: #63677e;
font-style: italic;
}
.highlight .err {
color: #960050;
background-color: #1e0010;
}
.highlight .k {
color: #e19ef5;
}
.highlight .l {
color: #a3eea0;
}
.highlight .n {
color: #dee2f7;
}
.highlight .o {
color: #dee2f7;
}
.highlight .p {
color: #dee2f7;
}
.highlight .cm {
color: #63677e;
font-style: italic;
}
.highlight .cp {
color: #63677e;
font-style: italic;
}
.highlight .c1 {
color: #63677e;
font-style: italic;
}
.highlight .cs {
color: #63677e;
font-style: italic;
}
.highlight .ge {
font-style: italic;
}
.highlight .gs {
font-weight: 700;
}
.highlight .kc {
color: #e19ef5;
}
.highlight .kd {
color: #e19ef5;
}
.highlight .kn {
color: #e19ef5;
}
.highlight .kp {
color: #e19ef5;
}
.highlight .kr {
color: #e19ef5;
}
.highlight .kt {
color: #e19ef5;
}
.highlight .ld {
color: #a3eea0;
}
.highlight .m {
color: #eddc96;
}
.highlight .s {
color: #a3eea0;
}
.highlight .na {
color: #eddc96;
}
.highlight .nb {
color: #fdce68;
}
.highlight .nc {
color: #fdce68;
}
.highlight .no {
color: #fdce68;
}
.highlight .nd {
color: #fdce68;
}
.highlight .ni {
color: #fdce68;
}
.highlight .ne {
color: #fdce68;
}
.highlight .nf {
color: #dee2f7;
}
.highlight .nl {
color: #fdce68;
}
.highlight .nn {
color: #dee2f7;
}
.highlight .nx {
color: #dee2f7;
}
.highlight .py {
color: #fdce68;
}
.highlight .nt {
color: #f9867b;
}
.highlight .nv {
color: #fdce68;
}
.highlight .ow {
font-weight: 700;
}
.highlight .w {
color: #f8f8f2;
}
.highlight .mf {
color: #eddc96;
}
.highlight .mh {
color: #eddc96;
}
.highlight .mi {
color: #eddc96;
}
.highlight .mo {
color: #eddc96;
}
.highlight .sb {
color: #a3eea0;
}
.highlight .sc {
color: #a3eea0;
}
.highlight .sd {
color: #a3eea0;
}
.highlight .s2 {
color: #a3eea0;
}
.highlight .se {
color: #a3eea0;
}
.highlight .sh {
color: #a3eea0;
}
.highlight .si {
color: #a3eea0;
}
.highlight .sx {
color: #a3eea0;
}
.highlight .sr {
color: #7be2f9;
}
.highlight .s1 {
color: #a3eea0;
}
.highlight .ss {
color: #7be2f9;
}
.highlight .bp {
color: #fdce68;
}
.highlight .vc {
color: #fdce68;
}
.highlight .vg {
color: #fdce68;
}
.highlight .vi {
color: #f9867b;
}
.highlight .il {
color: #eddc96;
}
.highlight .gu {
color: #75715e;
}
.highlight .gd {
color: #f92672;
}
.highlight .gi {
color: #a6e22e;
}

View File

@ -0,0 +1,200 @@
.highlight,
pre.highlight {
background: #282c34;
color: #abb2bf;
}
.highlight pre {
background: #282c34;
}
.highlight .hll {
background: #282c34;
}
.highlight .c {
color: #5c6370;
font-style: italic;
}
.highlight .err {
color: #960050;
background-color: #1e0010;
}
.highlight .k {
color: #c678dd;
}
.highlight .l {
color: #98c379;
}
.highlight .n {
color: #abb2bf;
}
.highlight .o {
color: #abb2bf;
}
.highlight .p {
color: #abb2bf;
}
.highlight .cm {
color: #5c6370;
font-style: italic;
}
.highlight .cp {
color: #5c6370;
font-style: italic;
}
.highlight .c1 {
color: #5c6370;
font-style: italic;
}
.highlight .cs {
color: #5c6370;
font-style: italic;
}
.highlight .ge {
font-style: italic;
}
.highlight .gs {
font-weight: 700;
}
.highlight .kc {
color: #c678dd;
}
.highlight .kd {
color: #c678dd;
}
.highlight .kn {
color: #c678dd;
}
.highlight .kp {
color: #c678dd;
}
.highlight .kr {
color: #c678dd;
}
.highlight .kt {
color: #c678dd;
}
.highlight .ld {
color: #98c379;
}
.highlight .m {
color: #d19a66;
}
.highlight .s {
color: #98c379;
}
.highlight .na {
color: #d19a66;
}
.highlight .nb {
color: #e5c07b;
}
.highlight .nc {
color: #e5c07b;
}
.highlight .no {
color: #e5c07b;
}
.highlight .nd {
color: #e5c07b;
}
.highlight .ni {
color: #e5c07b;
}
.highlight .ne {
color: #e5c07b;
}
.highlight .nf {
color: #abb2bf;
}
.highlight .nl {
color: #e5c07b;
}
.highlight .nn {
color: #abb2bf;
}
.highlight .nx {
color: #abb2bf;
}
.highlight .py {
color: #e5c07b;
}
.highlight .nt {
color: #e06c75;
}
.highlight .nv {
color: #e5c07b;
}
.highlight .ow {
font-weight: 700;
}
.highlight .w {
color: #f8f8f2;
}
.highlight .mf {
color: #d19a66;
}
.highlight .mh {
color: #d19a66;
}
.highlight .mi {
color: #d19a66;
}
.highlight .mo {
color: #d19a66;
}
.highlight .sb {
color: #98c379;
}
.highlight .sc {
color: #98c379;
}
.highlight .sd {
color: #98c379;
}
.highlight .s2 {
color: #98c379;
}
.highlight .se {
color: #98c379;
}
.highlight .sh {
color: #98c379;
}
.highlight .si {
color: #98c379;
}
.highlight .sx {
color: #98c379;
}
.highlight .sr {
color: #56b6c2;
}
.highlight .s1 {
color: #98c379;
}
.highlight .ss {
color: #56b6c2;
}
.highlight .bp {
color: #e5c07b;
}
.highlight .vc {
color: #e5c07b;
}
.highlight .vg {
color: #e5c07b;
}
.highlight .vi {
color: #e06c75;
}
.highlight .il {
color: #d19a66;
}
.highlight .gu {
color: #75715e;
}
.highlight .gd {
color: #f92672;
}
.highlight .gi {
color: #a6e22e;
}

View File

@ -0,0 +1,56 @@
@import "colors.less";
// Official Syntax Variables -----------------------------------
// General colors
@syntax-text-color: @syntax-fg;
@syntax-cursor-color: @syntax-accent;
@syntax-selection-color: lighten(@syntax-background-color, 10%);
@syntax-selection-flash-color: @syntax-accent;
@syntax-background-color: @syntax-bg;
// Guide colors
@syntax-wrap-guide-color: @syntax-guide;
@syntax-indent-guide-color: @syntax-guide;
@syntax-invisible-character-color: @syntax-guide;
// For find and replace markers
@syntax-result-marker-color: fade(@syntax-accent, 24%);
@syntax-result-marker-color-selected: @syntax-accent;
// Gutter colors
@syntax-gutter-text-color: @syntax-gutter;
@syntax-gutter-text-color-selected: @syntax-fg;
@syntax-gutter-background-color: @syntax-bg; // unused
@syntax-gutter-background-color-selected: lighten(@syntax-bg, 2%);
// Git colors - For git diff info. i.e. in the gutter
@syntax-color-renamed: hsl(208, 100%, 60%);
@syntax-color-added: hsl(150, 60%, 54%);
@syntax-color-modified: hsl(40, 60%, 70%);
@syntax-color-removed: hsl(0, 70%, 60%);
// For language entity colors
@syntax-color-variable: @hue-5;
@syntax-color-constant: @hue-6;
@syntax-color-property: @syntax-fg;
@syntax-color-value: @syntax-fg;
@syntax-color-function: @hue-2;
@syntax-color-method: @hue-2;
@syntax-color-class: @hue-6-2;
@syntax-color-keyword: @hue-3;
@syntax-color-tag: @hue-5;
@syntax-color-attribute: @hue-6;
@syntax-color-import: @hue-3;
@syntax-color-snippet: @hue-4;
// Custom Syntax Variables -----------------------------------
// Don't use in packages
@syntax-cursor-line: hsla(@syntax-hue, 100%, 80%, .04); // needs to be semi-transparent to show search results
@syntax-deprecated-fg: darken(@syntax-color-modified, 50%);
@syntax-deprecated-bg: @syntax-color-modified;
@syntax-illegal-fg: white;
@syntax-illegal-bg: @syntax-color-removed;

93
_sass/vendor/OneDarkJekyll/syntax.less vendored Normal file
View File

@ -0,0 +1,93 @@
/*
LESS for Pygments
*/
@import "syntax-variables.less";
pre.highlight,
.highlight {
background: @syntax-bg;
color: @mono-1;
}
.highlight {
pre { background: @syntax-bg; }
.hll { background: @syntax-bg; }
.c { color: @mono-3; font-style: italic; } /* Comment */
.err { color: @syntax-illegal-fg; background-color: @syntax-illegal-bg; } /* Error */
.k { color: @hue-3; } /* Keyword */
.l { color: @hue-4; } /* Literal */
.n { color: @mono-1; } /* Name */
.o { color: @mono-1; } /* Operator */
.p { color: @mono-1; } /* Punctuation */
.cm { color: @mono-3; font-style: italic; } /* Comment.Multiline */
.cp { color: @mono-3; font-style: italic; } /* Comment.Preproc */
.c1 { color: @mono-3; font-style: italic; } /* Comment.Single */
.cs { color: @mono-3; font-style: italic; } /* Comment.Special */
.ge { font-style: italic } /* Generic.Emph */
.gs { font-weight: bold } /* Generic.Strong */
.kc { color: @hue-3; } /* Keyword.Constant */
.kd { color: @hue-3; } /* Keyword.Declaration */
.kn { color: @hue-3; } /* Keyword.Namespace */
.kp { color: @hue-3; } /* Keyword.Pseudo */
.kr { color: @hue-3; } /* Keyword.Reserved */
.kt { color: @hue-3; } /* Keyword.Type */
.ld { color: @hue-4; } /* Literal.Date */
.m { color: @hue-6; } /* Literal.Number */
.s { color: @hue-4; } /* Literal.String */
.na { color: @hue-6; } /* Name.Attribute */
.nb { color: @hue-6-2; } /* Name.Builtin */
.nc { color: @hue-6-2; } /* Name.Class */
.no { color: @hue-6-2; } /* Name.Constant */
.nd { color: @hue-6-2; } /* Name.Decorator */
.ni { color: @hue-6-2; } /* Name.Entity */
.ne { color: @hue-6-2; } /* Name.Exception */
.nf { color: @mono-1; } /* Name.Function */
.nl { color: @hue-6-2; } /* Name.Label */
.nn { color: @mono-1; } /* Name.Namespace */
.nx { color: @mono-1; } /* Name.Other */
.py { color: @hue-6-2; } /* Name.Property */
.nt { color: @hue-5; } /* Name.Tag */
.nv { color: @hue-6-2; } /* Name.Variable */
.ow { font-weight: bold; } /* Operator.Word */
.w { color: #f8f8f2 } /* Text.Whitespace */
.mf { color: @hue-6; } /* Literal.Number.Float */
.mh { color: @hue-6; } /* Literal.Number.Hex */
.mi { color: @hue-6; } /* Literal.Number.Integer */
.mo { color: @hue-6; } /* Literal.Number.Oct */
.sb { color: @hue-4; } /* Literal.String.Backtick */
.sc { color: @hue-4; } /* Literal.String.Char */
.sd { color: @hue-4; } /* Literal.String.Doc */
.s2 { color: @hue-4; } /* Literal.String.Double */
.se { color: @hue-4; } /* Literal.String.Escape */
.sh { color: @hue-4; } /* Literal.String.Heredoc */
.si { color: @hue-4; } /* Literal.String.Interpol */
.sx { color: @hue-4; } /* Literal.String.Other */
.sr { color: @hue-1; } /* Literal.String.Regex */
.s1 { color: @hue-4; } /* Literal.String.Single */
.ss { color: @hue-1; } /* Literal.String.Symbol */
.bp { color: @hue-6-2; } /* Name.Builtin.Pseudo */
.vc { color: @hue-6-2; } /* Name.Variable.Class */
.vg { color: @hue-6-2; } /* Name.Variable.Global */
.vi { color: @hue-5; } /* Name.Variable.Instance */
.il { color: @hue-6; } /* Literal.Number.Integer.Long */
.gh { } /* Generic Heading & Diff Header */
.gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */
.gd { color: @syntax-color-removed; } /* Generic.Deleted & Diff Deleted */
.gi { color: @syntax-color-added; } /* Generic.Inserted & Diff Inserted */
::selection { background-color: @syntax-selection-color; }
.language-json {
.w + .s2 { color: @hue-5; }
.kc { color: @hue-1; }
}
.language-python {
// python related modifications
}
.language-csharp {
// csharp related modifications
}
}

View File

@ -174,7 +174,8 @@ textarea {
*/
button,
input { /* 1 */
input {
/* 1 */
overflow: visible;
}
@ -184,7 +185,8 @@ input { /* 1 */
*/
button,
select { /* 1 */
select {
/* 1 */
text-transform: none;
}

View File

@ -69,7 +69,7 @@ function initNav() {
function initSearch() {
var request = new XMLHttpRequest();
request.open('GET', '{{ "assets/js/search-data.json" | absolute_url }}', true);
request.open('GET', '{{ "assets/js/search-data.json" | relative_url }}', true);
request.onload = function(){
if (request.status >= 200 && request.status < 400) {
@ -454,7 +454,19 @@ jtd.getTheme = function() {
jtd.setTheme = function(theme) {
var cssFile = document.querySelector('[rel="stylesheet"]');
cssFile.setAttribute('href', '{{ "assets/css/just-the-docs-" | absolute_url }}' + theme + '.css');
cssFile.setAttribute('href', '{{ "assets/css/just-the-docs-" | relative_url }}' + theme + '.css');
}
// Scroll site-nav to ensure the link to the current page is visible
function scrollNav() {
const href = document.location.pathname;
const siteNav = document.getElementById('site-nav');
const targetLink = siteNav.querySelector('a[href="' + href + '"], a[href="' + href + '/"]');
if(targetLink){
const rect = targetLink.getBoundingClientRect();
siteNav.scrollBy(0, rect.top - 3*rect.height);
}
}
// Document ready
@ -464,6 +476,7 @@ jtd.onReady(function(){
{%- if site.search_enabled != false %}
initSearch();
{%- endif %}
scrollNav();
});
})(window.jtd = window.jtd || {});

View File

@ -3,7 +3,7 @@ permalink: /assets/js/search-data.json
---
{
{%- assign i = 0 -%}
{%- assign pages_array = '' | split: '' -%}
{%- assign pages_array = "" | split: "" -%}
{%- assign pages_array = pages_array | push: site.html_pages -%}
{%- if site.just_the_docs.collections -%}
{%- for collection_entry in site.just_the_docs.collections -%}
@ -50,7 +50,7 @@ permalink: /assets/js/search-data.json
"doc": {{ page.title | jsonify }},
"title": {{ title | jsonify }},
"content": {{ content | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '<ul', ' . <ul' | replace: '</ul', ' . </ul' | replace: '<ol', ' . <ol' | replace: '</ol', ' . </ol' | replace: '</tr', ' . </tr' | replace: '<li', ' | <li' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | replace: '<td', ' | <td' | replace: '</th', ' | </th' | replace: '<th', ' | <th' | strip_html | remove: 'Table of contents' | normalize_whitespace | replace: '. . .', '.' | replace: '. .', '.' | replace: '| |', '|' | append: ' ' | jsonify }},
"url": "{{ url | absolute_url }}",
"url": "{{ url | relative_url }}",
"relUrl": "{{ url }}"
}
{%- assign i = i | plus: 1 -%}
@ -61,7 +61,7 @@ permalink: /assets/js/search-data.json
"doc": {{ page.title | jsonify }},
"title": {{ page.title | jsonify }},
"content": {{ parts[0] | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '<ul', ' . <ul' | replace: '</ul', ' . </ul' | replace: '<ol', ' . <ol' | replace: '</ol', ' . </ol' | replace: '</tr', ' . </tr' | replace: '<li', ' | <li' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | replace: '<td', ' | <td' | replace: '</th', ' | </th' | replace: '<th', ' | <th' | strip_html | remove: 'Table of contents' | normalize_whitespace | replace: '. . .', '.' | replace: '. .', '.' | replace: '| |', '|' | append: ' ' | jsonify }},
"url": "{{ page.url | absolute_url }}",
"url": "{{ page.url | relative_url }}",
"relUrl": "{{ page.url }}"
}
{%- assign i = i | plus: 1 -%}

View File

@ -59,6 +59,19 @@ search:
button: false
```
## Mermaid Diagrams
The minimum configuration requires the key for `version` ([from jsDelivr](https://cdn.jsdelivr.net/npm/mermaid/)) in `_config.yml`:
```yaml
mermaid:
# Version of mermaid library
# Pick an available version from https://cdn.jsdelivr.net/npm/mermaid/
version: "9.1.3"
```
See [the Code documentation]({{ site.baseurl }}{% link docs/ui-components/code.md %}#mermaid-diagram-code-blocks) for more configuration options and information.
## Aux links
```yaml
@ -81,6 +94,11 @@ aux_links_new_tab: false
heading_anchors: true
```
## External navigation links
External links can be added to the navigation through the `nav_external_links` option.
See [Navigation Structure]({{ site.baseurl }}{% link docs/navigation-structure.md %}#external-navigation-links) for more details.
## Footer content
```yaml
@ -137,6 +155,59 @@ jtd.addEvent(toggleDarkMode, 'click', function(){
See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more information.
## Callouts
To use this feature, you need to configure a `color` and (optionally) `title` for each kind of callout you want to use, e.g.:
```yaml
callouts:
warning:
title: Warning
color: red
```
This uses the color `$red-000` for the background of the callout, and `$red-300` for the title and box decoration.[^dark] You can then style a paragraph as a `warning` callout like this:
```markdown
{: .warning }
A paragraph...
```
[^dark]:
If you use the `dark` color scheme, this callout uses `$red-300` for the background, and `$red-000` for the title.
The colors `grey-lt`, `grey-dk`, `purple`, `blue`, `green`, `yellow`, and `red` are predefined; to use a custom color, you need to define its `000` and `300` levels in your SCSS files. For example, to use `pink`, add the following to your `_sass/custom/custom.scss` file:
```scss
$pink-000: #f77ef1;
$pink-100: #f967f1;
$pink-200: #e94ee1;
$pink-300: #dd2cd4;
```
You can override the default `opacity` of the background for a particular callout, e.g.:
```yaml
callouts:
custom:
color: pink
opacity: 0.3
```
You can change the default opacity (`0.2`) for all callouts, e.g.:
```yaml
callouts_opacity: 0.3
```
You can also adjust the overall level of callouts.
The value of `callouts_level` is either `quiet` or `loud`;
`loud` increases the saturation and lightness of the backgrounds.
The default level is `quiet` when using the `light` or custom color schemes,
and `loud` when using the `dark color scheme.`
See [Callouts]({{ site.baseurl }}{% link docs/ui-components/callouts.md %}) for more information.
## Google Analytics
```yaml
@ -149,39 +220,44 @@ ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (t
## Document collections
By default, the navigation and search include normal [pages](https://jekyllrb.com/docs/pages/).
Instead, you can also use [Jekyll collections](https://jekyllrb.com/docs/collections/) which group documents semantically together.
You can also use [Jekyll collections](https://jekyllrb.com/docs/collections/) which group documents semantically together.
For example, put all your documentation files in the `_docs` folder and create the `docs` collection:
For example, put all your test files in the `_tests` folder and create the `tests` collection:
```yaml
# Define Jekyll collections
collections:
# Define a collection named "docs", its documents reside in the "_docs" directory
docs:
# Define a collection named "tests", its documents reside in the "_tests" directory
tests:
permalink: "/:collection/:path/"
output: true
just_the_docs:
# Define which collections are used in just-the-docs
collections:
# Reference the "docs" collection
docs:
# Reference the "tests" collection
tests:
# Give the collection a name
name: Documentation
name: Tests
# Exclude the collection from the navigation
# Supports true or false (default)
nav_exclude: false
# nav_exclude: true
# Fold the collection in the navigation
# Supports true or false (default)
# nav_fold: true
# Exclude the collection from the search
# Supports true or false (default)
search_exclude: false
# search_exclude: true
```
The navigation for all your normal pages (if any) is displayed before those in collections.
You can reference multiple collections.
This creates categories in the navigation with the configured names.
```yaml
collections:
docs:
tests:
permalink: "/:collection/:path/"
output: true
tutorials:
@ -190,8 +266,12 @@ collections:
just_the_docs:
collections:
docs:
name: Documentation
tests:
name: Tests
tutorials:
name: Tutorials
```
When *all* your pages are in a single collection, its name is not displayed.
The navigation for each collection is a separate name space for page titles: a page in one collection cannot be a child of a page in a different collection, or of a normal page.

View File

@ -69,6 +69,10 @@ For example, to change the link color from the purple default to blue, include t
$link-color: $blue-000;
```
Keep in mind that changing a variable will not automatically change the value of other variables that depend on it.
For example, the default link color (`$link-color`) is set to `$purple-000`. However, redefining `$purple-000` in a custom color scheme will not automatically change `$link-color` to match it.
Instead, each variable that relies on previously-cascaded values must be manually reimplemented by copying the dependent rules from `_variables.scss` — in this case, rewriting `$link-color: $purple-000;`.
_Note:_ Editing the variables directly in `_sass/support/variables.scss` is not recommended and can cause other dependencies to fail.
Please use scheme files.
@ -122,3 +126,42 @@ For example, if you'd like to add your own styles for printing a page, you could
}
}
```
## Override includes
The site can be modified by overriding any of the custom [Jekyll includes](https://jekyllrb.com/docs/includes/) provided by default in the theme.
To do this, create an `_includes` directory and make a copy of the specific file you wish to modify. Any content added to this file will override the theme defaults. You can learn more about this process in the Jekyll docs for [Overriding theme defaults](https://jekyllrb.com/docs/themes/#overriding-theme-defaults).
The following includes were made available to you:
### Custom Footer
`_includes/footer_custom.html`
This content appears at the bottom of every page's main content. More info for this include can be found in the [Configuration - Footer content]({% link docs/configuration.md %}#footer-content).
### Custom Head
`_includes/head_custom.html`
Any HTML added to this file will be inserted before the closing `<head>` tag. This might include additional `<meta>`, `<link>`, or `<script>` tags.
#### Example
To add a custom favicon, create `_includes/head_custom.html` and add:
```html
<link rel="shortcut icon" type="image/png" href="{{site.baseurl}}/path/to/your/favicon.png">
```
### Custom Header
`_includes/header_custom.html`
Content added to this file appears at the top of every page's main content between the site search and auxiliary links if they are enabled. If `search_enabled` were set to false and `aux_links` were removed, the content of `header_custom.html` would occupy the space at the top of every page.
### Custom Nav Footer
`_includes/nav_footer_custom.html`
Any content added to this file will appear at the bottom left of the page below the site's navigation. By default an attribution to Just the Docs is displayed which reads, `This site uses Just the Docs, a documentation theme for Jekyll.`.

View File

@ -4,6 +4,22 @@ title: Markdown kitchen sink
nav_order: 99
---
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script>
const toggleDarkMode = document.querySelector('.js-toggle-dark-mode');
jtd.addEvent(toggleDarkMode, 'click', function(){
if (jtd.getTheme() === 'dark') {
jtd.setTheme('light');
toggleDarkMode.textContent = 'Preview dark color scheme';
} else {
jtd.setTheme('dark');
toggleDarkMode.textContent = 'Return to the light side';
}
});
</script>
Text can be **bold**, _italic_, or ~~strikethrough~~.
[Link to another page](another-page).
@ -53,6 +69,12 @@ end
###### [](#header-6)Header 6
[This is a very long link which wraps and therefore doesn't overflow
even when it comes at the beginning](.) of the line.
- [This is a very long link which wraps and therefore doesn't overflow the line
when used first in an item ](.) in a list.
| head1 | head two | three |
|:-------------|:------------------|:------|
| ok | good swedish fish | nice |
@ -136,6 +158,30 @@ Some text
- [ ] Hello, this is another TODO item
- [x] Goodbye, this item is done
### Nesting task lists
- [ ] level 1 item (task)
- [ ] level 2 item (task)
- [ ] level 2 item (task)
- [ ] level 1 item (task)
- [ ] level 1 item (task)
### Nesting a ul in a task list
- [ ] level 1 item (task)
- level 2 item (ul)
- level 2 item (ul)
- [ ] level 1 item (task)
- [ ] level 1 item (task)
### Nesting a task list in a ul
- level 1 item (ul)
- [ ] level 2 item (task)
- [ ] level 2 item (task)
- level 1 item (ul)
- level 1 item (ul)
### Small image
![](../../assets/images/small-image.jpg)
@ -146,6 +192,29 @@ Some text
"[Wroclaw University Library digitizing rare archival texts](https://www.flickr.com/photos/97810305@N08/9401451269)" by [j_cadmus](https://www.flickr.com/photos/97810305@N08) is marked with [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/?ref=openverse).
### Labels
I'm a label
{: .label }
blue
{: .label .label-blue }
green
{: .label .label-green }
purple
{: .label .label-purple }
yellow
{: .label .label-yellow }
red
{: .label .label-red }
**bold**
{: .label }
*italic*
{: .label }
***bold + italic***
{: .label }
### Definition lists can be used with HTML syntax.
<dl>
@ -190,10 +259,58 @@ Term2
### More code
```python{% raw %}
def dump_args(func):
"This decorator dumps out the arguments passed to a function before calling it"
argnames = func.func_code.co_varnames[:func.func_code.co_argcount]
fname = func.func_name
def echo_func(*args,**kwargs):
print fname, ":", ', '.join(
'%s=%r' % entry
for entry in zip(argnames,args) + kwargs.items())
return func(*args, **kwargs)
return echo_func
@dump_args
def f1(a,b,c):
print a + b + c
f1(1, 2, 3)
def precondition(precondition, use_conditions=DEFAULT_ON):
return conditions(precondition, None, use_conditions)
def postcondition(postcondition, use_conditions=DEFAULT_ON):
return conditions(None, postcondition, use_conditions)
class conditions(object):
__slots__ = ('__precondition', '__postcondition')
def __init__(self, pre, post, use_conditions=DEFAULT_ON):
if not use_conditions:
pre, post = None, None
self.__precondition = pre
self.__postcondition = post
{% endraw %}```
```
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
```
### Mermaid Diagrams
The following code is displayed as a diagram only when a `mermaid` key supplied in `_config.yml`.
```mermaid
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
```
The final element.
```

View File

@ -5,7 +5,6 @@ nav_order: 5
---
# Navigation Structure
{: .no_toc }
<details open markdown="block">
@ -13,7 +12,7 @@ nav_order: 5
Table of contents
</summary>
{: .text-delta }
1. TOC
- TOC
{:toc}
</details>
@ -32,7 +31,6 @@ By default, all pages will appear as top level pages in the main nav unless a pa
To specify a page order, you can use the `nav_order` parameter in your pages' YAML front matter.
#### Example
{: .no_toc }
```yaml
@ -59,7 +57,6 @@ By default, all Capital letters come before all lowercase letters; you can add `
For specific pages that you do not wish to include in the main navigation, e.g. a 404 page or a landing page, use the `nav_exclude: true` parameter in the YAML front matter for that page.
#### Example
{: .no_toc }
```yaml
@ -113,7 +110,6 @@ On the parent pages, add this YAML front matter parameter:
- `has_children: true` (tells us that this is a parent page)
#### Example
{: .no_toc }
```yaml
@ -135,7 +131,6 @@ Here we're setting up the UI Components landing page that is available at `/docs
On child pages, simply set the `parent:` YAML front matter to whatever the parent's page title is and set a nav order (this number is now scoped within the section).
#### Example
{: .no_toc }
```yaml
@ -150,12 +145,27 @@ nav_order: 2
The Buttons page appears as a child of UI Components and appears second in the UI Components section.
### Ordering child pages
You can optionally add the following to the YAML front matter to change the default sort order of child pages from ascending to descending order:
- `child_nav_order: desc`
#### Example
{: .no_toc }
```yaml
---
layout: default
title: Descending Child Pages
child_nav_order: desc
---
```
### Auto-generating Table of Contents
By default, all pages with children will automatically append a Table of Contents which lists the child pages after the parent page's content. To disable this auto Table of Contents, set `has_toc: false` in the parent page's YAML front matter.
#### Example
{: .no_toc }
```yaml
@ -179,7 +189,6 @@ Child pages can also have children (grandchildren). This is achieved by using a
1. Add the `parent` and `grand_parent` attribute to the grandchild
#### Example
{: .no_toc }
```yaml
@ -227,7 +236,6 @@ This would create the following navigation structure:
To add auxiliary links to your site (in the upper right on all pages), add it to the `aux_links` [configuration option]({{ site.baseurl }}{% link docs/configuration.md %}#aux-links) in your site's `_config.yml` file.
#### Example
{: .no_toc }
```yaml
@ -239,25 +247,41 @@ aux_links:
---
## In-page navigation with Table of Contents
## External Navigation Links
To generate a Table of Contents on your docs pages, you can use the `{:toc}` method from Kramdown, immediately after an `<ol>` in Markdown. This will automatically generate an ordered list of anchor links to various sections of the page based on headings and heading levels. There may be occasions where you're using a heading and you don't want it to show up in the TOC, so to skip a particular heading use the `{: .no_toc }` CSS class.
To add external links to the navigation, add them to the `nav_external_links` [configuration]({{ site.baseurl }}{% link docs/configuration.md %}) option in your site's `_config.yml` file.
External links will appear under all other items in the listing order.
#### Example
{: .no_toc }
```yaml
# External navigation links
nav_external_links:
- title: Just the Docs on GitHub
url: https://github.com/just-the-docs/just-the-docs
hide_icon: false # set to true to hide the external link icon - defaults to false
```
---
## In-page navigation with Table of Contents
To generate a Table of Contents on your docs pages, you can use the `{:toc}` method from Kramdown, immediately after an `<ol>` in Markdown. This will automatically generate an ordered list of anchor links to various sections of the page based on headings and heading levels. There may be occasions where you're using a heading and you don't want it to show up in the TOC, so to skip a particular heading use the `{: .no_toc }` CSS class.
#### Example
{: .no_toc }
```markdown
# Navigation Structure
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
1. TOC
{:toc}
{:toc}
```
This example skips the page name heading (`#`) from the TOC, as well as the heading for the Table of Contents itself (`##`) because it is redundant, followed by the table of contents itself. To get an unordered list, replace `1. TOC` above by `- TOC`.

View File

@ -1,22 +0,0 @@
---
layout: default
title: Tests
has_children: true
nav_order: 100
---
# Tests
The main documentation pages of this theme illustrate the use of many of its features, which to some extent tests their implementation. The pages linked below provide further test cases for particular features, and may be useful for regression testing when developing new features.
The default configuration does not include the test pages. To include them, *commment-out* the following line in `_config.yml`:
```yaml
, "docs/tests/"
```
so that it is:
```yaml
# , "docs/tests/"
```
(Apparently Jekyll's `include` does *not* override `exclude` for the same folder...)

View File

@ -1,14 +0,0 @@
---
layout: default
title: Tests for disambiguation A
has_children: true
---
# A
A top-level page
```yaml
title: Tests for disambiguation A
has_children: true
```

View File

@ -1,14 +0,0 @@
---
layout: default
title: Tests for disambiguation B
has_children: true
---
# B
A top-level page
```yaml
title: Tests for disambiguation B
has_children: true
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: Tests for disambiguation C
parent: Tests for disambiguation A
has_children: true
---
# C
A child of page A, and parent of page D
```yaml
title: Tests for disambiguation C
parent: Tests for disambiguation A
has_children: true
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: Tests for disambiguation C
parent: Tests for disambiguation B
has_children: true
---
# C
A child of page B, and parent of page D
```yaml
title: Tests for disambiguation C
parent: Tests for disambiguation B
has_children: true
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: Tests for disambiguation D
parent: Tests for disambiguation C
grand_parent: Tests for disambiguation A
---
# D
A grandchild of page A
```yaml
title: Tests for disambiguation D
parent: Tests for disambiguation C
grand_parent: Tests for disambiguation A
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: Tests for disambiguation D
parent: Tests for disambiguation C
grand_parent: Tests for disambiguation B
---
# D
A grandchild of page B
```yaml
title: Tests for disambiguation D
parent: Tests for disambiguation C
grand_parent: Tests for disambiguation B
```

View File

@ -1,14 +0,0 @@
---
layout: default
title: Disambiguation
parent: Navigation
grand_parent: Tests
---
# Disambiguation
When different pages with children have the same title, referencing the relevant grandparent in the children disambiguates which page is intended.
- [Page A](a/) has a child [page with title C](ca/), and a grandchild [page with title D](dca/).
- [Page B](b/) has a child [page with title C](cb/), and a grandchild [page with title D](dcb/).
- The grandchild pages specify their parent and grandparent pages, so there is no ambiguity.

View File

@ -1,13 +0,0 @@
---
layout: default
title: Tests for exclusion 0
has_children: true
nav_exclude: true
---
# Tests for exclusion 0
```yaml
title: Tests for exclusion 0
has_children: true
nav_exclude: true
```

View File

@ -1,15 +0,0 @@
---
layout: default
title: Tests for exclusion 00
parent: Tests for exclusion 0
has_children: true
nav_exclude: true
---
# Tests for exclusion 00
```yaml
title: Tests for exclusion 00
parent: Tests for exclusion 0
has_children: true
nav_exclude: true
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 000
parent: Tests for exclusion 00
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: true
---
# Tests for exclusion 000
```yaml
title: Tests for exclusion 000
parent: Tests for exclusion 00
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: true
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 001
parent: Tests for exclusion 00
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: false
---
# Tests for exclusion 001
```yaml
title: Tests for exclusion 001
parent: Tests for exclusion 00
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: false
```

View File

@ -1,15 +0,0 @@
---
layout: default
title: Tests for exclusion 01
parent: Tests for exclusion 0
has_children: true
nav_exclude: false
---
# Tests for exclusion 01
```yaml
title: Tests for exclusion 01
parent: Tests for exclusion 0
has_children: true
nav_exclude: false
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 010
parent: Tests for exclusion 01
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: true
---
# Tests for exclusion 010
```yaml
title: Tests for exclusion 010
parent: Tests for exclusion 01
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: true
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 011
parent: Tests for exclusion 01
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: false
---
# Tests for exclusion 011
```yaml
title: Tests for exclusion 011
parent: Tests for exclusion 01
grand_parent: Tests for exclusion 0
has_children: false
nav_exclude: false
```

View File

@ -1,13 +0,0 @@
---
layout: default
title: Tests for exclusion 1
has_children: true
nav_exclude: false
---
# Tests for exclusion 1
```yaml
title: Tests for exclusion 1
has_children: true
nav_exclude: false
```

View File

@ -1,15 +0,0 @@
---
layout: default
title: Tests for exclusion 10
parent: Tests for exclusion 1
has_children: true
nav_exclude: true
---
# Tests for exclusion 10
```yaml
title: Tests for exclusion 10
parent: Tests for exclusion 1
has_children: true
nav_exclude: true
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 100
parent: Tests for exclusion 10
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: true
---
# Tests for exclusion 100
```yaml
title: Tests for exclusion 100
parent: Tests for exclusion 10
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: true
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 101
parent: Tests for exclusion 10
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: false
---
# Tests for exclusion 101
```yaml
title: Tests for exclusion 101
parent: Tests for exclusion 10
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: false
```

View File

@ -1,15 +0,0 @@
---
layout: default
title: Tests for exclusion 11
parent: Tests for exclusion 1
has_children: true
nav_exclude: false
---
# Tests for exclusion 11
```yaml
title: Tests for exclusion 11
parent: Tests for exclusion 1
has_children: true
nav_exclude: false
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 110
parent: Tests for exclusion 11
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: true
---
# Tests for exclusion 110
```yaml
title: Tests for exclusion 110
parent: Tests for exclusion 11
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: true
```

View File

@ -1,17 +0,0 @@
---
layout: default
title: Tests for exclusion 111
parent: Tests for exclusion 11
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: false
---
# Tests for exclusion 111
```yaml
title: Tests for exclusion 111
parent: Tests for exclusion 11
grand_parent: Tests for exclusion 1
has_children: false
nav_exclude: false
```

View File

@ -1,11 +0,0 @@
---
layout: default
nav_exclude: true
---
# Tests for exclusion untitled and excluded
This page does not have a `title`, and it is explicitly excluded from the navigation
```yaml
nav_exclude: true
```

View File

@ -1,36 +0,0 @@
---
layout: default
title: Exclusion
parent: Navigation
grand_parent: Tests
---
# Exclusion
Pages excluded from the main navigation can have parents and children. Navigation to and between excluded pages can be supported by the auto-generating list of child pages inserted at the bottom of each page, and by links to parents in the breadcrumbs at the top of each page.
The following tests cover all combinations of excluded and included pages for the top level, child pages, and grandchild pages. The last binary digit in a page title indicates whether the page is included (1) or excluded (0); preceding digits refer to its parent and grandparent.
## Included in main navigation
- [Tests for exclusion 1](1/)
- [Tests for exclusion 11](11/)
- [Tests for exclusion 111](111/)
## Included only in child navigation
- [Tests for exclusion 110](110/)
- [Tests for exclusion 10](10/)
- [Tests for exclusion 101](101/)
- [Tests for exclusion 100](100/)
- [Tests for exclusion 01](01/)
- [Tests for exclusion 011](011/)
- [Tests for exclusion 010](010/)
- [Tests for exclusion 00](00/)
- [Tests for exclusion 001](001/)
- [Tests for exclusion 000](000/)
## Not included in main or child navigation
- [Tests for exclusion 0](0/)
- ["Untitled"](untitled/)

View File

@ -1,6 +0,0 @@
---
layout: default
---
# Tests for exclusion untitled
This page does not have a `title`, and it is excluded from the navigation -- unless it is located in a Jekyll collection (which provides default titles). To exclude a title-less page from the navigation, regardless of whether it is located in a collection, set `nav_exclude: true`.

View File

@ -1,8 +0,0 @@
---
layout: default
title: Navigation
parent: Tests
has_children: true
---
# Navigation

View File

@ -1,14 +0,0 @@
---
layout: default
title: "10"
parent: Default
grand_parent: Tests for order
---
# 10
```yaml
title: "10"
parent: Default
grand_parent: Tests for order
```

View File

@ -1,14 +0,0 @@
---
layout: default
title: "2"
parent: Default
grand_parent: Tests for order
---
# 2
```yaml
title: "2"
parent: Default
grand_parent: Tests for order
```

View File

@ -1,14 +0,0 @@
---
layout: default
title: A
parent: Default
grand_parent: Tests for order
---
# A
```yaml
title: A
parent: Default
grand_parent: Tests for order
```

View File

@ -1,14 +0,0 @@
---
layout: default
title: aa
parent: Default
grand_parent: Tests for order
---
# aa
```yaml
title: aa
parent: Default
grand_parent: Tests for order
```

View File

@ -1,14 +0,0 @@
---
layout: default
title: Aa
parent: Default
grand_parent: Tests for order
---
# Aa
```yaml
title: Aa
parent: Default
grand_parent: Tests for order
```

View File

@ -1,15 +0,0 @@
---
layout: default
title: Default
parent: Tests for order
nav_order: 1
has_children: true
---
# Default Order
When `nav_order` fields are omitted, the pages are ordered alphabetically by their titles.
By default, all Capital letters come before all lowercase letters; you can add `nav_sort: case_insensitive` in the configuration file to ignore the case).
Digits precede letters, and numeric titles are ordered lexicographically: `10` precedes `2` (in contrast to explicit numeric `nav_order` values).

View File

@ -1,16 +0,0 @@
---
layout: default
title: "-1.1"
nav_order: -1.1
parent: Floats
grand_parent: Tests for order
---
# -1.1
```yaml
title: "-1.1"
nav_order: -1.1
parent: Floats
grand_parent: Tests for order
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: "0.0"
nav_order: 0.0
parent: Floats
grand_parent: Tests for order
---
# 0.0
```yaml
title: "0.0"
nav_order: 0.0
parent: Floats
grand_parent: Tests for order
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: "10.0"
nav_order: 10.0
parent: Floats
grand_parent: Tests for order
---
# 10.0
```yaml
title: "10.0"
nav_order: 10.0
parent: Floats
grand_parent: Tests for order
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: "2.2222"
nav_order: 2.2222
parent: Floats
grand_parent: Tests for order
---
# 2.2222
```yaml
title: "2.2222"
nav_order: 2.2222
parent: Floats
grand_parent: Tests for order
```

View File

@ -1,13 +0,0 @@
---
layout: default
title: Floats
parent: Tests for order
nav_order: 4
has_children: true
---
# Floating-Point Order
When `nav_order` fields are floating-point numbers, the pages are ordered in increasing order of the numerical values.
Floats include `0.0` and negative values.

View File

@ -1,16 +0,0 @@
---
layout: default
title: Order
parent: Navigation
grand_parent: Tests
---
# Order
The value of `nav_order` can be numbers (integers, floats) and/or strings. The following tests illustrate their effects.
- [Default](default/), using `title` instead of `nav_order` fields.
- [Strings](strings/), lexicographically ordered, possibly case-insensitively.
- [Integers](integers/), numerically ordered.
- [Floats](floats/), numerically ordered.
- [Mixture](mixture/), with numbers before strings.

View File

@ -1,16 +0,0 @@
---
layout: default
title: "-1"
nav_order: -1
parent: Integers
grand_parent: Tests for order
---
# -1
```yaml
title: "-1"
nav_order: -1
parent: Integers
grand_parent: Tests for order
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: "0"
nav_order: 0
parent: Integers
grand_parent: Tests for order
---
# 0
```yaml
title: "0"
nav_order: 0
parent: Integers
grand_parent: Tests for order
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: "10"
nav_order: 10
parent: Integers
grand_parent: Tests for order
---
# 10
```yaml
title: "10"
nav_order: 10
parent: Integers
grand_parent: Tests for order
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: "2"
nav_order: 2
parent: Integers
grand_parent: Tests for order
---
# 2
```yaml
title: "2"
nav_order: 2
parent: Integers
grand_parent: Tests for order
```

View File

@ -1,13 +0,0 @@
---
layout: default
title: Integers
parent: Tests for order
nav_order: 3
has_children: true
---
# Integer Order
When `nav_order` fields are integers, the pages are ordered in increasing order of the numerical values.
Integers include `0` and negative values. Integers can be reused for top-level pages and for different sets of child pages.

View File

@ -1,16 +0,0 @@
---
layout: default
title: "-1.1"
nav_order: -1.1
parent: Mixture
grand_parent: Tests for order
---
# -1.1
```yaml
title: "-1.1"
nav_order: -1.1
parent: Mixture
grand_parent: Tests for order
```

View File

@ -1,16 +0,0 @@
---
layout: default
title: "-1"
nav_order: -1
parent: Mixture
grand_parent: Tests for order
---
# -1
```yaml
title: "-1"
nav_order: -1
parent: Mixture
grand_parent: Tests for order
```

Some files were not shown because too many files have changed in this diff Show More