115 Commits

Author SHA1 Message Date
Matthew Wang
22fc061ef4
0.6.2 2023-09-19 17:26:18 -07:00
Peter Mosses
0964e1f8ae
Remove the passive toggle (#1335)
* Remove "passive" toggle

PR #1244 introduced the "passive" toggle, but just-the-docs.js subsequently disabled the only styling that used it, so it became redundant.
This removes it.

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Matt Wang <matt@matthewwang.me>

* Update CHANGELOG.md

Co-authored-by: Matt Wang <matt@matthewwang.me>

---------

Co-authored-by: Matt Wang <matt@matthewwang.me>
2023-09-06 22:20:26 +02:00
Matthew Wang
bebaee046a
Update CHANGELOG.md 2023-08-30 10:14:43 -07:00
Matthew Wang
3a205e545c
Fix typo in Changelog 2023-08-26 13:36:37 -04:00
Matthew Wang
cef1203301
v0.6.1 2023-08-26 13:33:17 -04:00
Matthew Wang
7b181153a8
Prep v0.6.0 2023-08-19 21:57:45 -04:00
Peter Mosses
9d0ce1c22a
Fix the navigation panel (#1244)
* Fix the nav html and cache it

- Remove `active` class from nav html
- Add js to insert `active` class on link to selected page
- Include attempt to generate page-specific css for same styling when js is off

* Refactor nav, breadcrumbs, children_nav

Fix #1118

Improve the modularity of building the nav-panel, breadcrumbs, and children-nav
by making them independent. This also significantly simplifies the Liquid code.

* Manual merge of fix-leakage

Also fix order of breadcrumbs

* Fix order of breadcrumbs

* Revert layout in HTML

Revert to the previous layout in the HTML, to allow the use of `diff` to check the built site.

* Update breadcrumbs.html

Revert inclusion of single breadcrumb for top-level pages.

* Update breadcrumbs.html

Revert to the previous layout in the HTML, to allow the use of `diff` to check the built site.

* Update children_nav.html

Revert to the previous layout in the HTML, to allow the use of `diff` to check the built site.

* Delete nav_init.html

* Update sidebar.html

Caches.

* Add a comment

* Update nav.html

- Comment on independence from page.
- Remove redundant comment.
- Remove superfluous conditionals.

* Update just-the-docs.gemspec

Revert jekyll version spec change.

* Update just-the-docs.gemspec

Revert runtime dependency on kramdown-parser-gfm.

* Revert inclusion of activation.scss.liquid

Inclusion makes HTML of all pages differ from 0.5.1

* Update default.html

Restore deleted "<!DOCTYPE html>"

* Update children_nav.html

Restore line break.

* Delete activation.scss.liquid

This was merely an example of page-specific CSS for use when JS off.

* Remove an unused include parameter

`nav.html` does not depend on `include.key`.

* Generate page-specific styling for nav links and lists in the side-nav

In this PR, the code in `includes/nav.html` is fixed, and none of its elements have class `active`. When JS is enabled, `activateNav()` adds the class `active` to all nav-list-items that enclose the nav-list-link to the current page, so the navigation works as usual. Unobtrusive JS requires the same behaviour when JS is disabled.

- Add `_includes/css/activation.scss.liquid` to compute the indices in the enclosing nav-lists of the nav-list-link to the current page, and generate page-specific styling.
- Insert Liquid code in `_includes/head.html` to include the CSS generated by `_includes/css/activation.scss.liquid` (which depends on `site.color_scheme`).
- Update the toggling in `initNav()` to allow also contraction of enclosing levels when JS is enabled.

Caveat: When JS is enabled, buttons can be used to switch the colour scheme dynamically. The page-specific styling of the site-nav is generated statically, and doesn't change, so the background-image of the nav-list-link to the current page is incorrect. (I guess that could be fixed by generating a style element for each available colour scheme, and using JS to reorder the stylesheets in the DOM.)

A further issue is that the `@import` rules used in `_includes/head.html` cause duplication. Replacing them by `@use` rules would avoid duplication, but that is out of scope for this PR.

* Fix activation for collections

- Adjust generated selectors to pages in collections.
- Expand all folded collections when JS is disabled.

This PR should now make unobtrusive use of JS:

- When JS is disabled, the navigation panel shows links to the top pages in all collections (in contrast to the current version of the theme).
- When JS is enabled, folded collections remain folded until their pages are selected.

* Respect `child_nav_order`

- Assumes reverse order when set to any truthy value.

* Suppress liquid line breaks

* Cache the search for favicon.ico

- Move the code for finding the favicon.ico file to `_includes/favicon.html`.
- Replace that code in `_includes.html` by a cached include of `favicon.html`.

* Add "jekyll-include-cache" in fixtures

Needed when CI ignores the gemspec.

* Add gem "jekyll-include-cache" in fixtures

Needed when CI ignores the gemspec.

* Update head.html

- Avoid duplication of color_scheme CSS in `style` element.
- Avoid generation of whitespace by Liquid code.

* Update sorted_pages.html

- Minor optimisation.
- Minor improvements to layout of Liquid code.

* Ensure split is not at start of rules generated by css/activation.scss.liquid

A custom color scheme might not import any highlighting style rules, so we should not assume that there is anything before the first occurrence of `.site-nav`.

* Update head.html

- Add implicit import of light color scheme.
- Revert to previous Liquid code for removing color scheme rules.

* Manual resolution of merge conflicts with v0.5.2

- Copied replacement of links on nav expanders by buttons.
- Removed (page-dependent) conditions associated with `active`.

* Manual resolution of merge conflict with v0.5.2

If previously "" (neither active nor passive), then `active && passive` is true, and the target is now "active".
If previously only "active", then the target is now just "passive".
If previously only "passive", then the target is now just "active".
The state "active passive" is never used.
The value of `active` is true just when the target is left "active".

* Update fixtures/Gemfile-github-pages

Co-authored-by: Matt Wang <matt@matthewwang.me>

* Update head.html

The result of `activation.scss.liquid` is "" for pages with no `title` or with `nav_exclude`. This update  stops `head.html`  including a `style` element with an invalid body on such pages.

Note that when the result of `scssify` doesn't contain `.site-nav`, `split` produces a one-element array, so `shift` produces an empty array, and `join` then produces an empty string.

* Fix omitted `.site-nav`

Restore the previous prepending of `.site-nav`, which was dropped when suppressing the generation of an incorrect `<style>` element for pages excluded from the navigation.

* Add a footnote about `.site-nav`

* Make setTheme remove background images from nav links

With a fixed nav panel, a <style> in the <head> sets a background image to highlight the nav list link to the current page. The image color depends on site.color_scheme.

Ideally, setTheme(theme) would change the image color to match the theme/scheme. Here, for simplicity, we merely remove the image.

* Explain `nav_fold` in collections.

* Refactor

Attempt at cleaning up the duplicated nav links code and simplifying removal of the background image:

* Add function `navLink()`
* Replace `removeNavBackgroundImages()` by `removeNavBackgroundImage()`
* Replace var `siteNav` by `document.getElementById('site-nav')`
* Replace code in `scrollNav` and `activateNav` by `navLink()`
* Replace a (non-local!) reference to `siteNav` by `document`

* Disable the page-specific stylesheet when JS is enabled

The page-specific `<style>` in the `<head>` is needed only when JS is disabled. Moreover, it incorrectly overrides dynamic stylesheets set by setTheme(theme).

The page-specific stylesheet is assumed to have index 1 in the list of stylesheets. It would be safer to select it by `id`, but adding an `id` can break existing sites.

* Avoid constraint on use of `.site-nav`, and refactor

Avoid the constraint on use of `.site-nav` by determining how many occurrences are produced by `css/activation.scss.liquid` when custom color schemes are ignored.

Move the Liquid code used for generating the page-dependent style element to a new include `head_nav.html`, to simplify `head.html`.

Remove the footnote about `.site-nav` in `docs/customization.md`.

Test the styling with JS disabled, since the resulting style element is disabled by JS.

* Revert "Avoid constraint on use of `.site-nav`, and refactor"

This reverts commit 5284892a7486ef9d2af9929c8a509b89731bb233.

* Avoid constraint on use of `.site-nav`, and refactor

(This corrects a bug in the previous reverted commit for excluded pages such as 404.html.)

Avoid the constraint on use of `.site-nav` by determining how many occurrences are produced by `css/activation.scss.liquid` when custom color schemes are ignored.

Move the Liquid code used for generating the page-dependent style element to a new include `head_nav.html`, to simplify `head.html`.

Remove the footnote about `.site-nav` in `docs/customization.md`.

Test the styling with JS disabled, since the resulting style element is disabled by JS.

* Update comment

* Fix duplicate plugins setting

@mattxwang noticed that the second `plugins` setting was apparently overriding the first, leading to a missing plugin when using `fixtures/Gemfile-github-pages`.

* Avoid double inclusion of activation file

The previous changes to remove the constraint re ".site-nav" duplicated the inclusion of `css/activation.scss.liquid`.
That caused significant extra build time, which the current changes to `head_nav.html` avoid (without affecting the built site).

* Clarify collection configuration docs

* Update and clarify the CHANGELOG

---------

Co-authored-by: Matt Wang <matt@matthewwang.me>
2023-08-18 20:35:14 +02:00
Matthew Wang
e044134886
Update CHANGELOG 2023-07-28 12:08:16 -04:00
Matt Wang
f246498a8f
Update CHANGELOG.md 2023-07-24 19:13:18 -04:00
Matthew Wang
9959191af1
v0.5.4 2023-07-05 01:05:57 -04:00
Matthew Wang
56c908e995
v0.5.3 2023-06-17 13:38:02 -07:00
Matthew Wang
ea0d5d8ec7
v0.5.2 2023-06-06 21:48:55 -07:00
Matt Wang
790a8b5c06
Update CHANGELOG.md 2023-06-06 19:36:04 -07:00
Matthew Wang
2b1cb67790
Update changelog 2023-05-31 13:39:51 -07:00
Matt Wang
0b93b35a3f
Update canonical site domain to be just-the-docs.com (#1211)
This PR locks in *almost* everything to switch over to [just-the-docs.com](https://just-the-docs.com)!

It:

- replaces all instances to the theme docs site (`https://just-the-docs.github.io/just-the-docs`) with `https://just-the-docs.com`
    - as @max06 has noted below, we do not change other links with the same `.github.io` prefix
- changes the `site.url` and `site.baseurl` in the theme docs' `_config.yml`
- adds a note in both the changelog and migration guide that a frozen version of `v0.3.3` docs is available at [https://v0-3-3-docs.just-the-docs.com/](https://v0-3-3-docs.just-the-docs.com/)

Closes #1160.
2023-05-14 22:06:14 -07:00
Peter Mosses
8e38759613
Fix liquid variable leakage in navigation components (#1243)
* Refactor nav, breadcrumbs, children_nav

Fix #1118

Improve the modularity of building the nav-panel, breadcrumbs, and children-nav
by making them independent. This also significantly simplifies the Liquid code.

* Fix order of breadcrumbs

* Update breadcrumbs.html

Revert inclusion of single breadcrumb for top-level pages.

* Update breadcrumbs.html

* Update children_nav.html

Revert to the previous layout in the HTML, to allow the use of `diff` to check the built site.

* Update minimal.html

Remove the previously required workaround involving `nav.html`.

* Add docs pages about layouts

The aim of the initial version of these docs pages is to illustrate the difference between the default and minimal layouts.

* Update CHANGELOG.md
2023-05-09 17:57:26 +02:00
Matthew Wang
aaf5a68154
Prep v0.5.1 2023-04-25 09:51:08 -07:00
Matt Wang
a9bced2f26
Update CHANGELOG.md 2023-04-22 13:39:09 -07:00
Matt Wang
d107faaff4
Update CHANGELOG.md (#1231) 2023-04-19 23:07:05 -07:00
Matthew Wang
6a6cc20620
Prep v0.5.0 2023-04-12 12:38:17 -07:00
Matt Wang
786678a6a2
Update CHANGELOG.md 2023-04-11 17:29:37 -07:00
Matt Wang
27123d43ad
Update CHANGELOG.md 2023-03-28 18:13:04 -07:00
Matt Wang
7defb3164b
Update CHANGELOG.md 2023-03-14 17:31:36 -07:00
Matthew Wang
117195fb1c
Prep for v0.4.2 2023-03-14 17:08:54 -07:00
Matt Wang
ac5c99c77c
Update CHANGELOG.md 2023-03-09 08:18:14 -08:00
Matt Wang
cc9bead2e9
Update CHANGELOG.md 2023-03-08 15:22:49 -08:00
Matt Wang
67d7465dbe
Update CHANGELOG.md 2023-03-07 18:41:37 -08:00
Matthew Wang
1289f6866f
Prep for v0.4.1 2023-02-23 15:20:08 -08:00
Matt Wang
6a2c602328
Update CHANGELOG.md 2023-02-23 15:09:31 -08:00
Matt Wang
b20acf0edb
Update CHANGELOG.md 2023-02-18 17:28:51 -08:00
Matt Wang
f8e93980b4
Update CHANGELOG.md 2023-02-17 14:53:34 -08:00
Matt Wang
00cb3ba94b
Update CHANGELOG.md 2023-02-14 11:03:13 -08:00
Matthew Wang
dd1e80ae1c
Prep for v0.4.0: changelog, docs, gemspec bump 2023-02-05 16:20:14 -08:00
Matthew Wang
86dbc2d4d7
Prep for v0.4.0.rc5; update gemspec and CHANGELOG 2023-02-05 15:14:02 -08:00
Matt Wang
c7c99992f9
Update CHANGELOG.md 2023-02-05 15:00:01 -08:00
Matt Wang
4a7fbbca92
Update CHANGELOG.md 2023-02-05 14:53:21 -08:00
Matt Wang
cf72c436d9
Update CHANGELOG.md 2023-01-29 17:51:17 -08:00
Matt Wang
c13a5d2cdf
Update CHANGELOG.md 2023-01-29 17:49:20 -08:00
Matt Wang
3ce3dc74e0
Update CHANGELOG.md 2023-01-23 11:00:48 -08:00
Matt Wang
3de6c589aa
Update CHANGELOG.md 2023-01-22 23:36:24 -08:00
Matt Wang
73a7e7cb33
Update CHANGELOG.md 2023-01-18 11:17:01 -08:00
Matt Wang
70e55f1d7b
Update CHANGELOG.md 2023-01-13 19:09:57 -08:00
Matt Wang
5e7a481258
Update CHANGELOG.md 2023-01-13 15:59:06 -08:00
Matt Wang
0df627058b
Update CHANGELOG.md 2023-01-10 11:25:03 -08:00
Matt Wang
c1b944bc3a
Update CHANGELOG.md 2023-01-08 22:14:42 -08:00
Matt Wang
f84e524400
Update CHANGELOG.md 2023-01-08 22:14:21 -08:00
Matthew Wang
ed20aed824
Update CHANGELOG 2023-01-07 17:41:04 -08:00
Matthew Wang
56448e86f0
reformat changelog for upcoming release 2023-01-07 17:35:10 -08:00
Matt Wang
ad490360ba
Update CHANGELOG.md 2023-01-07 16:19:57 -08:00
Matt Wang
4469f45cbd
Update CHANGELOG.md 2023-01-04 20:29:31 -08:00