Compare commits

..

170 Commits

Author SHA1 Message Date
Matthew Wang
c3164b0102 prep for v0.4.0.rc3 2022-10-09 17:56:20 -07:00
Matt Wang
55aa714b26 Update CHANGELOG.md 2022-10-09 17:49:23 -07:00
Matt Wang
b4b951fe5d Experimental nav optimization for simple cases (#992)
* Optimize simple navigation cases

Fix inefficiency reported in feedback on v0.4.0.rc2 (see discussion #958).

This PR:

* essentially reverts `_includes/nav.html` to v0.4.0.rc1
* preserves the ARIA labels added by #950
* adds a test to optimize builds of sites that rely on `title` fields to order pages.

Building the `endoflife.date` site (130 pages) now takes only about 7 seconds.

Building the `machinetranslate.org` site ( 350 pages) takes about 7 minutes. (Without the added test, it takes just over 5 minutes: the condition of the test is merely to compare the size of two arrays, but that is apparently enough to prevent Jekyll from applying some optimization).

A warning is added to the docs about the need for numbers to be in quotes when used as title values.

* Update navigation-structure.md

A clarification is added to the docs about the need for numbers to be in quotes when used as title values.

* Simplify the control and data flow

- Defer concatenation of `string_order_pages` with `title_order_pages` until needed.
- Replace tests on size with tests for `empty`.
- Rename variables accordingly.

* Fix child nav order

This PR started from the navigation in RC1. Some cosmetic improvements had been made in RC2. This commit adds some of those changes to this PR.

It also fixes a bug (revealed by a new regression test) due to a reference to `node.child_nav_order` instead of `child.child_nav_order`, which prevented reversal of the order in children of children. Presumably a top-level reversal should apply only to direct children, and not to grandchildren. The latter interpretation would be very confusing in a deep multi-level hierarchy.

* Allow pages with numeric titles

An omitted `nav_order` value should default to the `title` value, regardless of its type. Jekyll 3 gives build errors when numbers and strings are sorted together. This commit drops the assumption that `title` values are always strings – a 404 page naturally has a numeric title. It updates the docs page accordingly.

The extra code does not affect the build time for the `endoflife.date` site (7 seconds). For the `machinetranslate` site, changing the title of the 404 page to a number increases the build time from 7 minutes to 9 minutes – the `nav_order` numbers on that site are program-generated in the range 1..1000, which might be atypical.

This commit has not yet been checked using the regression tests.

The gemspec used for testing specifies `spec.add_runtime_dependency "jekyll", "~> 3.8.5"`, and `Gemfile.lock` shows `jekyll (3.8.7)`.

* Update nav.html

Add comment about an optimization that will be possible in Jekyll 4.

* Update nav.html

- Update the comment about optimization possibility.
- TEMPORARILY add Jekyll 3 code for conditionally optimizing.

* Update nav.html

Minor improvements and cosmetic changes.

* Major revision

This update is based on extensive experimentation and profiling with alternative versions of the Liquid code used to build the main navigation panel.

Due to the fragility of Jekyll's optimizations, combining alternative approaches with conditionals turned out to be too expensive: merely adding a condition to check whether some array of pages is empty can add about 20% to the build time!

The current code avoids sorting pages on `nav_order` and `title` fields together. The standard way of doing that in Jekyll is to use the `group_by` filter; but extracting the sorted pages from the groups turned out to be too inefficient (as seen in RC1), as was generating links directly from the groups (in RC2).

Making all pages with `nav_order` values come before all those ordered by their `title` values is not ideal (it doesn't support tweaking the relative order of two pages in a list of pages ordered by their titles) but it appears to be necessary for efficient builds on large sites.

This version has not yet been fully tested for regression, but otherwise seems to give the expected navigation on the endoflife.date and machinetranslate websites. (I'm unable to install the Python-based how2data repository on my laptop, due to package version issues on Apple silicon).

Co-authored-by: Peter Mosses <18308236+pdmosses@users.noreply.github.com>
2022-10-09 17:48:06 -07:00
Matt Wang
48f729541e Update CHANGELOG.md 2022-09-29 13:37:11 -07:00
Peter Mosses
33a7b2ac28 Fix default highlighting in custom color schemes (#986)
* Fix default highlighting in custom schemes

Fix #982

The variable settings for highlighting in the default `light` scheme are currently (v0.4.0.rc2`) in `_sass/color_schemes/light.scss`.
This PR ensures that custom schemes are based on the `light` scheme.

It also adds a note explaining the default to the customization docs,
and gives an example of how to define a custom scheme based on the `dark` scheme

* Prettier

* Deleted test file

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-09-29 13:35:48 -07:00
dependabot[bot]
f1fd81dd01 Bump stylelint from 14.12.1 to 14.13.0 (#990)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.12.1 to 14.13.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.12.1...14.13.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-29 10:01:23 -07:00
Matt Wang
2e48a7e6b1 Update CHANGELOG.md 2022-09-27 09:55:17 -07:00
Peter Mosses
93857587dd Improve docs for code highlighting with line numbers (#974)
* Add toc heading custom include

Closes #961.

* Revert "Add toc heading custom include"

This reverts commit 49813c341973e313db0a21f075a60ebf2120989e.

* Update code highlighting with line numbers

- Add the example of code highlighting with line numbers explained in the [Jekyll docs](https://jekyllrb.com/docs/liquid/tags/#line-numbers).
- Fix the styling of narrow code with line numbers, which floats to the centre without this CSS adjustment. (The line numbers column expands as needed with larger numbers of lines, despite using `width`; using `min-width` doesn't work.)

To apply HTML compression, I removed `vendor` from `exclude`; that change is left to a different PR.
2022-09-27 09:53:57 -07:00
Peter Mosses
ce820828dc Make more CHANGELOG urls clickable (#984)
* Make more CHANGELOG  urls clickable

Extension of PR #977 to v0.4.0.rc1:

- Make callouts `loud`.
- Replace a warning paragraph by a callout.
- Use a reference link instead of an explicit url for @pmarsceill .
- Add link reference definitions for PRs and new contributors in v0.4.0.rc1.
- Replace inline urls by shortcut link references.

The changes to replace URLs by link references would be too tedious and error-prone to do completely manually for v0.4.0.rc1.
The following regexp replacements were applied to the sections of v0.4.0.rc1, using Atom:

- Copy a section of changes.
- In the copy, replace `.*(https://.*pull/)([0-9]+).*$` by `[#$2]: $1$2`.
- In the original, replace `(https://.*pull/)([0-9]+)` by `[#$2]`.

- Copy a section of new contributors.
- In the copy, replace `\* @([^ ]+) .*$` by `[@$1]: https://githhub.com/$1`.
- In the original, replace `@([a-zA-Z0-9]+)` by `[@$1]`.

Add (co)authors in [#578]:

* [@AdityaTiwari2102] made their first contribution in [#477]
* [@svrooij] made their first contribution in [#544]

[@AdityaTiwari2102]: https://githhub.com/AdityaTiwari2102
[@svrooij]: https://githhub.com/svrooij

To test:

1. Check that the CHANGELOG contents looks the same in the docs and in the repo (apart from the callouts) with clickable links to all PRs and contributors for v0.4.0.rc1.

2. Check that none of the lines with changes or new contributors have been removed.

* Revert to quiet callouts
2022-09-26 15:20:02 -07:00
Matt Wang
58ca9394e5 Update CHANGELOG.md 2022-09-26 12:00:44 -07:00
Peter Mosses
13a1ac2a42 Fix excluded vendor cleanup (#985)
Fix #973

Update the array of excluded directories and files to be:

- those that Jekyll excludes by default (since our `exclude` replaces Jekyll's defaults in Jekyll 3) and
- the others that the theme previously excluded, but omitting `vendor` – also ones that are no longer in the repo.

Excluding `vendor` was preventing HTML compression of the theme docs, since the layout used for compression is in `_layouts/vendor/compress.html`.

The change from one-line to multi-line YAML layout for the array of excluded files enhances readability. The addition of explanatory comments supports maintenance.

To test the effect of this PR on the theme docs:

- Build and serve the theme docs.
- Check that  the HTML files are now compressed.
- Check that the last example of code with line numbers has incorrect formatting.

(This PR cannot affect sites that use the theme as a gem or as a remote theme, since we don't include our `_config.yml`.)
2022-09-26 11:57:21 -07:00
Matt Wang
42c81a9261 typo fix - agh! 2022-09-25 17:53:42 -07:00
Matt Wang
a7ebb450d2 Update CHANGELOG.md 2022-09-25 17:53:16 -07:00
Peter Mosses
6061dd27e1 Add custom include for TOC heading (#980)
Closes #961. Replays a previous attempt.
2022-09-25 17:48:49 -07:00
dependabot[bot]
e91df1e4bf Bump stylelint from 14.12.0 to 14.12.1 (#978)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.12.0 to 14.12.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.12.0...14.12.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-22 11:23:30 -07:00
Peter Mosses
dbe157461b Make CHANGELOG urls clickable (#977)
* Make CHANGELOG urls clickable

- Add link reference definitions for PRs and new contributors in v0.4.0.rc2
- Replace inline urls by shortcut link references
- Add front matter so the page appears in the navigation
- Change the link to the CHANGELOG on the home page

The CHANGELOG contents should look the same in the docs and in the repo (apart from the callouts) with clickable links to PRs and some contributors.

The urls shown in the changes in v0.4.0.rc1 (and previous releases) haven't yet been made clickable – it would be too tedious and error-prone to do it manually.

* Make CHANGELOG urls clickable

- Add a callout
2022-09-22 11:23:30 -07:00
Matt Wang
7c82b57aa3 Update CHANGELOG.md 2022-09-22 11:23:30 -07:00
Matt Wang
4c2d50965c Fixes link styling to use native text-decoration properties (#967)
Change link/anchor styling to use `text-decoration`, `text-decoration-color`, `text-underline-offset`.

Looking to tackle some low-hanging fruit! Closes #636.

[Link to deploy preview](https://deploy-preview-967--just-the-docs.netlify.app/).

Old behaviour:

<img width="582" alt="Screen Shot 2022-09-16 at 11 56 26 AM" src="https://user-images.githubusercontent.com/14893287/190711440-8e56c3a2-250f-4121-8c57-8e6e20c4ae07.png">

New behaviour:

<img width="546" alt="Screen Shot 2022-09-16 at 11 56 19 AM" src="https://user-images.githubusercontent.com/14893287/190711520-2cc7fd4d-d449-4e14-9e75-96545f9f578d.png">


Some notes:

- the only visible change should be minor differences in the thickness of the line (browser defaults) + how underhangs (ex a "g") interact with the line
- color-wise, this is a no-op :) 
- I added an offset to mimic the behaviour of `background-size: 1px 1px;`

Let me know what we think!
2022-09-22 11:23:30 -07:00
dependabot[bot]
3a77f95280 Bump stylelint from 14.11.0 to 14.12.0 (#970)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.11.0 to 14.12.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.11.0...14.12.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 09:46:28 -07:00
Matt Wang
b99642697f Update CHANGELOG.md 2022-09-16 11:42:46 -07:00
Matt Wang
9107f2e81e add styling for blockquotes (#965)
This is a bite-sized PR that fixes #681. It adds a very minimal styling set to `blockquote` that can be easily overridden by a user.

The [markdown kitchen sink](https://deploy-preview-965--just-the-docs.netlify.app/docs/index-test/) has the example described in the issue:

<img width="772" alt="Screen Shot 2022-09-15 at 5 49 44 PM" src="https://user-images.githubusercontent.com/14893287/190533247-60ddaba3-85b2-4c03-b520-a67f6b047345.png">


Note that it differs from GFM/GitHub's renderer:

> This is a blockquote!

I'm not sure if the intention is to bring it to one-to-one parity. If that's the case, I can dim the text color and make the sidebar thicker.
2022-09-16 11:32:34 -07:00
Matt Wang
8a6d26ac53 Update CHANGELOG.md 2022-09-15 12:25:49 -07:00
Matt Wang
855427186b Fix HTML validation issues (W3C validator) (#964)
Closes #963.

- redundant `role="navigation"` on nav elements
- redundant `type="text/javascript"` on script tags
- misplaced mermaid script tag

Note that [running the validator on the deploy preview](https://validator.w3.org/nu/?doc=https%3A%2F%2Fdeploy-preview-964--just-the-docs.netlify.app%2F) has no errors now!
2022-09-15 12:24:26 -07:00
Matt Wang
4f8a3e75b2 Update CHANGELOG.md 2022-09-15 11:54:59 -07:00
Peter Mosses
b3e3eaf9dc Fix active grandchild link class (#962)
An occurrence of `grandchild` was miss-spelled `grand_child` (!).
That caused omission of the `active` class in the link in the nav panel for all grandchildren.

This bug was discovered using `diff` to compare the generated sites built using v0.4.0.rc1 and commit  4396b6b1c836f354bb7aa7edc1a06a49f137d615 on the fix-nav-performance PR branch.
2022-09-15 11:54:19 -07:00
Matt Wang
1b4aef358c Update CHANGELOG.md 2022-09-14 16:54:18 -07:00
Henry Schreiner
1043a34104 fix: spacing issue when search is disabled (#960)
Fixes #396.
2022-09-14 16:52:39 -07:00
Peter Mosses
7cda88dfa3 Update CHANGELOG.md
Remove inaccurate comments about unpinned gem versions
- pre-release gems have lower precedence than release gems.
2022-09-13 10:38:30 +02:00
Peter Mosses
e484ad03dc Update CHANGELOG.md
Clarify that there aren't yet any changes to `main` since the release of `v0.4.0.rc2`.
2022-09-12 16:09:47 +02:00
Matt Wang
e88f7f325f Update CHANGELOG.md 2022-09-11 20:47:36 -07:00
Matt Wang
d9594fb7d5 prep for v0.4.0.rc2 (#957)
prep for v0.4.0.rc2
2022-09-11 20:45:22 -07:00
Matt Wang
7e646caa75 Update CHANGELOG.md 2022-09-11 20:32:43 -07:00
Peter Mosses
457dce3651 Improve build time of navigation panel (#956)
Fix #863.

The current Liquid code to generate the navigation panel involves the inefficient extraction of a list of pages from a list of page groups (identified by @captn3m0 in his original [explanation of the performance issue](https://github.com/just-the-docs/just-the-docs/issues/863)). 

The optimisation implemented by this PR generates navigation links directly from the list of page groups, thereby avoiding the extraction of a list of pages from it. The Liquid code is now a bit tedious, but I don't see a simpler solution. 

The need for grouping pages arises because Jekyll doesn't provide a filter to sort a list of pages on the value of an arbitrary expression.

Using Jekyll v4.2.2 (macOS 12.5, M2 MacBook Air, 16 GB memory), building https://github.com/endoflife-date/endoflife.date using https://github.com/pdmosses/just-the-docs/blob/fix-nav-performance/_includes/nav.html produced the following profile extract:

Filename                                                    | Count |    Bytes |   Time
------------------------------------------------------------|-------|----------|-------
| just-the-docs-0.4.0.rc1/_layouts/default.html                    |   130 |  3792.04K |  5.160 |
| _includes/nav.html                                               |   130 |  1405.20K |  4.054 |
| just-the-docs-0.4.0.rc1/_includes/head.html                      |   130 |   617.82K |  0.495 |
| _layouts/product.html                                            |   127 |  1014.38K |  0.413 |
| _includes/head_custom.html                                       |   130 |   427.83K |  0.393 |
| assets/js/zzzz-search-data.json                                  |     1 |   149.31K |  0.050 |

@nathancarter has tried adding the new `nav.html` to [a site with over 300 pages](https://nathancarter.github.io/how2data/site/), and reported that it improved the build time of more than 3 minutes to about 30 seconds.

Further optimisation of navigation might be possible (e.g., using [Jekyll include caching](https://github.com/benbalter/jekyll-include-cache)), but the current optimisation should be sufficient for v0.4.0.

To test that this PR does not appear to affect the navigation panel generated by v0.3.3:

1. Clone https://github.com/just-the-docs/just-the-docs-tests.
2. Update `_config.yml` and `Gemfile` to use this PR branch.
3. Run `bundle update`.
4. Inspect the rendering of the entire collection of navigation tests.

(Many of the differences reported in the GitHub visualisation of the changes are due to shifting much of the code 2 spaces to the left, in connection with moving the first `ul` element to be close to its first item.)
2022-09-11 20:31:17 -07:00
Matt Wang
03e1db9506 Update CHANGELOG.md 2022-09-10 16:51:47 -07:00
Jeremy Prevost
8333eceb0d Provide ability to skip to main content (#949)
Why are these changes being introduced:

* The current tab order requires keyboard or screenreader users to tab
  though all of the navigation links before they get to the main content
  of the page

Relevant ticket(s):

* Discussed as part of larger WCAG ticket https://github.com/just-the-docs/just-the-docs/issues/566

How does this address that need:

* Introduces an off screen link as the first element in the tab order
  that will display when it has focus but remain off screen for users
  not using tab to navigate the document.
* Introduces a new scss file with the required style elements and uses
  colors variables to ensure both light and dark mode are respected.

Background information on this technique:

- https://www.w3.org/TR/WCAG20-TECHS/G1.html
- https://accessibility.oit.ncsu.edu/it-accessibility-at-nc-state/developers/accessibility-handbook/mouse-and-keyboard-events/skip-to-main-content/
2022-09-10 16:51:18 -07:00
Matt Wang
9d720eb092 Update CHANGELOG.md 2022-09-10 16:46:05 -07:00
Peter Mosses
bd2af37865 Clarify version docs (#955)
This PR updates the home page and the CHANGELOG to refer to  v0.4.0.rc1 as a pre-release or release candidate, rather than a release. See [this comment](https://github.com/just-the-docs/just-the-docs/pull/613#issuecomment-1240442518) for motivation.

It also adds the versioned docs issue (#728) to the roadmap in the CHANGELOG.

As the config for the theme docs now needs to declare callouts, the [callouts docs](https://just-the-docs.github.io/just-the-docs/docs/ui-components/callouts/) can now illustrate the rendered appearance. (These callouts are merely examples: the names and colors should eventually be replaced by a principled collection, taking account of WCAG.)
2022-09-10 16:44:27 -07:00
Matt Wang
3f89145543 Update CHANGELOG.md 2022-09-07 10:06:26 -07:00
Matt Wang
91a894c0d4 Add docs for custom search placeholder (#939)
Follow-up to #613. Relatively self-explanatory!

Co-authored-by: Peter Mosses <18308236+pdmosses@users.noreply.github.com>
2022-09-07 10:04:25 -07:00
Alyssa Ross
e03483d8ed Improve display of AsciiDoc examples with titles (#944)
The jekyll-asciidoc plugin will take AsciiDoc markup like this:

	.A method that returns the string "Hello, world"
	[example]
	[source,ruby]
	----
	def hello
	  "Hello, world"
	end
	----

And produce HTML like this (syntax highlighting disabled):

	<div class="listingblock">
	  <div class="title">A method that returns the string "Hello, world"</div>
	  <div class="content">
	    <pre class="highlight"><code class="language-ruby" data-lang="ruby">def hello
	  "Hello, world"
	end</code></pre>
	  </div>
	</div>

Previously, because we were applying code block styling to the whole
listingblock, the title would be rendered as normal body text, inside
the code block, which did not look good.  With this change, it will
instead be rendered similarly to a Just The Docs rendered example —
the title will appear where the rendered example usually would.

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-09-06 22:15:05 -07:00
Matt Wang
fb5161ff65 Update CHANGELOG.md 2022-09-06 22:11:15 -07:00
Matt Wang
9454cdce68 Update CHANGELOG.md 2022-09-06 11:58:14 -07:00
Jeremy Prevost
84179b0a33 Adds accessible titles to nested page nav toggle (#950)
Adds accessible nav elements for nested pages

Why are these changes being introduced:

* The current links to show/hide the nested pages use a visual only
  svg image with no accessible affordance provided so screenreaders
  will not be able to provide appropriate context for users as to what
  they should expect when clicking these links
* You can see the problem by running a tool like ANDI on the current
  main branch of this repository and then running it again on this
  branch. ANDI shows what a screenreader would read.
* You can also use a tool like Voiceover to hear the importance of what
  this introduces to users that use that technology. Before this change,
  Voiceover would read all of these navigation links as
  "link image just-the-docs" but with this change it will read
  `link image toggle links in <categoryName> category`

Relevant ticket(s):

* This was discussed as part of the larger WCAG compliance ticket
  https://github.com/just-the-docs/just-the-docs/issues/566

How does this address that need:

* This adds an `aria-label` to the link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label

Document any side effects to this change:

It appears it might be prefereable to use `aria-labelledby` whenever
possible, but from what I can tell these links are just the visual cue
of the svg with no other affordance given to users to understand what
they'll do so there is nothing to point `aria-labelledby` at.

An `svg` title was considered, but in reading more about it it seemed
like `aria-label` was more appropriate as it puts the label on the `a`
rather than the `svg` which feels more accurate.

* https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title
* https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-labelledby

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-09-06 11:57:34 -07:00
Matt Wang
c3344441aa Update CHANGELOG.md 2022-09-06 11:48:15 -07:00
Manuel Henke
b95a717662 chore: exclude vendor/ in Jekyll config (#941)
Building the jekyll site on your own in GitHub workflows fails due missing exclude of `vendor` in `_config.yml`. If someone reuses your `_config.yml` he/she will come across some issues.

Reference: https://github.com/jekyll/jekyll/issues/5267#issuecomment-241379902
2022-09-06 11:47:55 -07:00
Matt Wang
47d9c92c3a Update CHANGELOG.md 2022-09-06 11:38:00 -07:00
Olga Matoula
4bdec0bb3a docs: fix broken link (custom footer) (#951) 2022-09-06 11:37:25 -07:00
Peter Mosses
adbc25dec5 Update customization.md
Added a missing `{: .no_toc }`, to avoid a 3rd-level item in the displayed TOC at the top of the page.
2022-08-26 09:36:44 +02:00
Matt Wang
4fbc960548 Update CHANGELOG.md 2022-08-26 00:17:07 -07:00
Robin Pokorny
977349ceb3 Fix table of contents on search docs (#940) 2022-08-26 00:17:00 -07:00
Matt Wang
1d7b9bf35d Update CHANGELOG.md 2022-08-24 10:27:23 -07:00
Matt Wang
c0807be052 Delete script directory (#937)
99% certain we don't use this file;

- [script](https://github.com/just-the-docs/just-the-docs/search?q=script) has no non-`<script>`/doc uses
- [build](https://github.com/just-the-docs/just-the-docs/search?q=build) has no mentions
- we don't need to manually build / package the gem anymore
2022-08-24 10:26:58 -07:00
dependabot[bot]
494716d8fc Bump stylelint from 14.10.0 to 14.11.0 (#936)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.10.0 to 14.11.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.10.0...14.11.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 23:57:04 -07:00
Matt Wang
6934b63860 Update CHANGELOG.md 2022-08-21 16:34:12 -07:00
Matt Wang
011f783fc7 enables mermaid in docs (#935)
Short and sweet PR that addresses the follow-up in #909: enabling `mermaid` on our docs site, but making it clear that users still need to opt-in to use it. I've also added an example in-action.

To test: [see the Netlify deploy](https://deploy-preview-935--just-the-docs.netlify.app/docs/ui-components/code/#mermaid-diagram-code-blocks).
2022-08-21 16:32:27 -07:00
dependabot[bot]
4d790e877b Bump stylelint-config-standard-scss from 3.0.0 to 5.0.0 (#928)
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 3.0.0 to 5.0.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v3.0.0...v5.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard-scss
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-08-13 10:39:12 -07:00
dependabot[bot]
12de167384 Bump stylelint from 14.9.1 to 14.10.0 (#927)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.9.1 to 14.10.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.9.1...14.10.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-12 14:38:53 -07:00
Matt Wang
2cc1a26a0d Update gemspec for release, new metadata (#911)
A couple of changes to prep for v0.4.0-rc1:

- bump the version
- add myself to the authors + email (this is primarily so that Patrick doesn't get siloed as the only maintainer; if you'd like to be added @just-the-docs/maintainers, let me know!)
- adds some more metadata ([gemspec docs](https://guides.rubygems.org/specification-reference/#metadata))
- updated the path to also include the CHANGELOG and favicon in the gem bundle
2022-08-11 19:43:26 -07:00
Matt Wang
ffa4ec1994 Update CHANGELOG.md 2022-08-11 19:41:06 -07:00
Matt Wang
daa86968bb Merge pull request #892 from just-the-docs/v0.4.0-dev
Version 0.4.0.rc1 - release PR
2022-08-11 19:39:57 -07:00
Matt Wang
d364a8152e Update CHANGELOG.md 2022-08-11 19:35:21 -07:00
Matt Wang
e2f1546c61 mermaid: refactor config to use mermaid_config.js include, only require mermaid.version in _config.yml (#909)
This PR has a bit of scope creep! This PR now:

- changes the mermaid opt-in logic to only check for the existence of a `mermaid` key instead of `mermaid != false`: this resolves the follow-up in #857
- changes the behaviour of mermaid configuration
    - instead of using `mermaid_init.html` with default settings, makes the include `mermaid_config.js`
    - the include is loaded directly into the contents of `mermaid_initialize`
    - by default, it is an empty object (i.e. `{}`), triggering the defaults
- updates docs
- adds an example to the markdown kitchen sink  

It does significantly change the interface provided in #857, and I apologize for the confusion. However, given the discussion in this PR, I think it's the best move forward!
2022-08-11 19:34:15 -07:00
Matt Wang
1d15ea3b84 adds small blurb to index on new release 2022-08-07 17:55:32 -07:00
Peter Mosses
d3c73eb525 Add omitted inclusion of #544 to changelog (#913)
See commit 1fd4e4663d
2022-08-07 17:08:39 -07:00
Matt Wang
1bef041a01 Update CHANGELOG.md 2022-08-02 22:32:06 -07:00
Peter Mosses
672c284b6f Fix nav scroll feature (#898)
The nav scroll feature had stopped working (altogether),
due to the change from absolute to relative urls.

This update uses the document location pathname as the `href`.
It appears to work locally.
2022-08-02 22:31:17 -07:00
Peter Mosses
528141d30c Added: Combination PRs (#910)
Enumerate Combination PRs

Some items are already listed separately, and some have no PRs.
2022-08-02 22:24:16 -07:00
Matt Wang
64c909aeb3 Update CHANGELOG.md 2022-08-01 11:14:15 -07:00
Matt Wang
b00867a831 Fixes missing code fence in navigation structure docs (#906)
Closes #899 (or at least, the immediate concern).
2022-08-01 11:13:51 -07:00
Matt Wang
a12f53b1f1 Update CHANGELOG.md 2022-07-31 22:45:27 -07:00
Matt Wang
3ab276ba1e Update CHANGELOG.md with draft release notes 2022-07-31 22:41:26 -07:00
Matt Wang
6a380039a0 Merge branch 'main' into v0.4.0-dev 2022-07-31 22:23:45 -07:00
Peter Mosses
3c14eeef2e Allow links to wrap (#905)
Fix #734.

- Remove `white-space: nowrap;` in `_sass/content.scss`.
- Add an example testing wrapping in`docs/index-test.md`.
2022-07-31 22:14:03 -07:00
Matt Wang
9e725fc746 changelog: new PR link for RC 2022-07-27 20:48:50 -07:00
Eisverygoodletter
b2581c19a6 Fix vertical alignment for consecutive labels (#893)
Fixes a problem where multiple labels right after a heading are vertically misaligned.

Closes #751.
2022-07-25 20:41:31 -07:00
Matt Wang
0a7be65c32 Merge branch 'main' into v0.4.0-dev 2022-07-25 20:40:37 -07:00
Matt Wang
c2ec3d89c2 Update Stylelint to v14, extend SCSS plugins, remove primer-* configs, resolve issues (#821)
This is a catch-all PR that modernizes and updates our Stylelint config, and resolves all open issues. This is a pretty big change - so I want to update all of our related dependencies in lockstep.

In particular, this PR

- [x] updates stylelint to `v14`
- [x] adds in the standard stylelint config for SCSS (`stylelint-config-standard-scss`)
- [x] swaps out `stylelint-config-prettier` for `stylelint-config-prettier-scss`
- [x] ~~properly update `@primer`-related plugins:~~ completely remove `primer` from our configuration
- [x] autofix, manually resolve, or disable all newly-introduced lint errors; **I've avoided manually resolving errors that would be a behavioural change**
- [x] re-runs `npm run format`

See the "next steps" section on some extra thoughts on disabling errors.

(implicitly, I'm also using node 16/the new package-lock format).

### disabling rules and next steps

I've introduced several new disabled rules. Let me quickly explain what's going on; there are two categories of rules I've disabled:

1. rules that were temporary disables; they were frequent enough that I couldn't manually resolve them, but should be simple. **I plan on opening issues to re-enable each of these rules**, just after this PR
    - `declaration-block-no-redundant-longhand-properties`: this is just tedious and error-prone
    - `no-descending-specificity`: this one is tricky since it could have impacts on the cascade (though that seems unlikely)
    - `scss/no-global-function-names`: I think we need to [import map and then use `map.get`](https://stackoverflow.com/questions/64210390/sass-map-get-doesnt-work-map-get-does-what-gives), but I'll leave this as out of scope for now
2. rules that are long-term disables; due to the SASS-based nature of our theme, I think we'll keep these in limbo
    - `alpha-value-notation` causes problems with SASS using the `modern` syntax - literals like `50%` are not properly interpolated, and they cause formatting issues on the site
    - `color-function-notation` also causes problems with SASS, but in this case the `modern` syntax breaks SASS compilation; we're not alone (see this [SO post](https://stackoverflow.com/questions/71805735/error-function-rgb-is-missing-argument-green-in-sass)). 

In addition, we have many inline `stylelint-disable` comments. I'd open a separate issue to audit them, especially since I think some disables are unnecessary.

### on Primer 

**note: there hasn't been much other discussion, so I'm going to remove primer's stylelint config.**

If I do add `@primer/stylelint-config`, I get *a ton* of errors about now using `@primer`'s in-built SCSS variables. I imagine that we probably won't want to use these presets (though I could be wrong). In that case, I think we could either:

1. disable all of those rules
4. not use `@primer/stylelint-config`, since we're not actually using primer, and shift back to the standard SCSS config provided by Stylelint

~~Any thoughts here? I also don't have the original context as to why we do use the primer rules, perhaps @pmarsceill can chime in?~~
2022-07-25 09:18:13 -07:00
Ivan Skodje
f6b22804bc fix: typo in README on _config.yml (#891) 2022-07-23 22:02:20 -07:00
Peter Mosses
a6f0452115 Fix nav disambiguation issues involving grandparents (#890)
- add an extra filter to children-list to fix #854
- strengthen condition for assignment to first_level_url

Tested with Jekyll 3.9.2 and 4.2.2

Note: Jekyll 3.9.2 doesn't support `| where: "grand_parent:  nil"`
2022-07-22 21:56:23 -07:00
Matt Wang
146ab184d8 Merge branch 'main' into v0.4.0 2022-07-22 20:50:24 -07:00
Matt Wang
2049ebc394 consolidate CI files, updates Ruby and Node versions (#820)
This is a PR with three key changes:

1. Consolidate two identical CI files, `ci.yml` and `ci-master.yml` into one file
2. Consolidate two almost-identical jobs (`jekyll-build-*`) into one job with a strategy matrix
3. Update various dependencies/platforms
    * Node: `12.x` -> `16.x` (only in CI); `12.x` has been EOL for a while
    * Ruby: `2.6` -> `2.7`; `2.6` just reached EOL
    * `actions/checkout` -> `v2` -> `v3`
    * switches `jekyll/builder` to `jekyll/jekyll`, since we don't actually use any of the features in `jekyll/builder`

## on our CI philosophy

In working on this, I have a couple of questions:

1. We don't actually use our `Dockerfile` that we provide. Does this make sense? Should we be running CI with this instead?
2. Is there a specific reason that we're using `jekyll/jekyll`? Notably, this isn't an official package, but a community-driven one. Does it match what's used by GitHub Pages?
3. Do we have to use any docker image at all? For example, what if we just rely on the `setup-ruby` action?
    * one advantage of this is that it's much easier for us to test across multiple OS versions; we just need to have a strategy matrix for OS and do windows, macos, ubuntu, etc.
    * another advantage is that we can easily test different ruby versions in conjunction with different jekyll versions

Eventually, I would like to see us test across:

* different Jekyll versions
* different OSes
* different Ruby versions

but perhaps that might be too aggressive. Happy for any feedback on this PR or those questions!
2022-07-22 20:50:12 -07:00
Marianne Lê
cc2110d743 fix: add overflow-wrap: word-break to body (#889) 2022-07-22 20:44:51 -07:00
Marianne Lê
5d4de413c0 adds overflow-x: auto to figure.highlight (#727)
without overflow-x: auto; a very long line of code will overflow the box and look awkward


Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-07-21 11:09:44 -07:00
Matt Wang
ba472b9aef changelog: minor spacing fix 2022-07-19 22:05:56 -07:00
Matt Wang
7422c87605 Create CHANGELOG.md 2022-07-19 22:03:49 -07:00
Matt Wang
38e3ed6881 Merge branch 'main' into v0.4.0 2022-07-13 18:09:06 -07:00
Matt Wang
2e23f7b7ed Adds Netlify badge
partially a commit to start generating Netlify previews on arbitrary branches!
2022-07-13 18:08:53 -07:00
SPGoding
009a0f9c5a Support external navigation links (#876)
Based on #238, resolves #66.
2022-07-12 22:24:54 -07:00
nascosto
6907f06977 Add mermaid support (#857)
Closes #825


Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-07-12 15:16:18 -07:00
Alyssa Ross
3ca57e3b0d Minor style fixes for jekyll-asciidoc (#829)
I have a site whose content is written in AsciiDoc, using the [jekyll-asciidoc][] plugin.

Just the Docs works great, but there are just two minor styling glitches I've noticed:

The first is that Just the Docs' CSS doesn't understand the code block markup jekyll-asciidoc produces.  It's not too different though, so it's very easily fixed.

The second is that jekyll-asciidoc generates `div.sect(𝑛 − 1)` elements around headings of type `h𝑛`, that enclose all the heading and all the content after it until the next heading of greater or equal rank.

This means that headings are _always_ first children in AsciiDoc output, which meant the wrong margins were applied to most headings. To fix this, we need to only reduce the margin of first-child headings nested directly below the .main-content element, and headings nested directly below AsciiDoc `.sect𝑛` elements that are themselves first children.

With these two small changes, my site looks perfect, and the styles look exactly the same as on Just the Docs' own documentation.

[jekyll-asciidoc]: https://github.com/asciidoctor/jekyll-asciidoc
2022-07-12 15:15:05 -07:00
Tyler
764dbb35a9 Document how to use custom_head to add a custom favicon (#814)
Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-07-05 21:44:21 -07:00
Jacob Marshall
7a3c37052f Anchor heading links should be visible on focus (#846)
The anchor heading item is keyboard focusable, but when focused and not hovered, it is not visible. This PR fixes that. Also, great project!
2022-07-04 17:30:32 -07:00
Matt Wang
2bfe85658b Merge branch 'main' into v0.4.0 2022-07-04 17:15:18 -07:00
Nathan Jessen
0ff0a4bbab Create nav_footer_custom (#474)
**Rationale**
I would like to customize the site footer content without needing to override the entire default layout. Ideally, I'd like to shorten the attribution to something like "Built with Just the Docs"

**Implementation**
Create a new `site_footer.html` include that users can override.

**Possible changes**
I debated whether or not the `<footer class="site-footer">` should be in/out of the include. I opted for placing it inside the include so I have the option of disabling the footer entirely by creating an empty site_footer file in my site.

Co-authored-by: Matt Wang <matt@matthewwang.me>
Co-authored-by: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2022-07-04 12:28:39 -07:00
Peter Mosses
ff3771968b Avoid rake command corrupting search data (#495)
Fixes #488.
- Replace `''` by `""` in rake script and resulting search data file.
Tested on macOS Catalina.
2022-07-04 12:28:02 -07:00
John Mertic
6287d8a6da Add 'child_nav_order' front matter to be able to sort navigation pages in reverse (#726)
Set `child_nav_order` to `desc` to reverse the sort order for a child section.

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-07-04 12:27:20 -07:00
Waldir Pimenta
26fad7dd0f docs: Mention caveat about variable dependencies (#555)
Looking at how the variables are defined in _variables.scss, with various dependencies between them aimed at ensuring a consistent color scheme, one might expect that redefining a given variable would affect the remaining styles that depend on it.

This is not the case, however, due to the order in which the files are processed. This PR edits the documentation to mention the non-propagating behavior of redefined variables, to better guide users that wish to customize the site using custom themes, and call their attention to the need to redefine the dependency relations as well.

Co-authored-by: Matt Wang <matt@matthewwang.me>
Co-authored-by: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2022-07-04 12:25:58 -07:00
Matt Wang
c980fd4a64 feat: adds search placeholder configuration (#613)
* implements search placeholder configuration

* changes implementation approach to use search_placeholder_custom

Thanks to @pdmosses for the suggestion!

* strips whitespace and HTML for both placeholder and aria-label
2022-07-04 12:25:21 -07:00
Peter Mosses
312f1bceac Suppress Liquid processing in CSS comments (#686)
Fix #685
- Wrap scss file in comments with `{% raw %}` and `{% endraw %}` tags

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-07-04 12:24:58 -07:00
Peter Mosses
d083aeb3fd Fix nested task lists (#517) (#855)
Fix #517

Users expect nested task lists to have the same indentation as other lists.
Fix the styling in `_sass/content.scss` to do that.
Add examples in `docs/index-test.md` to test.
2022-07-04 12:24:31 -07:00
Henry Schreiner
c68a19b906 docs: fix spacing in toc example (#835)
As is, this is invalid and will not cause the TOC to be rendered. The collapsing example is fine.

Co-authored-by: Matt Wang <matt@matthewwang.me>
Co-authored-by: Peter Mosses <18308236+pdmosses@users.noreply.github.com>
2022-07-04 12:23:47 -07:00
Nathan Jessen
5fd9c3b32c Add docs for custom includes (#806)
These docs outline some of the custom includes that are provided by the theme and can be modified by the user.

Co-authored-by: Matt Wang <matt@matthewwang.me>
Co-authored-by: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2022-07-04 12:22:47 -07:00
Peter Mosses
1ecc3d08e0 Show how to break an ol (#856)
* Show how to break an ol

Close #750

The theme uses CSS counters for ordered lists.
So to continue the numbering of an ordered list after a break,
use `style="counter-reset:none"` instead of `start="42"`.
Add the example from #750 to `docs/index-test.md` to test.

* Show how to start from 42

Close #750

The theme uses CSS counters for ordered lists.
To start the numbering of an ordered list with 42,
use `{:style="counter-reset:step-counter 41"}` instead of `start="42"`.

Add the example from #750 to `docs/index-test.md` to test.
2022-07-04 19:20:17 +00:00
Peter Mosses
70b34f01f7 Combination (#578)
This PR combines (and resolves conflicts between) #448, #463, #466, #494, #495, #496, #498, and #572. 

The main aim is to facilitate use of several of the implemented features _together_, when using the fork as a remote theme. It should also simplify merging the included PRs into a future release.

The branch [combination-rec-nav](https://github.com/pdmosses/just-the-docs/tree/combination-rec-nav) adds [multi-level navigation](https://github.com/pmarsceill/just-the-docs/pull/462) and (NEW:) [sibling links](https://github.com/pmarsceill/just-the-docs/pull/394) to the branch used for this PR. It includes updated [documentation for the navigation structure](https://pdmosses.github.io/just-the-docs/docs/navigation-structure/), and reorganised and extended [navigation tests](https://pdmosses.github.io/just-the-docs/tests/navigation/). The documentation and the tests can be browsed at the (temporary) [website published from the combination-rec-nav branch](https://pdmosses.github.io/just-the-docs/).

_Caveat:_ The changes to v0.3.3 in this PR and #462 have not yet been reviewed or approved, and may need updating before merging into a release of the theme. If you use a branch from a PR as a remote theme, there is a risk of such updates affecting your website. Moreover, these branches are likely to be deleted after they have been merged. To avoid  such problems, you could copy the branch that you want to use to your own fork of the theme.

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-07-04 12:15:10 -07:00
dependabot[bot]
10388ed8b0 Bump prettier from 2.6.2 to 2.7.1 (#864)
Bumps [prettier](https://github.com/prettier/prettier) from 2.6.2 to 2.7.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.6.2...2.7.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-22 16:06:38 -07:00
Matt Wang
a45b328c7a adds 'This site is powered by Netlify.' (#797)
This PR adds a small link back to Netlify in the footer (specifically, in the user-editable config); this is a necessary prerequisite for the [Netlify OSS Plan](https://www.netlify.com/legal/open-source-policy). 

See: https://github.com/orgs/just-the-docs/teams/maintainers/discussions/1/comments/18.
2022-06-16 02:51:59 +00:00
Matt Wang
2b4f399336 Merge branch 'main' into v0.4.0 2022-04-18 10:53:20 -07:00
dependabot[bot]
3a834d24ab Bump prettier from 2.5.1 to 2.6.2 (#809)
Bumps [prettier](https://github.com/prettier/prettier) from 2.5.1 to 2.6.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.5.1...2.6.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 09:50:23 -07:00
Matt Wang
6afa220a39 adds webrick to Gemfile (#799)
This is one solution for #798, namely that `webrick` is needed as an explicit dependency for Ruby 3+.

Closes #798.
2022-04-18 08:28:57 -07:00
Patrick Marsceill
e892a261fb Merge pull request #790 from just-the-docs/update-coc
updates Code of Conduct to Contributor Covenant v2.1
2022-03-10 15:55:27 -05:00
Matt Wang
68b7c8a534 updates code of conduct to Contributor Covenant v2.1
See - https://www.contributor-covenant.org/version/2/1/code_of_conduct/
2022-03-09 11:20:36 -08:00
Peter Mosses
aac87fad27 Set color for search input (#498)
* Set color for search input

Fix #497
- Insert `color: $body-text-color;` in styling for `search-input`.

* Update search.scss

Prettier
2022-03-09 10:36:21 -08:00
Michelle Blanchette
260d98d825 remove extra spaces (#554)
Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-03-09 10:36:09 -08:00
Waldir Pimenta
4e0e3ab3d8 Clarify label of link to Jekyll quickstart (#549)
Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-03-09 10:35:57 -08:00
Nathan Jessen
9fe92419da Fix typo (#473)
Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-03-09 10:35:42 -08:00
Sehi L'Yi
e513fd6fdb Fix typo (#499)
Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-03-09 10:35:12 -08:00
dependabot[bot]
a14f32ceed Bump prettier from 2.1.2 to 2.5.1 (#787)
Bumps [prettier](https://github.com/prettier/prettier) from 2.1.2 to 2.5.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.1.2...2.5.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-09 17:35:25 +00:00
Patrick Marsceill
e2150256f2 Merge branch 'main' into v0.4.0 2022-03-09 12:09:56 -05:00
Patrick Marsceill
b0ed390a9f Merge pull request #783 from just-the-docs/flo-devcontainer
Add VScode devcontainer
2022-03-09 12:04:41 -05:00
max06
00d3b4fe5a Add github extension 2022-03-09 18:00:08 +01:00
max06
45120c8742 Add info about the devcontainer to the readme 2022-03-09 18:00:08 +01:00
max06
2136b55a52 Add standard jekyll devcontainer 2022-03-09 18:00:08 +01:00
Patrick Marsceill
25de2c03a3 Merge pull request #627 from just-the-docs/dependabot/add-v2-config-file
Upgrade to GitHub-native Dependabot
2022-03-09 11:56:07 -05:00
Patrick Marsceill
c589be462e Merge branch 'main' into dependabot/add-v2-config-file 2022-03-09 11:51:46 -05:00
Patrick Marsceill
4dfe5273f2 Merge branch 'main' into v0.4.0 2022-03-09 11:48:25 -05:00
dependabot[bot]
351a0b7ff4 Bump ajv from 6.10.0 to 6.12.6 (#766)
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.10.0 to 6.12.6.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.10.0...v6.12.6)

---
updated-dependencies:
- dependency-name: ajv
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 09:48:40 +00:00
dependabot[bot]
e8ba44167c Bump path-parse from 1.0.6 to 1.0.7 (#699)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 09:42:57 +00:00
dependabot-preview[bot]
444512c06a [Security] Bump ini from 1.3.5 to 1.3.8 (#511)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. **This update includes a security fix.**
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2022-03-08 09:36:15 +00:00
dependabot-preview[bot]
ac91b2dd1c [Security] Bump lodash from 4.17.19 to 4.17.21 (#640)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Patrick Marsceill <pmarsceill@users.noreply.github.com>
Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-03-08 09:29:06 +00:00
Patrick Marsceill
89fb42dc66 Merge pull request #641 from just-the-docs/dependabot/npm_and_yarn/hosted-git-info-2.8.9
[Security] Bump hosted-git-info from 2.7.1 to 2.8.9
2022-03-08 04:20:11 -05:00
Matt Wang
9fa3a0fc5f Merge branch 'main' into dependabot/npm_and_yarn/hosted-git-info-2.8.9 2022-03-08 01:15:41 -08:00
Matt Wang
577b9c5862 Merge branch 'main' into dependabot/add-v2-config-file 2022-03-07 17:34:52 -08:00
Doug Aitken
0f3d0e8285 Merge pull request #782 from dougaitken/dougaitken-fix-images
Fix images in Markdown kitchen sink
2022-03-06 12:48:57 +00:00
Doug Aitken
37e90d2676 change small-image
Changed small-image to match large image and fix reference
2022-03-06 12:20:58 +00:00
Doug Aitken
655335d552 Rename large file and fix reference
Renaming the large image and changed the index test references to display these images
2022-03-06 12:04:39 +00:00
Doug Aitken
ee47119f31 Adding large image for index text
Remote image here is not loading - https://just-the-docs.github.io/just-the-docs/docs/index-test/#large-image

via https://www.flickr.com/photos/97810305@N08/9401451269
2022-03-06 11:53:01 +00:00
Patrick Marsceill
4dedfe0b50 Merge pull request #606 from just-the-docs/dependabot/npm_and_yarn/y18n-3.2.2
[Security] Bump y18n from 3.2.1 to 3.2.2
2022-03-04 13:40:16 -05:00
Patrick Marsceill
7e111fa8c2 Merge branch 'main' into dependabot/npm_and_yarn/hosted-git-info-2.8.9 2022-03-04 13:37:02 -05:00
Patrick Marsceill
1032a0aae3 Merge branch 'main' into dependabot/npm_and_yarn/y18n-3.2.2 2022-03-04 13:35:09 -05:00
Patrick Marsceill
3eb4ceb59a Merge pull request #221 from JeffGuKang/JeffGuKang-patch-1
Fix image link not working
2022-03-03 15:46:32 -05:00
Patrick Marsceill
0519013521 Merge branch 'v0.4.0' into JeffGuKang-patch-1 2022-03-03 15:39:57 -05:00
Patrick Marsceill
aae3d0309f Merge branch 'main' into JeffGuKang-patch-1 2022-03-03 15:39:00 -05:00
Patrick Marsceill
6f8ae3e97e Merge pull request #364 from burner1024/custom-favicon
allow custom favicon code
2022-03-03 15:36:32 -05:00
Patrick Marsceill
7f354d47a3 Merge branch 'main' into custom-favicon 2022-03-03 15:30:02 -05:00
Patrick Marsceill
f8331f1c26 Merge pull request #519 from alexsegura/fix-collections-dir
Prepend site.collections_dir if any.
2022-03-03 15:27:04 -05:00
Patrick Marsceill
25aa612617 Merge pull request #778 from just-the-docs/fix-toc-on-index
Fix ol on index
2022-03-03 15:23:39 -05:00
Patrick Marsceill
2692e6714c Merge branch 'main' into fix-collections-dir 2022-03-03 15:22:17 -05:00
Patrick Marsceill
bc4a91c61a Fix ol on index 2022-03-03 19:56:19 +00:00
Patrick Marsceill
fbf125d525 Merge pull request #777 from just-the-docs/readme-update
Update readme
2022-03-03 14:52:21 -05:00
Patrick Marsceill
265e88ed7a Update readme 2022-03-03 19:45:05 +00:00
Patrick Marsceill
501c007da1 Merge pull request #776 from just-the-docs/default-branch-refs
rename master -> main
2022-03-03 14:38:00 -05:00
Patrick Marsceill
79f30a22bc fix prettier bugs, remove prettier from MD formatting 2022-03-03 19:32:25 +00:00
Patrick Marsceill
13298d20c0 rename master -> main 2022-03-03 19:05:50 +00:00
Patrick Marsceill
7631aaa309 Merge pull request #775 from just-the-docs/update-repo-ref
Update to new repo path
2022-03-03 14:03:28 -05:00
Patrick Marsceill
fac7af13c1 update bundler 2022-03-03 18:54:58 +00:00
Patrick Marsceill
2aa9815064 Update to new repo path 2022-03-03 18:50:33 +00:00
dependabot-preview[bot]
978846f704 [Security] Bump hosted-git-info from 2.7.1 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.7.1 to 2.8.9. **This update includes a security fix.**
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.7.1...v2.8.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-05-07 17:46:01 +00:00
dependabot-preview[bot]
c2f78516b4 Upgrade to GitHub-native Dependabot 2021-04-22 22:47:23 +00:00
dependabot-preview[bot]
04ae951436 [Security] Bump y18n from 3.2.1 to 3.2.2
Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2. **This update includes a security fix.**
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-29 17:22:10 +00:00
Alexandre Segura
404059ab03 Prepend site.collections_dir if any. 2020-12-22 08:54:21 +01:00
Patrick Marsceill
e842498637 Update publish-gem.yml 2020-10-14 13:23:05 -04:00
Patrick Marsceill
7f5ebee9b8 Delete publish.yml 2020-10-14 13:22:34 -04:00
Patrick Marsceill
cb7df09c8f Update package.json 2020-10-14 13:21:02 -04:00
Patrick Marsceill
8bc53f8f45 Bump gem spec 2020-10-14 13:20:46 -04:00
Patrick Marsceill
4ab61105b9 Create publish-gem.yml 2020-10-14 13:17:51 -04:00
Ilya Ivanov
9d4a0a56b7 resolve favicon conflict 2020-10-13 05:31:37 +07:00
Ilya Ivanov
9e52e712ae allow custom favicon code 2020-10-13 05:29:25 +07:00
Jeff Gu Kang
3726697fab Merge branch 'master' into JeffGuKang-patch-1 2020-09-10 13:24:34 +09:00
Ilya Ivanov
d24b06ad73 allow custom favicon code 2020-06-30 00:12:21 +07:00
Jeff Gu Kang
06e61cb2bb Fix image link not working 2019-09-17 10:55:59 +09:00
151 changed files with 6239 additions and 7530 deletions

14
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,14 @@
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): bullseye, buster
ARG VARIANT=bullseye
FROM mcr.microsoft.com/vscode/devcontainers/jekyll:0-${VARIANT}
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
ARG NODE_VERSION="none"
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1

View File

@@ -0,0 +1,26 @@
# [Choice] Debian OS version (use 2.7-bullseye on local arm64/Apple Silicon): 2.7-bullseye, 2.7-buster
ARG VARIANT=2.7-bullseye
FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
COPY library-scripts/meta.env /usr/local/etc/vscode-dev-containers
# ENV Variables required by Jekyll
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
TZ=Etc/UTC \
LC_ALL=en_US.UTF-8 \
LANG=en_US.UTF-8 \
LANGUAGE=en_US
# Install bundler, latest jekyll, and github-pages for older jekyll
RUN gem install bundler jekyll github-pages
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
ARG NODE_VERSION="none"
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1

View File

@@ -0,0 +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/*"
}
},
// 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"],
// 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",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}

View File

@@ -0,0 +1,12 @@
#!/bin/sh
# Install the version of Bundler.
if [ -f Gemfile.lock ] && grep "BUNDLED WITH" Gemfile.lock > /dev/null; then
cat Gemfile.lock | tail -n 2 | grep -C2 "BUNDLED WITH" | tail -n 1 | xargs gem install bundler -v
fi
# If there's a Gemfile, then run `bundle install`
# It's assumed that the Gemfile will install Jekyll too
if [ -f Gemfile ]; then
bundle install
fi

View File

@@ -1,5 +1,5 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: Ask a question - name: Ask a question
url: https://github.com/pmarsceill/just-the-docs/discussions url: https://github.com/just-the-docs/just-the-docs/discussions
about: Ask questions and discuss with other community members about: Ask questions and discuss with other community members

14
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
time: "10:00"
open-pull-requests-limit: 10
- package-ecosystem: bundler
directory: "/"
schedule:
interval: daily
time: "10:00"
open-pull-requests-limit: 10

View File

@@ -1,33 +1,33 @@
references: references:
- v+ - v+
- master - main
name-template: 'v$RESOLVED_VERSION 🌈' name-template: "v$RESOLVED_VERSION 🌈"
tag-template: 'v$RESOLVED_VERSION' tag-template: "v$RESOLVED_VERSION"
categories: categories:
- title: '🚀 Features' - title: "🚀 Features"
labels: labels:
- 'feature' - "feature"
- 'enhancement' - "enhancement"
- title: '🐛 Bug Fixes' - title: "🐛 Bug Fixes"
labels: labels:
- 'fix' - "fix"
- 'bugfix' - "bugfix"
- 'bug' - "bug"
- title: '🧰 Maintenance' - title: "🧰 Maintenance"
label: label:
- 'chore' - "chore"
- 'dependencies' - "dependencies"
change-template: '- $TITLE @$AUTHOR (#$NUMBER)' change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
version-resolver: version-resolver:
major: major:
labels: labels:
- 'next-major-release' - "next-major-release"
minor: minor:
labels: labels:
- 'next-minor-release' - "next-minor-release"
patch: patch:
labels: labels:
- 'patch' - "patch"
default: minor default: minor
template: | template: |
## Changes ## Changes

View File

@@ -1,45 +0,0 @@
on:
push:
branches:
- master
name: Master branch CI
jobs:
jekyll-latest:
name: Build Jekyll site (latest)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Build the site in the jekyll/builder container
run: |
docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:latest /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
jekyll-3-8-5:
name: Build Jekyll site (v3.8.5)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Build the site in the jekyll/builder container
run: |
docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:3.8.5 /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
assets:
name: Format and test CSS and JS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: '12.x'
- run: npm install
- run: npm test

View File

@@ -1,44 +1,42 @@
on: [pull_request] on:
push:
branches:
- main
pull_request:
branches:
- main
- 'v**'
name: CI name: CI
jobs: jobs:
jekyll-build:
jekyll-latest: name: Build Jekyll site
name: Build Jekyll site (latest)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
jekyll-version: [3.8.5, latest]
steps: steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2 - name: Build the site in the jekyll/jekyll container
- name: Build the site in the jekyll/builder container
run: | run: |
docker run --rm \ docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \ --volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:latest /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init" jekyll/jekyll:${{ matrix.jekyll-version }} /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
jekyll-3-8-5:
name: Build Jekyll site (v3.8.5)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the site in the jekyll/builder container
run: |
docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:3.8.5 /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
assets: assets:
name: Test CSS and JS name: Test CSS and JS
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Use Node.js 12.x - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1 uses: actions/setup-node@v1
with: with:
node-version: '12.x' node-version: ${{ matrix.node-version }}
- run: npm install - run: npm install
- run: npm test - run: npm test

View File

@@ -1,30 +1,31 @@
name: Publish Gem name: Publish Ruby Gem
on: [release] on:
workflow_dispatch
jobs: jobs:
build: build:
name: Build + Publish name: Publish
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@master - uses: actions/checkout@v2
- name: Set up Ruby 2.6 - name: Set up Ruby 2.6
uses: actions/setup-ruby@v1 uses: actions/setup-ruby@v1
with: with:
version: 2.6.x ruby-version: 2.6.x
- name: Publish to GPR - name: Publish to GPR
run: | run: |
mkdir -p $HOME/.gem mkdir -p $HOME/.gem
touch $HOME/.gem/credentials touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials chmod 0600 $HOME/.gem/credentials
printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build just-the-docs.gemspec gem build *.gemspec
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
env: env:
GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}} GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
OWNER: pmarsceill OWNER: ${{ github.repository_owner }}
- name: Publish to RubyGems - name: Publish to RubyGems
run: | run: |
@@ -32,8 +33,7 @@ jobs:
touch $HOME/.gem/credentials touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build just-the-docs.gemspec gem build *.gemspec
gem push *.gem gem push *.gem
env: env:
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}} GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"

View File

@@ -7,3 +7,4 @@ assets/css/just-the-docs-dark.scss
assets/js/vendor/lunr.min.js assets/js/vendor/lunr.min.js
assets/js/search-data.json assets/js/search-data.json
assets/js/just-the-docs.js assets/js/just-the-docs.js
*.md

View File

@@ -5,4 +5,3 @@
"tabWidth": 2, "tabWidth": 2,
"trailingComma": "es5" "trailingComma": "es5"
} }

View File

@@ -5,9 +5,17 @@
"assets/css/just-the-docs-dark.scss", "assets/css/just-the-docs-dark.scss",
"_sass/vendor/**/*.scss" "_sass/vendor/**/*.scss"
], ],
"extends": ["stylelint-config-primer", "stylelint-config-prettier"], "extends": [
"stylelint-config-standard-scss",
"stylelint-config-prettier-scss"
],
"plugins": ["stylelint-prettier"], "plugins": ["stylelint-prettier"],
"rules": { "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
} }
} }

26
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +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
}
}
]
}

View File

@@ -8,4 +8,4 @@ search_exclude: true
<h1>Page not found</h1> <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>

769
CHANGELOG.md Normal file
View File

@@ -0,0 +1,769 @@
---
title: CHANGELOG
layout: default
---
# CHANGELOG
All notable changes to this project are documented in this file.
{: .highlight }
The project underwent a major maintenance shift in March 2022.
## HEAD
{: .note }
This website is built from the `HEAD` of the `main` branch of the theme repository.
{: .warning }
This website includes docs for some new features that are not available in `v0.4.0.rc2` and `v0.3.3`!
Changes to `main` that are *not* in the latest pre-release:
- N/A
## Pre-release v0.4.0.rc3
Hi there! This is (actually) hopefully the last prerelease before `v0.4.0`; in particular, if we find that this prerelease is stable, we'll re-release it as `v0.4.0`.
In general, this is a more mature pre-release; there are few new features. However, we'll highlight [@pdmosses]'s work in [#992] to better optimize nav generation for large sites (ex 100+ pages). We don't expect this to affect most users; however, **it is technically a breaking change**, and we suggest testing your site before upgrading to this prerelease.
We want your feedback! Please [open an issue](https://github.com/just-the-docs/just-the-docs/issues) or [start a discussion](https://github.com/just-the-docs/just-the-docs/discussions) and let us know!
As soon as we get stable test results from major downstream users, we'll push out a `v0.4.0` ASAP - closing out almost 2 years of backlogged work!
### Trying out pre-release `v0.4.0.rc3`
Simlar to the prior release, `v0.4.0.rc3` is a **release candidate** for the theme (i.e., a pre-release) with release `v0.4.0` coming soon. We want your help in testing the changes! As of now, the gem on RubyGems and the repository are updated to `v0.4.0.rc3`.
To use this RC explicitly as a remote theme:
```yml
remote_theme: just-the-docs/just-the-docs@v0.4.0.rc3
```
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
gem "just-the-docs", "0.4.0.rc3"
```
By default, **users will not be upgraded to `0.4.0.rc3`**. To enforce that explicitly, either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
```yml
remote_theme: just-the-docs/just-the-docs@v0.3.3
```
### Features
Broadly, this prerelease is feature-light!
- Added: styling for `<blockquote>` by [@mattxwang] in [#965]
- Added: custom include for TOC heading by [@pdmosses] in [#980]
### Bugfixes and Experimental Features
*Note*: experimental nav optimization may be unstable. Please give us feedback!
- Added: experimental nav optimization for simple cases by [@pdmosses] in [#992]
- Fixed: spacing issue when search is disabled by [@henryiii] in [#960]
- Fixed: active grandchild link class by [@pdmosses] in [#962]
- Fixed: HTML validation issues (W3C validator) by [@mattxwang] in [#964]
- Fixed: link styling now uses `text-decoration` values by [@mattxwang] in [#967]
- Fixed: cleaning up Jekyll excludes by [@pdmosses] in [#985]
- Fixed: docs, narrow styling for code highlighting with line numbers by [@pdmosses] in [#974]
- Fixed: default syntax highlighting in custom color schemes [@pdmosses] in [#986]
[#965]: https://github.com/just-the-docs/just-the-docs/pull/965
[#960]: https://github.com/just-the-docs/just-the-docs/pull/960
[#962]: https://github.com/just-the-docs/just-the-docs/pull/962
[#964]: https://github.com/just-the-docs/just-the-docs/pull/964
[#967]: https://github.com/just-the-docs/just-the-docs/pull/967
[#974]: https://github.com/just-the-docs/just-the-docs/pull/974
[#980]: https://github.com/just-the-docs/just-the-docs/pull/980
[#985]: https://github.com/just-the-docs/just-the-docs/pull/985
[#986]: https://github.com/just-the-docs/just-the-docs/pull/986
[#992]: https://github.com/just-the-docs/just-the-docs/pull/992
[@henryiii]: https://github.com/henryiii
**Full Changelog**: https://github.com/just-the-docs/just-the-docs/compare/v0.4.0.rc2...v0.4.0.rc3
## Pre-release v0.4.0.rc2
{: .warning }
This website includes docs for some new features that are not available in `v0.4.0.rc1` and `v0.3.3`!
Hey there! This is likely the last pre-release before releasing `v0.4.0`, which we plan on doing soon (i.e. before the end of the month) - very exciting! Some new additions to highlight:
- significant improvement on build time of navigation panel by [@pdmosses]
- this is big: for a community member with over 300 pages, we shortened the build time from 3 minutes to 30 seconds!
- improved accessibility features led by [@JPrevost]
- more docs!
The intention of this release candidate is to gather even more feedback on a potential `v0.4.0`. As it stands, we have not encountered any breaking changes with early adopters of `v0.4.0.rc1`. If you encounter any - for either of our pre-releases - please let us know!
### Trying out pre-release `v0.4.0.rc2`
Simlar to the prior release, `v0.4.0.rc2` is a **release candidate** for the theme (i.e., a pre-release) with release `v0.4.0` coming soon. We want your help in testing the changes! As of now, the gem on RubyGems and the repository are updated to `v0.4.0.rc2`.
To use this RC explicitly as a remote theme:
```yml
remote_theme: just-the-docs/just-the-docs@v0.4.0.rc2
```
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
gem "just-the-docs", "0.4.0.rc2"
```
By default, **users will not be upgraded to `0.4.0.rc2`**. To enforce that explicitly, either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
```yml
remote_theme: just-the-docs/just-the-docs@v0.3.3
```
### Features
- Added: accessible titles to nested page nav toggle by [@JPrevost] in [#950]
- Added: better title styling for AsciiDoc examples by [@alyssais] in [#944]
- Added: docs for custom search placeholder by [@mattxwang] in [#939]
- Added: provide ability to skip to main content by [@JPrevost] in [#949]
- Fixed: exclude `vendor/` in Jekyll config by [@manuelhenke] in [#941]
- Fixed: improve build time of navigation panel by [@pdmosses] in [#956]
[#950]: https://github.com/just-the-docs/just-the-docs/pull/950
[#944]: https://github.com/just-the-docs/just-the-docs/pull/944
[#939]: https://github.com/just-the-docs/just-the-docs/pull/939
[#949]: https://github.com/just-the-docs/just-the-docs/pull/949
[#941]: https://github.com/just-the-docs/just-the-docs/pull/941
[#956]: https://github.com/just-the-docs/just-the-docs/pull/956
[@alyssais]: https://github.com/alyssais
### Documentation and Maintenance
- Added: docs load mermaid.js by default by [@mattxwang] in [#935]
- Fixed: table of contents on search docs by [@robinpokorny] in [#940]
- Fixed: broken docs link (custom footer) by [@olgarithms] in [#951]
- Fixed: clarify version docs by [@pdmosses] in [#955]
- Deleted: unused script directory by [@mattxwang] in [#937]
[#935]: https://github.com/just-the-docs/just-the-docs/pull/935
[#940]: https://github.com/just-the-docs/just-the-docs/pull/940
[#951]: https://github.com/just-the-docs/just-the-docs/pull/951
[#955]: https://github.com/just-the-docs/just-the-docs/pull/955
[#937]: https://github.com/just-the-docs/just-the-docs/pull/937
### New Contributors
* [@robinpokorny] made their first contribution in [#940]
* [@olgarithms] made their first contribution in [#951]
* [@manuelhenke] made their first contribution in [#941]
* [@JPrevost] made their first contribution in [#950]
[@robinpokorny]: https://github.com/robinpokorny
[@olgarithms]: https://github.com/olgarithms
[@manuelhenke]: https://github.com/manuelhenke
[@JPrevost]: https://github.com/JPrevost
## Pre-release v0.4.0.rc1
### We're back!
Hi all! The Just the Docs team is excited to have our first pre-release in over two years! It is jam-packed with features and bugfixes that have been requested by the community since 2020. They include:
- The new callouts component
- Allowing pages and collections to coexist on the navigation pane
- New styling: dark syntax highlighting, support for jekyll-asciidoc, word-wrapping instead of overflow for various elements
- More customization: external nav links, custom nav footers, favicon includes, search color and placeholder configuration, mermaid.js support, and nav sorting
- Over 20 bugfixes! Big ones include fixing the `rake` command, using `relative_url`, and search input color
- More documentation, especially on using custom includes
- Updating core dependencies to stable Ruby versions
- A WIP [template repository](https://github.com/just-the-docs/just-the-docs-template) that allows you to setup your own repository using Just the Docs and GitHub Pages with one click - give it a shot! More documentation, etc. is on the way!
We want your feedback! Are these changes helpful? Are our docs easy to understand? Should new features like `mermaid` be opt-in or opt-out? Please [open an issue](https://github.com/just-the-docs/just-the-docs/issues) or [start a discussion](https://github.com/just-the-docs/just-the-docs/discussions) and let us know!
### Trying out pre-release `v0.4.0.rc1`
Due to the massive scope of these changes, we're making `v0.4.0.rc1` avaialble as a **release candidate** for the theme (i.e., a pre-release) with release `v0.4.0` coming soon. We want your help in testing the changes! As of now, the gem on RubyGems and the repository are updated to `v0.4.0.rc1`.
To use this RC explicitly as a remote theme:
```yml
remote_theme: just-the-docs/just-the-docs@v0.4.0.rc1
```
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
gem "just-the-docs", "0.4.0.rc1"
```
### Staying on `v0.3.3`
If you're not ready to make the switch, that's alright! If your version of just-the-docs is pinned to `v0.3.3` (i.e. by a `Gemfile.lock` or in `remote_theme`, then there's nothing you need to do.
If you have not pinned your theme version, you should either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
```yml
remote_theme: just-the-docs/just-the-docs@v0.3.3
```
{: .warning }
Use of branches for closed PRs (e.g., [#466], [#578]) is now deprecated, as those branches have been (directly or indirectly) merged, and they may be deleted after the pre-release of `v0.4.0.rc1`.
### Maintenance
Internally, our maintainer team has expanded: [Patrick Marsceill][@pmarsceill], the original maintainer, has stepped down from an active role after almost 4 years! We're very thankful for the work that he's done to create and maintain one of the most popular Jekyll themes. Please join us in giving him thanks!
The new core team currently consists of [@mattxwang], [@pdmosses], [@skullface], [@dougaitken], and [@max06]. Over the past six months, we've been triaging and merging in PRs, as well as contributing our own fixes. We'll continue to address open issues, merge in PRs from the community, and plan out the future of Just the Docs. If you'd like to contribute, now is a great time!
[@mattxwang]: https://github.com/mattxwang
[@pdmosses]: https://github.com/pdmosses
[@skullface]: https://github.com/skullface
[@dougaitken]: https://github.com/dougaitken
[@max06]: https://github.com/max06
### Roadmap
In the short-term, we're committed to tidying up everything for a `v0.4.0` release. This involves fixing bugs reported from the community in this pre-release, as well as continually merging in minor PRs.
We're also scoping out medium and long-term projects, and want to keep you in the loop. These include:
- upgrading to Jekyll 4, and stopping support for Jekyll 3
- versioned docs - issue [#728]
- improved accessibility - issues [#566], [#870]
- internationalization (i18n) - issue [#59]
- recursive/multi-level navigation - PR [#462]
- toggleable dark mode - issue [#234]
as well as DX improvements like better regression tests, CI, and tooling. If you're interested in any of these, please join us [on GitHub](https://github.com/just-the-docs/just-the-docs) - any contribution (raising an issue, writing docs, or submitting a PR) is welcome!
[#728]: https://github.com/just-the-docs/just-the-docs/issues/728
[#566]: https://github.com/just-the-docs/just-the-docs/issues/566
[#870]: https://github.com/just-the-docs/just-the-docs/issues/870
[#59]: https://github.com/just-the-docs/just-the-docs/issues/59
[#462]: https://github.com/just-the-docs/just-the-docs/pull/462
[#234]: https://github.com/just-the-docs/just-the-docs/issues/234
### Features
* Added: Combination by [@pdmosses] in [#578]
- Added: dark highlighting in [#463]
- Added: pages and collections in [#448]
- Added: callouts in [#466]
- Fixed: breadcrumb behaviour … by [@AdityaTiwari2102] in [#477]
- Fixed: prevent rake command corrupting search data in [#495] (also listed below)
- Fixed: nested lists in [#496]
- Fixed: set color for search input in [#498] (also listed below)
- Fixed: sites with no child pages (no PR)
- Fixed: TOC/breadcrumbs for multiple collections in [#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 [#639]
- Fixed: Replace all uses of `absolute_url` by `relative_url`, by [@svrooij] in [#544]
* Added: custom favicon `_includes` by [@burner1024] in [#364]
* Added: set color for search input by [@pdmosses] in [#498]
* Added: search placeholder configuration by [@mattxwang] in [#613]
* Added: 'child_nav_order' front matter to be able to sort navigation pages in reverse by [@jmertic] in [#726]
* Added: `nav_footer_custom` include by [@nathanjessen] in [#474]
* Added: style fixes for jekyll-asciidoc by [@alyssais] in [#829]
* Added: mermaid.js support by [@nascosto] in [#857]
* Added: support for external navigation links by [@SPGoding] in [#876]
* Added: refactor `mermaid` config to use `mermaid_config.js` include, only require `mermaid.version` in `_config.yml` by [@mattxwang] in [#909]
* Fixed: prepend `site.collections_dir` if exists by [@alexsegura] in [#519]
* Fixed: nested task lists (#517) by [@pdmosses] in [#855]
* Fixed: suppress Liquid processing in CSS comments by [@pdmosses] in [#686]
* Fixed: prevent rake command from corrupting search data by [@pdmosses] in [#495]
* Fixed: anchor heading links should be visible on focus by [@jacobhq] in [#846]
* Fixed: add `overflow-x: auto` to `figure.highlight` by [@iridazzle] in [#727]
* Fixed: add `overflow-wrap: word-break` to `body` by [@iridazzle] in [#889]
* Fixed: vertical alignment for consecutive labels by [@Eisverygoodletter] in [#893]
* Fixed: allow links to wrap by [@pdmosses] in [#905]
* Fixed: nav scroll feature and absolute/relative URLs by [@pdmosses] in [#898]
[#578]: https://github.com/just-the-docs/just-the-docs/pull/578
[#463]: https://github.com/just-the-docs/just-the-docs/pull/463
[#448]: https://github.com/just-the-docs/just-the-docs/pull/448
[#466]: https://github.com/just-the-docs/just-the-docs/pull/466
[#477]: https://github.com/just-the-docs/just-the-docs/pull/477
[#495]: https://github.com/just-the-docs/just-the-docs/pull/495
[#496]: https://github.com/just-the-docs/just-the-docs/pull/496
[#498]: https://github.com/just-the-docs/just-the-docs/pull/498
[#494]: https://github.com/just-the-docs/just-the-docs/pull/494
[#639]: https://github.com/just-the-docs/just-the-docs/pull/639
[#544]: https://github.com/just-the-docs/just-the-docs/pull/544
[#364]: https://github.com/just-the-docs/just-the-docs/pull/364
[#498]: https://github.com/just-the-docs/just-the-docs/pull/498
[#613]: https://github.com/just-the-docs/just-the-docs/pull/613
[#726]: https://github.com/just-the-docs/just-the-docs/pull/726
[#474]: https://github.com/just-the-docs/just-the-docs/pull/474
[#829]: https://github.com/just-the-docs/just-the-docs/pull/829
[#857]: https://github.com/just-the-docs/just-the-docs/pull/857
[#876]: https://github.com/just-the-docs/just-the-docs/pull/876
[#909]: https://github.com/just-the-docs/just-the-docs/pull/909
[#519]: https://github.com/just-the-docs/just-the-docs/pull/519
[#855]: https://github.com/just-the-docs/just-the-docs/pull/855
[#686]: https://github.com/just-the-docs/just-the-docs/pull/686
[#495]: https://github.com/just-the-docs/just-the-docs/pull/495
[#846]: https://github.com/just-the-docs/just-the-docs/pull/846
[#727]: https://github.com/just-the-docs/just-the-docs/pull/727
[#889]: https://github.com/just-the-docs/just-the-docs/pull/889
[#893]: https://github.com/just-the-docs/just-the-docs/pull/893
[#905]: https://github.com/just-the-docs/just-the-docs/pull/905
[#898]: https://github.com/just-the-docs/just-the-docs/pull/898
### Documentation
* Added: docs on how to break an `ol` by [@pdmosses] in [#856]
* Added: docs for custom includes by [@nathanjessen] in [#806]
* Added: document caveat about variable dependencies by [@waldyrious] in [#555]
* Added: docs on how to use `custom_head` to add a custom favicon by [@UnclassedPenguin] in [#814]
* Fixed: `ol` on `index.md` by [@pmarsceill] in [#778]
* Fixed: image link in Markdown kitchen sink by [@JeffGuKang] in [#221]
* Fixed: images in Markdown kitchen sink by [@dougaitken] in [#782]
* Fixed: clearer label of link to Jekyll quickstart by [@waldyrious] in [#549]
* Fixed: remove extra spaces in component docs by [@MichelleBlanchette] in [#554]
* Fixed: double "your" typo in `index.md` by [@sehilyi] in [#499]
* Fixed: "you" -> "your" typo in `index.md` by [@nathanjessen] in [#473]
* Fixed: spacing in toc example by [@henryiii] in [#835]
* Fixed: typo in `README` on `_config.yml` by [@ivanskodje] in [#891]
* Fixed: missing code fence in navigation structure docs by [@mattxwang] in [#906]
[#856]: https://github.com/just-the-docs/just-the-docs/pull/856
[#806]: https://github.com/just-the-docs/just-the-docs/pull/806
[#555]: https://github.com/just-the-docs/just-the-docs/pull/555
[#814]: https://github.com/just-the-docs/just-the-docs/pull/814
[#778]: https://github.com/just-the-docs/just-the-docs/pull/778
[#221]: https://github.com/just-the-docs/just-the-docs/pull/221
[#782]: https://github.com/just-the-docs/just-the-docs/pull/782
[#549]: https://github.com/just-the-docs/just-the-docs/pull/549
[#554]: https://github.com/just-the-docs/just-the-docs/pull/554
[#499]: https://github.com/just-the-docs/just-the-docs/pull/499
[#473]: https://github.com/just-the-docs/just-the-docs/pull/473
[#835]: https://github.com/just-the-docs/just-the-docs/pull/835
[#891]: https://github.com/just-the-docs/just-the-docs/pull/891
[#906]: https://github.com/just-the-docs/just-the-docs/pull/906
### Maintenance
* Added: VScode devcontainer by [@max06] in [#783]
* Added: `webrick` to `Gemfile` by [@mattxwang] in [#799]
* Added: 'This site is powered by Netlify.' to the footer by [@mattxwang] in [#797]
* Updated: new repo path by [@pmarsceill] in [#775]
* Updated: rename `master` -> `main` by [@pmarsceill] in [#776]
* Updated: README by [@pmarsceill] in [#777]
* Updated: Code of Conduct to Contributor Covenant v2.1 by [@mattxwang] in [#790]
* Updated: CI files, Ruby & Node Versions by [@mattxwang] in [#820]
* Updated: Stylelint to v14, extend SCSS plugins, remove primer-* configs, resolve issues by [@mattxwang] in [#821]
[#783]: https://github.com/just-the-docs/just-the-docs/pull/783
[#799]: https://github.com/just-the-docs/just-the-docs/pull/799
[#797]: https://github.com/just-the-docs/just-the-docs/pull/797
[#775]: https://github.com/just-the-docs/just-the-docs/pull/775
[#776]: https://github.com/just-the-docs/just-the-docs/pull/776
[#777]: https://github.com/just-the-docs/just-the-docs/pull/777
[#790]: https://github.com/just-the-docs/just-the-docs/pull/790
[#820]: https://github.com/just-the-docs/just-the-docs/pull/820
[#821]: https://github.com/just-the-docs/just-the-docs/pull/821
### Dependencies
* Upgrade to GitHub-native Dependabot by @dependabot-preview in [#627]
* [Security] Bump y18n from 3.2.1 to 3.2.2 by @dependabot-preview in [#606]
* [Security] Bump hosted-git-info from 2.7.1 to 2.8.9 by @dependabot-preview in [#641]
* [Security] Bump lodash from 4.17.19 to 4.17.21 by @dependabot-preview in [#640]
* [Security] Bump ini from 1.3.5 to 1.3.8 by @dependabot-preview in [#511]
* Bump path-parse from 1.0.6 to 1.0.7 by @dependabot in [#699]
* Bump ajv from 6.10.0 to 6.12.6 by @dependabot in [#766]
* Bump prettier from 2.1.2 to 2.5.1 by @dependabot in [#787]
* Bump prettier from 2.5.1 to 2.6.2 by @dependabot in [#809]
* Bump prettier from 2.6.2 to 2.7.1 by @dependabot in [#864]
[#627]: https://github.com/just-the-docs/just-the-docs/pull/627
[#606]: https://github.com/just-the-docs/just-the-docs/pull/606
[#641]: https://github.com/just-the-docs/just-the-docs/pull/641
[#640]: https://github.com/just-the-docs/just-the-docs/pull/640
[#511]: https://github.com/just-the-docs/just-the-docs/pull/511
[#699]: https://github.com/just-the-docs/just-the-docs/pull/699
[#766]: https://github.com/just-the-docs/just-the-docs/pull/766
[#787]: https://github.com/just-the-docs/just-the-docs/pull/787
[#809]: https://github.com/just-the-docs/just-the-docs/pull/809
[#864]: https://github.com/just-the-docs/just-the-docs/pull/864
### New Contributors
* [@AdityaTiwari2102] made their first contribution in [#477]
* [@svrooij] made their first contribution in [#544]
* [@alexsegura] made their first contribution in [#519]
* [@burner1024] made their first contribution in [#364]
* [@JeffGuKang] made their first contribution in [#221]
* [@dougaitken] made their first contribution in [#782]
* [@max06] made their first contribution in [#783]
* [@sehilyi] made their first contribution in [#499]
* [@nathanjessen] made their first contribution in [#473]
* [@waldyrious] made their first contribution in [#549]
* [@MichelleBlanchette] made their first contribution in [#554]
* [@henryiii] made their first contribution in [#835]
* [@jmertic] made their first contribution in [#726]
* [@jacobhq] made their first contribution in [#846]
* [@UnclassedPenguin] made their first contribution in [#814]
* [@alyssais] made their first contribution in [#829]
* [@nascosto] made their first contribution in [#857]
* [@SPGoding] made their first contribution in [#876]
* [@iridazzle] made their first contribution in [#727]
* [@ivanskodje] made their first contribution in [#891]
* [@Eisverygoodletter] made their first contribution in [#893]
[@AdityaTiwari2102]: https://githhub.com/AdityaTiwari2102
[@svrooij]: https://githhub.com/svrooij
[@alexsegura]: https://githhub.com/alexsegura
[@burner1024]: https://githhub.com/burner1024
[@JeffGuKang]: https://githhub.com/JeffGuKang
[@dougaitken]: https://githhub.com/dougaitken
[@max06]: https://githhub.com/max06
[@sehilyi]: https://githhub.com/sehilyi
[@nathanjessen]: https://githhub.com/nathanjessen
[@waldyrious]: https://githhub.com/waldyrious
[@MichelleBlanchette]: https://githhub.com/MichelleBlanchette
[@henryiii]: https://githhub.com/henryiii
[@jmertic]: https://githhub.com/jmertic
[@jacobhq]: https://githhub.com/jacobhq
[@UnclassedPenguin]: https://githhub.com/UnclassedPenguin
[@alyssais]: https://githhub.com/alyssais
[@nascosto]: https://githhub.com/nascosto
[@SPGoding]: https://githhub.com/SPGoding
[@iridazzle]: https://githhub.com/iridazzle
[@ivanskodje]: https://githhub.com/ivanskodje
[@Eisverygoodletter]: https://githhub.com/Eisverygoodletter
**Full Changelog**: https://github.com/just-the-docs/just-the-docs/compare/v0.3.3...v0.4.0.rc1
[@pmarsceill]: https://githhub.com/pmarsceill
## v0.3.3
### 🚀 Features
- Add custom header and footer include files @CodeSandwich (#334)
### 🐛 Bug Fixes
- Limit the effect of `nav_exclude` to the main navigation @pdmosses (#443)
- Update normalize.scss @pdmosses (#444)
- Update code.scss @pdmosses (#445)
- Fix list alignment @pdmosses (#446)
### 🧰 Maintenance
- Bump stylelint-config-primer from 9.0.0 to 9.2.1 @dependabot-preview (#451)
- Bump stylelint from 13.6.1 to 13.7.2 @dependabot-preview (#440)
- Bump @primer/css from 15.1.0 to 15.2.0 @dependabot-preview (#436)
- Bump prettier from 2.1.1 to 2.1.2 @dependabot-preview (#429)
## v0.3.2
### Changes
- Safe page sorting @pdmosses (#411)
- v0.3.2 @pmarsceill (#388)
### 🚀 Features
- make font-sizes sass variables so they can be changed @pdebruic (#361)
- run the site locally inside docker container @fogfish (#398)
- Feature/doc collections @SgtSilvio (#379)
- Adjust dl layout @pdmosses (#401)
### 🐛 Bug Fixes
- Add site.gh_edit_source to "Edit this page on GitHub" link @mrfleap (#418)
- Inhibit text-transform for code in h4 @pdmosses (#404)
- Fix native font stack precedence issue on Windows systems. @hvianna (#331)
- Support for the linenos option on highlighted code @pdmosses (#375)
- Update anchor_headings.html @pdmosses (#399)
- Fix https @marksie1988 (#359)
### 🧰 Maintenance
- Bump prettier from 2.0.5 to 2.1.1 @dependabot-preview (#427)
- Bump prettier from 2.0.5 to 2.1.1 @dependabot-preview (#419)
- [Security] Bump lodash from 4.17.15 to 4.17.19 @dependabot-preview (#389)
- Bump @primer/css from 14.4.0 to 15.1.0 @dependabot-preview (#402)
- Bump lodash from 4.17.15 to 4.17.19 @dependabot (#384)
- Bump @primer/css from 14.4.0 to 15.0.0 @dependabot-preview (#371)
## v0.3.1
### Changes
### 🐛 Bug Fixes
- Improve accessibility by adding label to Anchor links. @mscoutermarsh (#376)
### 🧰 Maintenance
- Remove collapsible TOC on nav doc @pmarsceill (#368)
- Pdmosses collapsible toc @pmarsceill (#367)
## v0.3.0
### Changes
- v0.2.9 @pmarsceill (#306)
### 🚀 Features
- Add print styles @pmarsceill (#362)
- Navigation improvements and search sections @SgtSilvio (#352)
### 🐛 Bug Fixes
- Remove constraint with jekyll 4.1.0 @PierrickMartos (#348)
### 🧰 Maintenance
- Bump version numbers @pmarsceill (#360)
- Bump stylelint from 13.3.3 to 13.6.1 @dependabot-preview (#343)
- Bump stylelint-config-prettier from 8.0.1 to 8.0.2 @dependabot-preview (#349)
## v0.2.9
### Bug fixes
- Horizontal Alignment #103 @pmarsceill
- Code snippet in headers do not inherit font size #140 @pmarsceill
- Fix duplicated title and description tags #294 @iefserge
- Update nav.html for handling nav_exclude #282 @blawqchain
- Fix duplicate entries in nav.html and default.html #239 @KasparEtter
- Don't show pages with no title (e.g. redirects in nav) https://github.com/pmarsceill/just-the-docs/pull/295/commits/672de29f2e332a9350af7237e4fb6693c848989e @SgtSilvio
- [SEARCH RAKE] Fix search generator #319 @RoiArthurB
### Enhancements
- Improvement/custom themes #186 @SgtSilvio
- feat: adds "edit this page" and "page last modified" to footer #217 @malsf21
- feat: adds option to open aux links in new tab #229 @malsf21
- Default nav order #236 @pdmosses
- Enable IP anonymization in Google Analytics (GDPR) #250 @r-brown
closes #240 #308 #266 #140 #103
## v0.2.8
### Bugfixes
- bugfix in search.rake #218 @tiaitsch85
### Dependency and security updates:
- Update jekyll requirement from ~> 3.8.5 to >= 3.8.5, < 4.1.0 #197 @dependabot-preview
- Update rake requirement from ~> 12.3.1 to >= 12.3.1, < 13.1.0 #227 @dependabot-preview
- Bump stylelint-config-primer from 8.0.0 to 9.0.0 #247 @dependabot-preview
- Update bundler requirement from ~> 2.0.1 to ~> 2.1.4 #268 @dependabot-preview
- Bump @primer/css from 12.7.0 to 14.3.0 #296 @dependabot-preview
### Operations
- Update CI to test multiple versions of Jekyll
- Update CI to check the rake command that builds the search file
fixes #291 #256 #293 #177
## v0.2.7
### Bugs fixed
- Anchor headings are now displayed on hover, not only on heading hover
- Deduplicated anchor heading svg
- If last page of `site.html_pages` was excluded from search, search json breaks
- Config variable should be `blanklines` not `blank_lines` for html compression
- `list-style-none` does not hide bullets on `ul`
### Enhancements
- Summary for child pages appears in generated TOC
- Site logo configuration supported replacing title text with image
- Allow custom CSS overrides (new scss partial at the end of the cascade) separate from variable overrides.
- Configuration around search strings added to allow search for hyphenated words
### Maintenance
- Update docs to suggest using index.md as section page filename
- Bump @primer/css from 12.6.0 to 12.7.0
- Bump mixin-deep from 1.3.1 to 1.3.2
- Bump stylelint-config-primer from 7.0.1 to 8.0.0
### PR included
- #98 by @stefanoborini Introduces the possibility for a summary in the table of contents
- #141 by @ghabs Fix trailing comma bug in search-data.json
- #153 by @jacobherrington Change button copy on theme preview
- #181 by @m3nu Recommend using index.md as parent page for sections
- #183 by @SgtSilvio Improve heading anchors
- #187 by @SgtSilvio Improvement/site logo
- #200 Bump mixin-deep from 1.3.1 to 1.3.2
- #203 by @pdmosses Search config
- #205 by @pdmosses Fix blank_lines var to blanklines in config.yml
- #206 by @iamcarrico Allow for custom overrides by the user
- #208 Bump @primer/css from 12.6.0 to 12.7.0
- #213 Bump mixin-deep from 1.3.1 to 1.3.2
- #214 Bump stylelint-config-primer from 7.0.1 to 8.0.0
- #215 Bump @primer/css from 12.6.0 to 12.7.0
## v0.2.6
### Bugs fixed
- Google Analytics tag has been updated #162
- ~BaseURL has been modified #109~ Reverted -- seems the existing implementation worked
- Titles can now wrap fixes #106
### Enhancements
- Search now displays content preview #135
- Custom footer content added #179
- Now using GitHub Actions for CI #170
### Maintenance
- lunrjs upgraded #135
- Nav generation is optimized #159
- Stylelint upgrade #143
- Stylelint config primer upgrade #149
- Lodash upgrade #160
### PR included
~#109 by @daviddarnes - Fix baseurl link~ Reverted
#135 by @SgtSilvio - Upgrades lunr.js, improves search UI, adds heading anchors
#152 by @yavorg - Improves syntax highlighting for js readablity
#159 by @julienduchesne - Optimizes nav generation
#162 by @nergmada - Modifies the google analytics code to match the new tags used by GA
## v0.2.5
### Bugs fixed
- Duplicate title tag when Jekyll SEO Plugin gem is used #125 #126
### Enhancements
- Favicon support added #118
### Maintenance
- Bump stylelint-config-primer from 6.0.0 to 7.0.0 #123
- Bump @primer/css from 12.2.3 to 12.3.1 #129
- Add workflow to publish to GPR
- Fix workflow to publish to Ruby Gems
## v0.2.4
### Bugs
- #102 Remove unnecessary console.log() @JoeNyland
- #97 Import custom Sass variable overrides before default variables are defined @montchr and @ptvandi
### Additions
- #117 Add links to docs for setting up GH pages locally @gnarea
- #95 Add SEO and 'lang' param for `_config` @gebeto
## v0.2.3
### Enhancements
- Adds ability to use Google Analytics tracking by @pmarsceill
### Bug fixes
- Fixes 404 error for "/assets/js//search-data.json" by @stephenedmondson
- Fixes #80 Single quotes in the string were unescaped and ruby attempted variable substitution of amp within it (which failed) by @novelistparty
- Fixes bug that would only show 2 or more search results (not one) by @ilivewithian
- Fixes a typo on the layout example by @woernfl
- Fixes #78 Page scroll position too far down on load by @pmarsceill
- Fixds ability to nest ul in ol without breaking style or counters
### Dependency updates
- Bumps stylelint dependency from 9.9.0 to 9.10.1
## v0.2.2
- Bumps stylelint-config-primer to 3.0.1 #44
- Bumps bundler req to 2.0.1 #61
- Adds custom 404 page
- Excludes package-lock.json from jekyll build #47
- Fixes keyboard scrolling / focus #48
- Adds ARIA roles to navigation elements
- Adds support for optional page description metadata (if present in yaml front matter)
- Addresses some issues with search in #46
- Option to hide TOC on parent pages if turned off in page's YAML front matter #30
- Option to suppress an item from being indexed by search if present in page's YAML front matter #32
## v0.2.1
This update fixes security vulnerablities in the lodash sub-dependency and bumps other dev dependencies to their latest version.
## v0.2.0
Adds:
- Dark mode via `color_scheme` parameter
- Ability to exclude a page from the main nav with `nav_exclude` parameter closes #21
- Ability for create children of children pages (3 nav levels) closes #25
Changes:
- Permalink structure for tiered navigation has been updated
- Some colors have been updated for consistency / accessibility
## v0.1.6
### Added
- Support for task list styles #19
- Configuration docs
- Configuration option to enable / disable search
- Normalize.scss dependency pulled into project #16 #
### Fixed
- Layout bug in navigation #17
## v0.1.5
Major changes:
- Fixed bug where the rake task would fail when the assets/js directory didn't exist
## v0.1.4
Major changes:
- Adds Rake as a runtime dependency
- Definition list styled
- Sidebar and support cleaned up for smaller screen support
- Updated some stale docs
## v0.1.3
Major changes:
- Fix path problems, typos, and general clean-up for OSS.
## v0.1.2
Fix paths when deployed to gh-pages
## v0.1.1
Major updates:
- Adds search to mobile nav
- Pulls footer to bottom of the page on mobile (not hidden in nav)
Minor updates:
- Cleans up h1 typography spacing

View File

@@ -2,45 +2,131 @@
## Our Pledge ## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards ## Our Standards
Examples of behavior that contributes to creating a positive environment include: Examples of behavior that contributes to a positive environment for our
community include:
* Using welcoming and inclusive language * Demonstrating empathy and kindness toward other people
* Being respectful of differing viewpoints and experiences * Being respectful of differing opinions, viewpoints, and experiences
* Gracefully accepting constructive criticism * Giving and gracefully accepting constructive feedback
* Focusing on what is best for the community * Accepting responsibility and apologizing to those affected by our mistakes,
* Showing empathy towards other community members and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior by participants include: Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances * The use of sexualized language or imagery, and sexual attention or advances of
* Trolling, insulting/derogatory comments, and personal or political attacks any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment * Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission * Publishing others' private information, such as a physical or email address,
* Other conduct which could reasonably be considered inappropriate in a professional setting without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities ## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope ## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at patrick.marsceill@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
patrick.marsceill@gmail.com.
All complaints will be reviewed and investigated promptly and fairly.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution ## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
[homepage]: http://contributor-covenant.org Community Impact Guidelines were inspired by
[version]: http://contributor-covenant.org/version/1/4/ [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

View File

@@ -1,4 +1,4 @@
FROM ruby:2.6 FROM ruby:2.7
ENV LC_ALL C.UTF-8 ENV LC_ALL C.UTF-8
ENV LANG en_US.UTF-8 ENV LANG en_US.UTF-8
@@ -10,4 +10,3 @@ COPY Gemfile just-the-docs.gemspec ./
RUN gem install bundler && bundle install RUN gem install bundler && bundle install
EXPOSE 4000 EXPOSE 4000

View File

@@ -1,2 +1,4 @@
source "https://rubygems.org" source "https://rubygems.org"
gemspec gemspec
gem "webrick", "~> 1.7"

View File

@@ -1,11 +1,11 @@
<p align="right"> <p align="right">
<a href="https://badge.fury.io/rb/just-the-docs"><img src="https://badge.fury.io/rb/just-the-docs.svg" alt="Gem version"></a> <a href="https://github.com/pmarsceill/just-the-docs/actions?query=workflow%3A%22Master+branch+CI%22"><img src="https://github.com/pmarsceill/just-the-docs/workflows/Master%20branch%20CI/badge.svg" alt="Build status"></a> <a href="https://badge.fury.io/rb/just-the-docs"><img src="https://badge.fury.io/rb/just-the-docs.svg" alt="Gem version"></a> <a href="https://github.com/just-the-docs/just-the-docs/actions/workflows/ci.yml"><img src="https://github.com/just-the-docs/just-the-docs/actions/workflows/ci.yml/badge.svg" alt="CI Build status"></a> <a href="https://app.netlify.com/sites/just-the-docs/deploys"><img src="https://api.netlify.com/api/v1/badges/9dc0386d-c2a4-4077-ad83-f02c33a6c0ca/deploy-status" alt="Netlify Status"></a>
</p> </p>
<br><br> <br><br>
<p align="center"> <p align="center">
<h1 align="center">Just the Docs</h1> <h1 align="center">Just the Docs</h1>
<p align="center">A modern, highly customizable, and responsive Jekyll theme for documentation with built-in search.<br>Easily hosted on GitHub Pages with few dependencies.</p> <p align="center">A modern, highly customizable, and responsive Jekyll theme for documentation with built-in search.<br>Easily hosted on GitHub Pages with few dependencies.</p>
<p align="center"><strong><a href="https://pmarsceill.github.io/just-the-docs/">See it in action!</a></strong></p> <p align="center"><strong><a href="https://just-the-docs.github.io/just-the-docs/">See it in action!</a></strong></p>
<br><br><br> <br><br><br>
</p> </p>
@@ -13,6 +13,17 @@
## Installation ## Installation
### via GitHub Pages remote theme
The quickiest way to use Just The Docs is to use GitHub pages [remote theme](https://blog.github.com/2017-11-29-use-any-theme-with-github-pages/) feature in your `_config.yml` file:
```yaml
remote_theme: just-the-docs/just-the-docs
```
### via RubyGems:
Alternatively you can install it as a Ruby Gem.
Add this line to your Jekyll site's Gemfile: Add this line to your Jekyll site's Gemfile:
```ruby ```ruby
@@ -39,18 +50,17 @@ Alternatively, you can run it inside Docker while developing your site
## Usage ## Usage
[View the documentation](https://pmarsceill.github.io/just-the-docs/) for usage information. [View the documentation](https://just-the-docs.github.io/just-the-docs/) for usage information.
## Contributing ## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/pmarsceill/just-the-docs. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. Bug reports and pull requests are welcome on GitHub at https://github.com/just-the-docs/just-the-docs. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
### Submitting code changes: ### Submitting code changes:
- Open a [Pull Request](https://github.com/pmarsceill/just-the-docs/pulls) - Open a [Pull Request](https://github.com/just-the-docs/just-the-docs/pulls)
- Ensure all CI tests pass - Ensure all CI tests pass
- Await code review - Await code review
- Bump the version number in `just-the-docs.gemspec` and `package.json` according to [semantic versioning](https://semver.org/).
### Design and development principles of this theme: ### Design and development principles of this theme:
@@ -63,6 +73,8 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/pmarsc
To set up your environment to develop this theme, run `bundle install`. To set up your environment to develop this theme, run `bundle install`.
A modern [devcontainer configuration](https://code.visualstudio.com/docs/remote/containers) for VSCode is included.
Your theme is set up just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal. Your theme is set up just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
When the theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released. When the theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released.

View File

@@ -16,18 +16,32 @@
title: Just the Docs title: Just the Docs
description: A Jekyll theme for documentation description: A Jekyll theme for documentation
baseurl: "/just-the-docs" # the subpath of your site, e.g. /blog baseurl: "/just-the-docs" # the subpath of your site, e.g. /blog
url: "https://pmarsceill.github.io" # the base hostname & protocol for your site, e.g. http://example.com url: "https://just-the-docs.github.io" # the base hostname & protocol for your site, e.g. http://example.com
permalink: pretty 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 exclude:
# By default, the pages in /docs/tests are excluded when the ste is built. # from https://github.com/jekyll/jekyll/blob/master/lib/site_template/_config.yml:
# To include them, comment-out the relevant line above. - .sass-cache/
# Uncommenting the following line doesn't work - see https://github.com/jekyll/jekyll/issues/4791 - .jekyll-cache/
# include: ["docs/tests/"] - gemfiles/
- Gemfile
- Gemfile.lock
- node_modules/
- vendor/bundle/
- vendor/cache/
- vendor/gems/
- vendor/ruby/
# specific to the theme website:
- bin/
- lib/
- "*.gemspec"
- "*.gem"
- LICENSE.txt
- package.json
- package-lock.json
- Rakefile
- README.md
# Set a path/url to a logo that will be displayed instead of the title # Set a path/url to a logo that will be displayed instead of the title
#logo: "/assets/images/just-the-docs.png" #logo: "/assets/images/just-the-docs.png"
@@ -59,13 +73,23 @@ search:
# Supports true or false (default) # Supports true or false (default)
button: false button: false
# To disable support for mermaid diagrams (https://mermaid-js.github.io/mermaid/),
# comment out the `mermaid` and `version` keys below
# By default, consuming the theme as a gem leaves mermaid disabled; it is opt-in
mermaid:
# Version of mermaid library
# Pick an available version from https://cdn.jsdelivr.net/npm/mermaid/
version: "9.1.6"
# 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 # Enable or disable heading anchors
heading_anchors: true heading_anchors: true
# Aux links for the upper right navigation # Aux links for the upper right navigation
aux_links: aux_links:
"Just the Docs on GitHub": "Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs" - "//github.com/just-the-docs/just-the-docs"
# Makes Aux links open in a new tab. Default is false # Makes Aux links open in a new tab. Default is false
aux_links_new_tab: false aux_links_new_tab: false
@@ -74,6 +98,11 @@ aux_links_new_tab: false
# nav_sort: case_insensitive # default, equivalent to nil # nav_sort: case_insensitive # default, equivalent to nil
nav_sort: case_sensitive # Capital letters sorted before lowercase 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 # Footer content
# appears at the bottom of every page's main content # appears at the bottom of every page's main content
@@ -81,7 +110,7 @@ nav_sort: case_sensitive # Capital letters sorted before lowercase
back_to_top: true back_to_top: true
back_to_top_text: "Back to top" back_to_top_text: "Back to top"
footer_content: "Copyright &copy; 2017-2020 Patrick Marsceill. Distributed by an <a href=\"https://github.com/pmarsceill/just-the-docs/tree/master/LICENSE.txt\">MIT license.</a>" footer_content: "Copyright &copy; 2017-2020 Patrick Marsceill. Distributed by an <a href=\"https://github.com/just-the-docs/just-the-docs/tree/main/LICENSE.txt\">MIT license.</a> <a href=\"https://www.netlify.com/\">This site is powered by Netlify.</a>"
# Footer last edited timestamp # Footer last edited timestamp
last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
@@ -92,14 +121,31 @@ last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https:/
# Footer "Edit this page on GitHub" link text # Footer "Edit this page on GitHub" link text
gh_edit_link: true # show or hide edit this page link gh_edit_link: true # show or hide edit this page link
gh_edit_link_text: "Edit this page on GitHub" gh_edit_link_text: "Edit this page on GitHub"
gh_edit_repository: "https://github.com/pmarsceill/just-the-docs" # the github URL for your repo gh_edit_repository: "https://github.com/just-the-docs/just-the-docs" # the github URL for your repo
gh_edit_branch: "master" # the branch that your docs is served from gh_edit_branch: "main" # the branch that your docs is served from
# gh_edit_source: docs # the source that your files originate from # gh_edit_source: docs # the source that your files originate from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately
# Color scheme currently only supports "dark", "light"/nil (default), or a custom scheme that you define # Color scheme currently only supports "dark", "light"/nil (default), or a custom scheme that you define
color_scheme: nil color_scheme: nil
callouts_level: quiet # or loud
callouts:
highlight:
color: yellow
important:
title: Important
color: blue
new:
title: New
color: green
note:
title: Note
color: purple
warning:
title: Warning
color: red
# Google Analytics Tracking (optional) # Google Analytics Tracking (optional)
# e.g, UA-1234567-89 # e.g, UA-1234567-89
ga_tracking: UA-2709176-10 ga_tracking: UA-2709176-10

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,9 @@
{% if site.logo %} {% if site.logo %}
$logo: "{{ site.logo | absolute_url }}"; $logo: "{{ site.logo | relative_url }}";
{% endif %} {% endif %}
@import "./support/support"; @import "./support/support";
@import "./color_schemes/light";
@import "./color_schemes/{{ include.color_scheme }}"; @import "./color_schemes/{{ include.color_scheme }}";
@import "./modules"; @import "./modules";
{% include css/custom.scss.liquid %} {% 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 %} {% endif %}
{% endunless %} {% 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 }}"> <link rel="stylesheet" href="{{ '/assets/css/just-the-docs-default.css' | relative_url }}">
@@ -27,9 +27,14 @@
{% endif %} {% endif %}
{% if site.search_enabled != false %} {% if site.search_enabled != false %}
<script type="text/javascript" src="{{ '/assets/js/vendor/lunr.min.js' | relative_url }}"></script> <script src="{{ '/assets/js/vendor/lunr.min.js' | relative_url }}"></script>
{% endif %} {% endif %}
<script type="text/javascript" src="{{ '/assets/js/just-the-docs.js' | relative_url }}"></script>
{% if site.mermaid %}
<script src="https://cdn.jsdelivr.net/npm/mermaid@{{ site.mermaid.version }}/dist/mermaid.min.js"></script>
{% endif %}
<script src="{{ '/assets/js/just-the-docs.js' | relative_url }}"></script>
<meta name="viewport" content="width=device-width, initial-scale=1"> <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

@@ -1,87 +1,175 @@
<ul class="nav-list"> {%- comment -%}
{%- assign titled_pages = include.pages The `nav_order` values of pages affect the order in which they are shown in
| where_exp:"item", "item.title != nil" -%} the navigation panel and in the automatically generated tables of contents.
Sibling pages with the same `nav_order` value may be shown in any order.
Sibling pages with no `nav_order` value are shown after all pages that have
explicit `nav_order` values, ordered by their `title` values.
{%- comment -%} The `nav_order` and `title` values can be numbers or strings. To avoid build
The values of `title` and `nav_order` can be numbers or strings. failures, we sort numbers and strings separately. We sort numbers by their
Jekyll gives build failures when sorting on mixtures of different types, values, and strings lexicographically. The case-sensitivity of string sorting
so numbers and strings need to be sorted separately. is determined by the configuration setting of `nav_sort`. Pages with no `title`
value are excluded from the navigation.
Here, numbers are sorted by their values, and come before all strings. Note: Numbers used as `title` or `nav_order` values should not be in quotes,
An omitted `nav_order` value is equivalent to the page's `title` value unless you intend them to be lexicographically ordered. Numbers are written
(except that a numerical `title` value is treated as a string). without spaces or thousands-separators. Negative numbers are preceded by `-`.
Floats are written with the integral and fractional parts separated by `.`.
(Bounds on the magnitude and precision are presumably the same as in Liquid.)
{%- endcomment -%}
The case-sensitivity of string sorting is determined by `site.nav_sort`. {%- assign title_pages = include.pages
{%- endcomment -%} | where_exp: "item", "item.title != nil" -%}
{%- assign string_ordered_pages = titled_pages {%- comment -%}
| where_exp:"item", "item.nav_order == nil" -%} A page with `nav_exclude: true` does not appear in the main navigation.
{%- assign nav_ordered_pages = titled_pages If it has a `parent`, it may appear in the parent's table of contents.
| where_exp:"item", "item.nav_order != nil" -%} If it specifies `has_children: true`, it should appear in the breadcrumbs
of the child pages, but its order in relation to other pages is irrelevant.
Pages that never appear can be removed from the pages that need to be sorted.
This optimisation can be significant on a site with many pages.
{%- comment -%} In Jekyll 4, the pages to be sorted can be filtered by:
The nav_ordered_pages have to be added to number_ordered_pages and
string_ordered_pages, depending on the nav_order value. {%- assign title_pages = title_pages
The first character of the jsonify result is `"` only for strings. | where_exp: "item", "item.nav_exclude != true or item.parent != nil" -%}
{%- endcomment -%}
{%- assign nav_ordered_groups = nav_ordered_pages That filter is not allowed in Jekyll 3. The following iterative code gives the
| group_by_exp:"item", "item.nav_order | jsonify | slice: 0" -%} same effect, but it is activated only when it will filter more than 50% of the
{%- assign number_ordered_pages = "" | split:"X" -%} pages.
{%- for group in nav_ordered_groups -%} {%- endcomment -%}
{%- assign unsorted_pages = title_pages
| where_exp: "item", "item.parent == nil"
| where_exp: "item", "item.nav_exclude == true"-%}
{%- assign title_pages_size = title_pages.size -%}
{%- assign unsorted_pages_percent = unsorted_pages.size
| times: 100 | divided_by: title_pages_size -%}
{%- if unsorted_pages_percent > 50 -%}
{%- assign sorted_pages = "" | split: "" -%}
{%- for item in title_pages -%}
{%- if item.nav_exclude != true or item.parent -%}
{%- assign sorted_pages = sorted_pages | push: item -%}
{%- endif -%}
{%- endfor -%}
{%- assign title_pages = sorted_pages -%}
{%- endif -%}
{%- assign nav_order_pages = title_pages
| where_exp: "item", "item.nav_order != nil" -%}
{%- assign title_order_pages = title_pages
| where_exp: "item", "item.nav_order == nil" -%}
{%- comment -%}
Divide the arrays of `nav_order_pages` and `title_order_pages` according to
the type of value.
The first character of the result of `jsonify` is `"` only for strings.
Grouping by a single character also ensures the number of groups is small.
{%- endcomment -%}
{%- assign nav_number_pages = "" | split: "" -%}
{%- assign nav_string_pages = "" | split: "" -%}
{%- assign nav_order_groups = nav_order_pages
| group_by_exp: "item", "item.nav_order | jsonify | slice: 0" -%}
{%- for group in nav_order_groups -%}
{%- if group.name == '"' -%} {%- if group.name == '"' -%}
{%- assign string_ordered_pages = string_ordered_pages | concat: group.items -%} {%- assign nav_string_pages = group.items -%}
{%- else -%} {%- else -%}
{%- assign number_ordered_pages = number_ordered_pages | concat: group.items -%} {%- assign nav_number_pages = nav_number_pages | concat: group.items -%}
{%- endif -%} {%- endif -%}
{%- endfor -%} {%- endfor -%}
{%- assign sorted_number_ordered_pages = number_ordered_pages | sort:"nav_order" -%} {%- unless nav_number_pages == empty -%}
{%- assign nav_number_pages = nav_number_pages | sort: "nav_order" -%}
{%- endunless -%}
{%- comment -%} {%- unless nav_string_pages == empty -%}
The string_ordered_pages have to be sorted by nav_order, and otherwise title
(where appending the empty string to a numeric title converts it to a string).
After grouping them by those values, the groups are sorted, then the items
of each group are concatenated.
{%- endcomment -%}
{%- assign string_ordered_groups = string_ordered_pages
| group_by_exp:"item", "item.nav_order | default: item.title | append:''" -%}
{%- if site.nav_sort == 'case_insensitive' -%} {%- if site.nav_sort == 'case_insensitive' -%}
{%- assign sorted_string_ordered_groups = string_ordered_groups | sort_natural:"name" -%} {%- assign nav_string_pages = nav_string_pages | sort_natural: "nav_order" -%}
{%- else -%} {%- else -%}
{%- assign sorted_string_ordered_groups = string_ordered_groups | sort:"name" -%} {%- assign nav_string_pages = nav_string_pages | sort: "nav_order" -%}
{%- endif -%} {%- endif -%}
{%- assign sorted_string_ordered_pages = "" | split:"X" -%} {%- endunless -%}
{%- for group in sorted_string_ordered_groups -%}
{%- assign sorted_string_ordered_pages = sorted_string_ordered_pages | concat: group.items -%}
{%- endfor -%}
{%- assign pages_list = sorted_number_ordered_pages | concat: sorted_string_ordered_pages -%} {%- assign title_number_pages = "" | split: "" -%}
{%- assign title_string_pages = "" | split: "" -%}
{%- assign title_order_groups = title_order_pages
| group_by_exp: "item", "item.title | jsonify | slice: 0" -%}
{%- for group in title_order_groups -%}
{%- if group.name == '"' -%}
{%- assign title_string_pages = group.items -%}
{%- else -%}
{%- assign title_number_pages = title_number_pages | concat: group.items -%}
{%- endif -%}
{%- endfor -%}
{%- for node in pages_list -%} {%- unless title_number_pages == empty -%}
{%- if node.parent == nil -%} {%- assign title_number_pages = title_number_pages | sort: "title" -%}
{%- endunless -%}
{%- unless title_string_pages == empty -%}
{%- if site.nav_sort == 'case_insensitive' -%}
{%- assign title_string_pages = title_string_pages | sort_natural: "title" -%}
{%- else -%}
{%- assign title_string_pages = title_string_pages | sort: "title" -%}
{%- endif -%}
{%- endunless -%}
{%- assign pages_list = nav_number_pages | concat: nav_string_pages
| concat: title_number_pages | concat: title_string_pages -%}
{%- assign first_level_pages = pages_list
| where_exp: "item", "item.parent == nil" -%}
{%- assign second_level_pages = pages_list
| where_exp: "item", "item.parent != nil"
| where_exp: "item", "item.grand_parent == nil" -%}
{%- assign third_level_pages = pages_list
| where_exp: "item", "item.grand_parent != nil" -%}
{%- comment -%}
The order of sibling pages in `pages_list` determines the order of display of
links to them in lists of navigation links and in auto-generated TOCs.
{%- endcomment -%}
<ul class="nav-list">
{%- for node in first_level_pages -%}
{%- unless node.nav_exclude -%} {%- 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 -%} {%- 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> <a href="#" class="nav-list-expander" aria-label="toggle links in {{ node.title }} category">
<svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg>
</a>
{%- endif -%} {%- 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 -%} {%- if node.has_children -%}
{%- assign children_list = pages_list | where: "parent", node.title -%} {%- assign children_list = second_level_pages
| where: "parent", node.title -%}
{%- if node.child_nav_order == 'desc' -%}
{%- assign children_list = children_list | reverse -%}
{%- endif -%}
<ul class="nav-list "> <ul class="nav-list ">
{%- for child in children_list -%} {%- for child in children_list -%}
{%- unless child.nav_exclude -%} {%- unless child.nav_exclude -%}
<li class="nav-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}"> <li class="nav-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
{%- if child.has_children -%} {%- 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> <a href="#" class="nav-list-expander" aria-label="toggle links in {{ child.title }} category">
<svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg>
</a>
{%- endif -%} {%- 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 child.has_children -%}
{%- assign grand_children_list = pages_list | where: "parent", child.title | where: "grand_parent", node.title -%} {%- assign grand_children_list = third_level_pages
| where: "parent", child.title
| where: "grand_parent", node.title -%}
{%- if child.child_nav_order == 'desc' -%}
{%- assign grand_children_list = grand_children_list | reverse -%}
{%- endif -%}
<ul class="nav-list"> <ul class="nav-list">
{%- for grand_child in grand_children_list -%} {%- for grand_child in grand_children_list -%}
{%- unless grand_child.nav_exclude -%} {%- unless grand_child.nav_exclude -%}
<li class="nav-list-item {% if page.url == grand_child.url %} active{% endif %}"> <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> </li>
{%- endunless -%} {%- endunless -%}
{%- endfor -%} {%- endfor -%}
@@ -94,6 +182,52 @@
{%- endif -%} {%- endif -%}
</li> </li>
{%- endunless -%} {%- endunless -%}
{%- endif -%} {%- endfor -%}
{%- 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> </ul>
{%- comment -%}
`page.collection` is the name of the Jekyll collection that contains the page,
if any, and otherwise nil. Similarly for `include.key`.
If the current page is in the collection (if any) whose navigation is currently
being generated, the following code sets `first_level_url` to the URL used in
the page's top-level breadcrumb (if any), and `second_level_url` to that used
in the page's second-level breadcrumb (if any).
For pages with children, the code also sets `toc_list` to the list of child pages.
{%- endcomment -%}
{%- if page.collection == include.key -%}
{%- for node in first_level_pages -%}
{%- 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 = second_level_pages | 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 -%}
{%- 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 -%}
{%- if page.child_nav_order == "desc" -%}
{%- assign toc_list = toc_list | reverse -%}
{%- endif -%}
{%- endif -%}
{%- endif -%}

View File

View File

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

View File

@@ -0,0 +1 @@
<h2 class="text-delta">Table of contents</h2>

View File

@@ -7,6 +7,7 @@ layout: table_wrappers
<html lang="{{ site.lang | default: 'en-US' }}"> <html lang="{{ site.lang | default: 'en-US' }}">
{% include head.html %} {% include head.html %}
<body> <body>
<a class="skip-to-main" href="#main-content">Skip to main content</a>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-link" viewBox="0 0 24 24"> <symbol id="svg-link" viewBox="0 0 24 24">
<title>Link</title> <title>Link</title>
@@ -38,16 +39,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> <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> </svg>
</symbol> </symbol>
{% include icons/external_link.html %}
</svg> </svg>
<div class="side-bar"> <div class="side-bar">
<div class="site-header"> <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"> <a href="#" id="menu-button" class="site-button">
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg> <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
</a> </a>
</div> </div>
<nav role="navigation" aria-label="Main" id="site-nav" class="site-nav"> <nav 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 %} {% if site.just_the_docs.collections %}
{% assign collections_size = site.just_the_docs.collections | size %} {% assign collections_size = site.just_the_docs.collections | size %}
{% for collection_entry in site.just_the_docs.collections %} {% for collection_entry in site.just_the_docs.collections %}
@@ -55,30 +65,55 @@ layout: table_wrappers
{% assign collection_value = collection_entry[1] %} {% assign collection_value = collection_entry[1] %}
{% assign collection = site[collection_key] %} {% assign collection = site[collection_key] %}
{% if collection_value.nav_exclude != true %} {% if collection_value.nav_exclude != true %}
{% if collections_size > 1 %} {% 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> <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 %} {% endif %}
{% include nav.html pages=collection %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% else %}
{% include nav.html pages=site.html_pages %}
{% endif %} {% endif %}
</nav> </nav>
{% capture nav_footer_custom %}
{%- include nav_footer_custom.html -%}
{% endcapture %}
{% if nav_footer_custom != "" %}
{{ nav_footer_custom }}
{% else %}
<footer class="site-footer"> <footer class="site-footer">
This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
</footer> </footer>
{% endif %}
</div> </div>
<div class="main" id="top"> <div class="main" id="top">
<div id="main-header" class="main-header"> <div id="main-header" class="main-header">
{% if site.search_enabled != false %} {% if site.search_enabled != false %}
{% capture search_placeholder %}{% include search_placeholder_custom.html %}{% endcapture %}
<div class="search"> <div class="search">
<div class="search-input-wrap"> <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> <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>
<div id="search-results" class="search-results"></div> <div id="search-results" class="search-results"></div>
</div> </div>
{% else %}
<div></div>
{% endif %} {% endif %}
{% include header_custom.html %} {% include header_custom.html %}
{% if site.aux_links %} {% if site.aux_links %}
@@ -102,21 +137,6 @@ layout: table_wrappers
<div id="main-content-wrap" class="main-content-wrap"> <div id="main-content-wrap" class="main-content-wrap">
{% unless page.url == "/" %} {% unless page.url == "/" %}
{% if page.parent %} {% 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"> <nav aria-label="Breadcrumb" class="breadcrumb-nav">
<ol class="breadcrumb-nav-list"> <ol class="breadcrumb-nav-list">
{% if page.grand_parent %} {% if page.grand_parent %}
@@ -139,12 +159,11 @@ layout: table_wrappers
{% if page.has_children == true and page.has_toc != false %} {% if page.has_children == true and page.has_toc != false %}
<hr> <hr>
<h2 class="text-delta">Table of contents</h2> {% include toc_heading_custom.html %}
<ul> <ul>
{%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%} {% for child in toc_list %}
{% for child in children_list %}
<li> <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> </li>
{% endfor %} {% endfor %}
</ul> </ul>
@@ -177,7 +196,7 @@ layout: table_wrappers
site.gh_edit_view_mode site.gh_edit_view_mode
%} %}
<p class="text-small text-grey-dk-000 mb-0"> <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> </p>
{% endif %} {% endif %}
</div> </div>
@@ -198,5 +217,13 @@ layout: table_wrappers
<div class="search-overlay"></div> <div class="search-overlay"></div>
{% endif %} {% endif %}
</div> </div>
{% if site.mermaid %}
<script>
var config = {% include mermaid_config.js %};
mermaid.initialize(config);
window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
</script>
{% endif %}
</body> </body>
</html> </html>

View File

@@ -1,7 +1,5 @@
//
// Base element style overrides // Base element style overrides
// // stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id
// stylelint-disable selector-no-type, selector-max-type
* { * {
box-sizing: border-box; box-sizing: border-box;
@@ -14,6 +12,7 @@
html { html {
@include fs-4; @include fs-4;
scroll-behavior: smooth; scroll-behavior: smooth;
} }
@@ -23,6 +22,7 @@ body {
line-height: $body-line-height; line-height: $body-line-height;
color: $body-text-color; color: $body-text-color;
background-color: $body-background-color; background-color: $body-background-color;
overflow-wrap: break-word;
} }
ol, ol,
@@ -45,7 +45,8 @@ h2,
h3, h3,
h4, h4,
h5, h5,
h6 { h6,
#toctitle {
margin-top: 0; margin-top: 0;
margin-bottom: 1em; margin-bottom: 1em;
font-weight: 500; font-weight: 500;
@@ -64,18 +65,12 @@ a {
} }
a:not([class]) { a:not([class]) {
text-decoration: none; text-decoration: underline;
background-image: linear-gradient($border-color 0%, $border-color 100%); text-decoration-color: $border-color;
background-repeat: repeat-x; text-underline-offset: 2px;
background-position: 0 100%;
background-size: 1px 1px;
&:hover { &:hover {
background-image: linear-gradient( text-decoration-color: rgba($link-color, 0.45);
rgba($link-color, 0.45) 0%,
rgba($link-color, 0.45) 100%
);
background-size: 1px 1px;
} }
} }
@@ -106,3 +101,14 @@ hr {
background-color: $border-color; background-color: $border-color;
border: 0; border: 0;
} }
// adds a GitHub-style sidebar to blockquotes
blockquote {
margin: 10px 0;
// resets user-agent stylesheets for blockquotes
margin-block-start: 0;
margin-inline-start: 0;
padding-left: 15px;
border-left: 3px solid $border-color;
}

View File

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

View File

@@ -1,7 +1,7 @@
//
// Code and syntax highlighting // 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, scss/comment-no-empty
// stylelint-disable selector-no-qualifying-type, declaration-block-semicolon-newline-after,declaration-block-single-line-max-declarations, selector-no-type, selector-max-type
// {% raw %}
code { code {
padding: 0.2em 0.15em; padding: 0.2em 0.15em;
@@ -36,6 +36,9 @@ a:visited code {
// > td.gutter.gl > pre.lineno // > td.gutter.gl > pre.lineno
// | td.code > pre // | td.code > pre
// //
// ----...---- (AsciiDoc)
// div.listingblock > div.content > pre.rouge.highlight
//
// fix_linenos removes the outermost pre when it encloses table.rouge-table // fix_linenos removes the outermost pre when it encloses table.rouge-table
// //
// See docs/index-test.md for some tests. // 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? // Kramdown line_numbers = true: fences have a wider gutter than with Liquid?
// ```[LANG]...``` // ```[LANG]...```
div.highlighter-rouge { div.highlighter-rouge,
div.listingblock > div.content {
padding: $sp-3; padding: $sp-3;
margin-top: 0; margin-top: 0;
margin-bottom: $sp-3; margin-bottom: $sp-3;
@@ -69,6 +73,7 @@ figure.highlight {
padding: $sp-3; padding: $sp-3;
margin-top: 0; margin-top: 0;
margin-bottom: $sp-3; margin-bottom: $sp-3;
overflow-x: auto;
background-color: $code-background-color; background-color: $code-background-color;
border-radius: $border-radius; border-radius: $border-radius;
box-shadow: none; box-shadow: none;
@@ -93,6 +98,7 @@ figure.highlight {
td, td,
pre { pre {
@include fs-2; @include fs-2;
min-width: 0; min-width: 0;
padding: 0; padding: 0;
background-color: $code-background-color; background-color: $code-background-color;
@@ -100,6 +106,7 @@ figure.highlight {
} }
td.gl { td.gl {
width: 1em;
padding-right: $sp-3; padding-right: $sp-3;
} }
@@ -109,218 +116,12 @@ 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) // Code examples (rendered)
// //
.code-example { .code-example,
.listingblock > .title {
padding: $sp-3; padding: $sp-3;
margin-bottom: $sp-3; margin-bottom: $sp-3;
overflow: auto; overflow: auto;
@@ -328,6 +129,8 @@ figure.highlight {
border-radius: $border-radius; border-radius: $border-radius;
+ .highlighter-rouge, + .highlighter-rouge,
+ .sectionbody .listingblock,
+ .content,
+ figure.highlight { + figure.highlight {
position: relative; position: relative;
margin-top: -$sp-4; margin-top: -$sp-4;
@@ -338,3 +141,12 @@ figure.highlight {
border-top-right-radius: 0; 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; $body-background-color: $grey-dk-300;
$sidebar-color: $grey-dk-300; $sidebar-color: $grey-dk-300;
$border-color: $grey-dk-200; $border-color: $grey-dk-200;
$body-text-color: $grey-lt-300; $body-text-color: $grey-lt-300;
$body-heading-color: $grey-lt-000; $body-heading-color: $grey-lt-000;
$nav-child-link-color: $grey-dk-000; $nav-child-link-color: $grey-dk-000;
$search-result-preview-color: $grey-dk-000; $search-result-preview-color: $grey-dk-000;
$link-color: $blue-000; $link-color: $blue-000;
$btn-primary-color: $blue-200; $btn-primary-color: $blue-200;
$base-button-color: $grey-dk-250; $base-button-color: $grey-dk-250;
$code-background-color: $grey-dk-250;
$search-background-color: $grey-dk-250; $search-background-color: $grey-dk-250;
$table-background-color: $grey-dk-250; $table-background-color: $grey-dk-250;
$feedback-color: darken($sidebar-color, 3%); $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"; @charset "UTF-8";
//
// Styles for rendered markdown in the .main-content container // Styles for rendered markdown in the .main-content container
// // stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity, selector-max-id
// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type
.main-content { .main-content {
line-height: $content-line-height; line-height: $content-line-height;
@@ -21,7 +19,6 @@
a { a {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap;
} }
ul, ul,
@@ -59,7 +56,7 @@
ol { ol {
counter-reset: sub-counter; counter-reset: sub-counter;
li { > li {
&::before { &::before {
content: counter(sub-counter, lower-alpha); content: counter(sub-counter, lower-alpha);
counter-increment: sub-counter; counter-increment: sub-counter;
@@ -82,14 +79,7 @@
} }
} }
.task-list {
padding-left: 0;
}
.task-list-item { .task-list-item {
display: flex;
align-items: center;
&::before { &::before {
content: ""; content: "";
} }
@@ -97,6 +87,9 @@
.task-list-item-checkbox { .task-list-item-checkbox {
margin-right: 0.6em; margin-right: 0.6em;
margin-left: -1.4em;
// The same margin-left is used above for ul > li::before
} }
hr + * { hr + * {
@@ -121,6 +114,7 @@
grid-column: 1; grid-column: 1;
font-weight: 500; font-weight: 500;
text-align: right; text-align: right;
&::after { &::after {
content: ":"; content: ":";
} }
@@ -130,6 +124,7 @@
grid-column: 2; grid-column: 2;
margin-bottom: 0; margin-bottom: 0;
margin-left: 1em; margin-left: 1em;
blockquote, blockquote,
div, div,
dl, dl,
@@ -188,6 +183,7 @@
} }
.anchor-heading:hover, .anchor-heading:hover,
.anchor-heading:focus,
h1:hover > .anchor-heading, h1:hover > .anchor-heading,
h2:hover > .anchor-heading, h2:hover > .anchor-heading,
h3:hover > .anchor-heading, h3:hover > .anchor-heading,
@@ -208,24 +204,36 @@
h3, h3,
h4, h4,
h5, h5,
h6 { h6,
#toctitle {
position: relative; position: relative;
margin-top: 1.5em; margin-top: 1.5em;
margin-bottom: 0.25em; margin-bottom: 0.25em;
&:first-child {
margin-top: $sp-2;
}
+ table, + table,
+ .table-wrapper, + .table-wrapper,
+ .code-example, + .code-example,
+ .highlighter-rouge { + .highlighter-rouge,
+ .sectionbody .listingblock {
margin-top: 1em; margin-top: 1em;
} }
+ p { + p:not(.label) {
margin-top: 0; 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) // Labels (not the form kind)
//
.label, .label,
.label-blue { .label-blue {
@@ -16,6 +14,7 @@
vertical-align: middle; vertical-align: middle;
background-color: $blue-100; background-color: $blue-100;
@include fs-2; @include fs-2;
border-radius: 12px; border-radius: 12px;
} }

View File

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

View File

@@ -1,11 +1,7 @@
//
// Import external dependencies // Import external dependencies
// @import "./vendor/normalize.scss/normalize";
@import "./vendor/normalize.scss/normalize.scss";
//
// Modules // Modules
//
@import "./base"; @import "./base";
@import "./layout"; @import "./layout";
@import "./content"; @import "./content";
@@ -18,3 +14,4 @@
@import "./code"; @import "./code";
@import "./utilities/utilities"; @import "./utilities/utilities";
@import "./print"; @import "./print";
@import "./skiptomain";

View File

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

View File

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

30
_sass/skiptomain.scss Normal file
View File

@@ -0,0 +1,30 @@
// Skipnav
// Skip to main content
a.skip-to-main {
left: -999px;
position: absolute;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
z-index: -999;
}
a.skip-to-main:focus,
a.skip-to-main:active {
color: $link-color;
background-color: $body-background-color;
left: auto;
top: auto;
width: 30%;
height: auto;
overflow: auto;
margin: 10px 35%;
padding: 5px;
border-radius: 15px;
border: 4px solid $btn-primary-color;
text-align: center;
font-size: 1.2em;
z-index: 999;
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,16 +1,17 @@
//
// Typography // 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, h1,
.text-alpha { .text-alpha {
@include fs-8; @include fs-8;
font-weight: 300; font-weight: 300;
} }
h2, h2,
.text-beta { .text-beta,
#toctitle {
@include fs-6; @include fs-6;
} }
@@ -22,6 +23,7 @@ h3,
h4, h4,
.text-delta { .text-delta {
@include fs-2; @include fs-2;
font-weight: 400; font-weight: 400;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.1em; letter-spacing: 0.1em;
@@ -34,13 +36,11 @@ h4 code {
h5, h5,
.text-epsilon { .text-epsilon {
@include fs-3; @include fs-3;
color: $grey-dk-200;
} }
h6, h6,
.text-zeta { .text-zeta {
@include fs-2; @include fs-2;
color: $grey-dk-200;
} }
.text-small { .text-small {

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,8 +1,4 @@
//
// Utility classes for typography // Utility classes for typography
//
// stylelint-disable primer/selector-no-utility, primer/no-override
.fs-1 { .fs-1 {
@include fs-1; @include fs-1;
@@ -87,5 +83,3 @@
.text-uppercase { .text-uppercase {
text-transform: uppercase !important; 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, button,
input { /* 1 */ input {
/* 1 */
overflow: visible; overflow: visible;
} }
@@ -184,7 +185,8 @@ input { /* 1 */
*/ */
button, button,
select { /* 1 */ select {
/* 1 */
text-transform: none; text-transform: none;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -69,7 +69,7 @@ function initNav() {
function initSearch() { function initSearch() {
var request = new XMLHttpRequest(); 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(){ request.onload = function(){
if (request.status >= 200 && request.status < 400) { if (request.status >= 200 && request.status < 400) {
@@ -454,7 +454,19 @@ jtd.getTheme = function() {
jtd.setTheme = function(theme) { jtd.setTheme = function(theme) {
var cssFile = document.querySelector('[rel="stylesheet"]'); 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 // Document ready
@@ -464,6 +476,7 @@ jtd.onReady(function(){
{%- if site.search_enabled != false %} {%- if site.search_enabled != false %}
initSearch(); initSearch();
{%- endif %} {%- endif %}
scrollNav();
}); });
})(window.jtd = window.jtd || {}); })(window.jtd = window.jtd || {});

View File

@@ -3,7 +3,7 @@ permalink: /assets/js/search-data.json
--- ---
{ {
{%- assign i = 0 -%} {%- assign i = 0 -%}
{%- assign pages_array = '' | split: '' -%} {%- assign pages_array = "" | split: "" -%}
{%- assign pages_array = pages_array | push: site.html_pages -%} {%- assign pages_array = pages_array | push: site.html_pages -%}
{%- if site.just_the_docs.collections -%} {%- if site.just_the_docs.collections -%}
{%- for collection_entry in 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 }}, "doc": {{ page.title | jsonify }},
"title": {{ 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 }}, "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 }}" "relUrl": "{{ url }}"
} }
{%- assign i = i | plus: 1 -%} {%- assign i = i | plus: 1 -%}
@@ -61,7 +61,7 @@ permalink: /assets/js/search-data.json
"doc": {{ page.title | jsonify }}, "doc": {{ page.title | jsonify }},
"title": {{ 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 }}, "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 }}" "relUrl": "{{ page.url }}"
} }
{%- assign i = i | plus: 1 -%} {%- assign i = i | plus: 1 -%}

View File

@@ -7,8 +7,7 @@ nav_order: 2
# Configuration # Configuration
{: .no_toc } {: .no_toc }
Just the Docs has some specific configuration parameters that can be defined in your Jekyll site's \_config.yml file.
Just the Docs has some specific configuration parameters that can be defined in your Jekyll site's _config.yml file.
{: .fs-6 .fw-300 } {: .fs-6 .fw-300 }
## Table of contents ## Table of contents
@@ -19,9 +18,7 @@ Just the Docs has some specific configuration parameters that can be defined in
--- ---
View this site's [\_config.yml](https://github.com/just-the-docs/just-the-docs/tree/main/_config.yml) file as an example.
View this site's [_config.yml](https://github.com/pmarsceill/just-the-docs/tree/master/_config.yml) file as an example.
## Site logo ## Site logo
@@ -62,13 +59,26 @@ search:
button: false 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 ## Aux links
```yaml ```yaml
# Aux links for the upper right navigation # Aux links for the upper right navigation
aux_links: aux_links:
"Just the Docs on GitHub": "Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs" - "//github.com/just-the-docs/just-the-docs"
# Makes Aux links open in a new tab. Default is false # Makes Aux links open in a new tab. Default is false
aux_links_new_tab: false aux_links_new_tab: false
@@ -84,6 +94,11 @@ aux_links_new_tab: false
heading_anchors: true 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 ## Footer content
```yaml ```yaml
@@ -91,7 +106,7 @@ heading_anchors: true
# appears at the bottom of every page's main content # appears at the bottom of every page's main content
# Note: The footer_content option is deprecated and will be removed in a future major release. Please use `_includes/footer_custom.html` for more robust # Note: The footer_content option is deprecated and will be removed in a future major release. Please use `_includes/footer_custom.html` for more robust
markup / liquid-based content. markup / liquid-based content.
footer_content: "Copyright &copy; 2017-2020 Patrick Marsceill. Distributed by an <a href=\"https://github.com/pmarsceill/just-the-docs/tree/master/LICENSE.txt\">MIT license.</a>" footer_content: "Copyright &copy; 2017-2020 Patrick Marsceill. Distributed by an <a href=\"https://github.com/just-the-docs/just-the-docs/tree/main/LICENSE.txt\">MIT license.</a>"
# Footer last edited timestamp # Footer last edited timestamp
last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
@@ -100,8 +115,8 @@ last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https:/
# Footer "Edit this page on GitHub" link text # Footer "Edit this page on GitHub" link text
gh_edit_link: true # show or hide edit this page link gh_edit_link: true # show or hide edit this page link
gh_edit_link_text: "Edit this page on GitHub." gh_edit_link_text: "Edit this page on GitHub."
gh_edit_repository: "https://github.com/pmarsceill/just-the-docs" # the github URL for your repo gh_edit_repository: "https://github.com/just-the-docs/just-the-docs" # the github URL for your repo
gh_edit_branch: "master" # the branch that your docs is served from gh_edit_branch: "main" # the branch that your docs is served from
# gh_edit_source: docs # the source that your files originate from # gh_edit_source: docs # the source that your files originate from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately
``` ```
@@ -111,7 +126,7 @@ _note: `footer_content` is deprecated, but still supported. For a better experie
- the "page last modified" data will only display if a page has a key called `last_modified_date`, formatted in some readable date format - the "page last modified" data will only display if a page has a key called `last_modified_date`, formatted in some readable date format
- `last_edit_time_format` uses Ruby's DateTime formatter; see examples and more information [at this link.](https://apidock.com/ruby/DateTime/strftime) - `last_edit_time_format` uses Ruby's DateTime formatter; see examples and more information [at this link.](https://apidock.com/ruby/DateTime/strftime)
- `gh_edit_repository` is the URL of the project's GitHub repository - `gh_edit_repository` is the URL of the project's GitHub repository
- `gh_edit_branch` is the branch that the docs site is served from; defaults to `master` - `gh_edit_branch` is the branch that the docs site is served from; defaults to `main`
- `gh_edit_source` is the source directory that your project files are stored in (should be the same as [site.source](https://jekyllrb.com/docs/configuration/options/)) - `gh_edit_source` is the source directory that your project files are stored in (should be the same as [site.source](https://jekyllrb.com/docs/configuration/options/))
- `gh_edit_view_mode` is `"tree"` by default, which brings the user to the github page; switch to `"edit"` to bring the user directly into editing mode - `gh_edit_view_mode` is `"tree"` by default, which brings the user to the github page; switch to `"edit"` to bring the user directly into editing mode
@@ -121,6 +136,7 @@ _note: `footer_content` is deprecated, but still supported. For a better experie
# Color scheme supports "light" (default) and "dark" # Color scheme supports "light" (default) and "dark"
color_scheme: dark color_scheme: dark
``` ```
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button> <button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script> <script>
@@ -139,6 +155,59 @@ jtd.addEvent(toggleDarkMode, 'click', function(){
See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more information. 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 ## Google Analytics
```yaml ```yaml
@@ -151,37 +220,44 @@ ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (t
## Document collections ## Document collections
By default, the navigation and search include normal [pages](https://jekyllrb.com/docs/pages/). 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 test files in the `_tests` folder and create the `tests` collection:
For example, put all your documentation files in the `_docs` folder and create the `docs` collection:
```yaml ```yaml
# Define Jekyll collections # Define Jekyll collections
collections: collections:
# Define a collection named "docs", its documents reside in the "_docs" directory # Define a collection named "tests", its documents reside in the "_tests" directory
docs: tests:
permalink: "/:collection/:path/" permalink: "/:collection/:path/"
output: true output: true
just_the_docs: just_the_docs:
# Define which collections are used in just-the-docs # Define which collections are used in just-the-docs
collections: collections:
# Reference the "docs" collection # Reference the "tests" collection
docs: tests:
# Give the collection a name # Give the collection a name
name: Documentation name: Tests
# Exclude the collection from the navigation # Exclude the collection from the navigation
# Supports true or false (default) # 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 # Exclude the collection from the search
# Supports true or false (default) # 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. You can reference multiple collections.
This creates categories in the navigation with the configured names. This creates categories in the navigation with the configured names.
```yaml ```yaml
collections: collections:
docs: tests:
permalink: "/:collection/:path/" permalink: "/:collection/:path/"
output: true output: true
tutorials: tutorials:
@@ -190,9 +266,12 @@ collections:
just_the_docs: just_the_docs:
collections: collections:
docs: tests:
name: Documentation name: Tests
tutorials: tutorials:
name: 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

@@ -16,6 +16,7 @@ nav_order: 6
--- ---
## Color schemes ## Color schemes
{: .d-inline-block } {: .d-inline-block }
New New
@@ -32,6 +33,7 @@ To enable a color scheme, set the `color_scheme` parameter in your site's `_conf
# Color scheme supports "light" (default) and "dark" # Color scheme supports "light" (default) and "dark"
color_scheme: dark color_scheme: dark
``` ```
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button> <button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script> <script>
@@ -56,7 +58,18 @@ You can add custom schemes.
If you want to add a scheme named `foo` (can be any name) just add a file `_sass/color_schemes/foo.scss` (replace `foo` by your scheme name) If you want to add a scheme named `foo` (can be any name) just add a file `_sass/color_schemes/foo.scss` (replace `foo` by your scheme name)
where you override theme variables to change colors, fonts, spacing, etc. where you override theme variables to change colors, fonts, spacing, etc.
Available variables are listed in the [_variables.scss](https://github.com/pmarsceill/just-the-docs/tree/master/_sass/support/_variables.scss) file. {: .note }
Since the default color scheme is `light`, your custom scheme is implicitly based on the variable settings used by the `light` scheme.
If you want your custom scheme to be based on the `dark` scheme, you need to start your file with the following line:
```scss
@import "./color_schemes/dark";
```
You can define custom schemes based on other custom schemes in the same way.
Available variables are listed in the [\_variables.scss](https://github.com/just-the-docs/just-the-docs/tree/main/_sass/support/_variables.scss) file.
For example, to change the link color from the purple default to blue, include the following inside your scheme file: For example, to change the link color from the purple default to blue, include the following inside your scheme file:
@@ -67,12 +80,17 @@ For example, to change the link color from the purple default to blue, include t
$link-color: $blue-000; $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. _Note:_ Editing the variables directly in `_sass/support/variables.scss` is not recommended and can cause other dependencies to fail.
Please use scheme files. Please use scheme files.
### Use a custom scheme ### Use a custom scheme
To use the custom color scheme, only set the `color_scheme` parameter in your site's `_config.yml` file: To use the custom color scheme, only set the `color_scheme` parameter in your site's `_config.yml` file:
```yaml ```yaml
color_scheme: foo color_scheme: foo
``` ```
@@ -80,7 +98,7 @@ color_scheme: foo
### Switchable custom scheme ### Switchable custom scheme
If you want to be able to change the scheme dynamically, for example via javascript, just add a file `assets/css/just-the-docs-foo.scss` (replace `foo` by your scheme name) If you want to be able to change the scheme dynamically, for example via javascript, just add a file `assets/css/just-the-docs-foo.scss` (replace `foo` by your scheme name)
with the following content:` with the following content:
{% raw %} {% raw %}
--- ---
@@ -91,7 +109,7 @@ with the following content:`
This allows you to switch the scheme via the following javascript. This allows you to switch the scheme via the following javascript.
```js ```js
jtd.setTheme('foo'); jtd.setTheme("foo")
``` ```
## Override and completely custom styles ## Override and completely custom styles
@@ -109,7 +127,95 @@ For example, if you'd like to add your own styles for printing a page, you could
```scss ```scss
// Print-only styles. // Print-only styles.
@media print { @media print {
.side-bar, .page-header { display: none; } .side-bar,
.main-content { max-width: auto; margin: 1em;} .page-header {
display: none;
}
.main-content {
max-width: auto;
margin: 1em;
}
} }
``` ```
## Override includes
You can customize the theme by overriding any of the custom [Jekyll includes](https://jekyllrb.com/docs/includes/) files that it provides.
To do this, create an `_includes` directory and make a copy of the specific file you wish to modify. The content in 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).
Just the Docs provides the following custom includes files:
### Custom TOC Heading
`_includes/toc_heading_custom.html`
If the page has any child pages, and `has_toc` is not set to `false`, this content appears as a heading above the [auto-generating list of child pages]({{ site.baseurl }}{% link docs/navigation-structure.md %}#auto-generating-table-of-contents) after the page's content.
#### Example
{: .no_toc }
To change the default TOC heading to "Contents", create `_includes/toc_heading_custom.html` and add:
```html
<h2 class="text-delta">Contents</h2>
```
The (optional) `text-delta` class makes the heading appear as **Contents**{:.text-delta} .
### 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]({{ site.baseurl }}{% 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
{: .no_toc }
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.`.
### Custom Search Placeholder
`_includes/search_placeholder_custom.html`
Content added to this file will replace the default placeholder text in the search bar (and its `aria-label`), after stripping HTML and leading/trailing whitespace. By default, the content of the include is:
{% raw %}
```liquid
Search {{site.title}}
```
{% endraw %}
Override this file to render a custom placeholder. One common use-case is internationalization; for example,
{% raw %}
```liquid
Chercher notre site
```
{% endraw %}
would make the placeholder text "Chercher notre site". [Liquid code](https://jekyllrb.com/docs/liquid/) (including [Jekyll variables](https://jekyllrb.com/docs/variables/)) is also supported.

View File

@@ -4,6 +4,22 @@ title: Markdown kitchen sink
nav_order: 99 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~~. Text can be **bold**, _italic_, or ~~strikethrough~~.
[Link to another page](another-page). [Link to another page](another-page).
@@ -53,6 +69,12 @@ end
###### [](#header-6)Header 6 ###### [](#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 | | head1 | head two | three |
|:-------------|:------------------|:------| |:-------------|:------------------|:------|
| ok | good swedish fish | nice | | ok | good swedish fish | nice |
@@ -78,6 +100,24 @@ end
1. Item three 1. Item three
1. Item four 1. Item four
### And an ordered list, continued:
1. Item one
1. Item two
Some text
{:style="counter-reset:none"}
1. Item three
1. Item four
### And an ordered list starting from 42:
{:style="counter-reset:step-counter 41"}
1. Item 42
1. Item 43
1. Item 44
### And a nested list: ### And a nested list:
- level 1 item - level 1 item
@@ -118,14 +158,62 @@ end
- [ ] Hello, this is another TODO item - [ ] Hello, this is another TODO item
- [x] Goodbye, this item is done - [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 ### Small image
![](https://assets-cdn.github.com/images/icons/emoji/octocat.png) ![](../../assets/images/small-image.jpg)
### Large image ### Large image
![](https://guides.github.com/activities/hello-world/branching.png) ![](../../assets/images/large-image.jpg)
"[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. ### Definition lists can be used with HTML syntax.
@@ -171,10 +259,58 @@ Term2
### More code ### 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. 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. The final element.
``` ```

View File

@@ -12,7 +12,7 @@ nav_order: 5
Table of contents Table of contents
</summary> </summary>
{: .text-delta } {: .text-delta }
1. TOC - TOC
{:toc} {:toc}
</details> </details>
@@ -39,15 +39,15 @@ layout: default
title: Customization title: Customization
nav_order: 4 nav_order: 4
--- ---
``` ```
The parameter values determine the order of the top-level pages, and of child pages with the same parent. You can reuse the same parameter values (e.g., integers starting from 1) for the child pages of different parents. The parameter values determine the order of the top-level pages, and of child pages with the same parent. You can reuse the same parameter values (e.g., integers starting from 1) for the child pages of different parents.
The parameter values can be numbers (integers, floats) and/or strings. When you omit `nav_order` parameters, they default to the titles of the pages, which are ordered alphabetically. Pages with numerical `nav_order` parameters always come before those with strings or default `nav_order` parameters. If you want to make the page order independent of the page titles, you can set explicit `nav_order` parameters on all pages. The parameter values can be numbers (integers, floats) and/or strings. Pages with numerical `nav_order` parameters always come before those with string `nav_order` parameters. When you omit `nav_order` parameters, they default to the titles of the pages. If you want to make the page order independent of the page titles, you can set explicit `nav_order` parameters on all pages. All pages with explicit `nav_order` parameters
come before all pages ordered by their `title` values.
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. Enclosing strings in quotation marks is optional. 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. Enclosing strings in (single or double) quotation marks is optional. Numeric values are not enclosed in quotation marks, e.g., `42`, `-1.0`; numbers in quotation marks are lexicographically ordered, so `"10"` comes before `"2"`, for example.
> *Note for users of previous versions:* `nav_sort: case_insensitive` previously affected the ordering of numerical `nav_order` parameters: e.g., `10` came before `2`. Also, all pages with explicit `nav_order` parameters previously came before all pages with default parameters. Both were potentially confusing, and they have now been eliminated.
--- ---
@@ -64,11 +64,12 @@ layout: default
title: 404 title: 404
nav_exclude: true nav_exclude: true
--- ---
``` ```
The `nav_exclude` parameter does not affect the [auto-generating list of child pages](#auto-generating-table-of-contents), which you can use to access pages excluded from the main navigation. The `nav_exclude` parameter does not affect the [auto-generating list of child pages](#auto-generating-table-of-contents), which you can use to access pages excluded from the main navigation.
Pages with no `title` are automatically excluded from the navigation. Pages with no `title` are automatically excluded from the main navigation.
--- ---
@@ -104,6 +105,7 @@ Sometimes you will want to create a page with many children (a section). First,
``` ```
On the parent pages, add this YAML front matter parameter: On the parent pages, add this YAML front matter parameter:
- `has_children: true` (tells us that this is a parent page) - `has_children: true` (tells us that this is a parent page)
#### Example #### Example
@@ -116,11 +118,13 @@ title: UI Components
nav_order: 2 nav_order: 2
has_children: true has_children: true
--- ---
``` ```
Here we're setting up the UI Components landing page that is available at `/docs/ui-components`, which has children and is ordered second in the main nav. Here we're setting up the UI Components landing page that is available at `/docs/ui-components`, which has children and is ordered second in the main nav.
### Child pages ### Child pages
{: .text-gamma } {: .text-gamma }
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). 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).
@@ -135,10 +139,27 @@ title: Buttons
parent: UI Components parent: UI Components
nav_order: 2 nav_order: 2
--- ---
``` ```
The Buttons page appears as a child of UI Components and appears second in the UI Components section. 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 ### 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. 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.
@@ -154,9 +175,11 @@ nav_order: 2
has_children: true has_children: true
has_toc: false has_toc: false
--- ---
``` ```
### Children with children ### Children with children
{: .text-gamma } {: .text-gamma }
Child pages can also have children (grandchildren). This is achieved by using a similar pattern on the child and grandchild pages. Child pages can also have children (grandchildren). This is achieved by using a similar pattern on the child and grandchild pages.
@@ -175,6 +198,7 @@ parent: UI Components
nav_order: 2 nav_order: 2
has_children: true has_children: true
--- ---
``` ```
```yaml ```yaml
@@ -185,6 +209,7 @@ parent: Buttons
grand_parent: UI Components grand_parent: UI Components
nav_order: 1 nav_order: 1
--- ---
``` ```
This would create the following navigation structure: This would create the following navigation structure:
@@ -203,6 +228,9 @@ This would create the following navigation structure:
+-- .. +-- ..
``` ```
{: .note }
Currently, the navigation structure is limited to 3 levels: grandchild pages cannot themselves have child pages.
--- ---
## Auxiliary Links ## Auxiliary Links
@@ -216,7 +244,26 @@ To add auxiliary links to your site (in the upper right on all pages), add it to
# Aux links for the upper right navigation # Aux links for the upper right navigation
aux_links: aux_links:
"Just the Docs on GitHub": "Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs" - "//github.com/just-the-docs/just-the-docs"
```
---
## External Navigation Links
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
``` ```
--- ---

View File

@@ -94,13 +94,13 @@ The search button displays in the bottom right corner of the screen and triggers
search.button: true search.button: true
``` ```
## Hiding pages from search ## Hiding pages from search
Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g, a 404 page. Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g, a 404 page.
To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter: To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter:
#### Example #### Example
{: .no_toc } {: .no_toc }
```yaml ```yaml
@@ -110,8 +110,8 @@ title: Page not found
nav_exclude: true nav_exclude: true
search_exclude: true search_exclude: true
--- ---
```
```
## Generate search index when used as a gem ## Generate search index when used as a gem
@@ -124,4 +124,4 @@ $ bundle exec just-the-docs rake search:init
``` ```
This command creates the `assets/js/zzzz-search-data.json` file that Jekyll uses to create your search index. This command creates the `assets/js/zzzz-search-data.json` file that Jekyll uses to create your search index.
Alternatively, you can create the file manually with [this content]({{ site.github.repository_url }}/blob/master/assets/js/zzzz-search-data.json). Alternatively, you can create the file manually with [this content]({{ site.github.repository_url }}/blob/main/assets/js/zzzz-search-data.json).

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`.

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