Commit Graph

1310 Commits

Author SHA1 Message Date
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 v0.4.0.rc2 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