Compare commits

...

24 Commits

Author SHA1 Message Date
Matt Wang
facad4c85a 0.9.0 2024-08-12 12:23:52 -07:00
Matt Wang
3974fb87e2 Prep: 0.9.0 2024-08-12 12:21:46 -07:00
Matt Wang
060bb31a78 Apply Stylelint to vendor/ code, fix errors (#1508)
Changes are in three categories:

- whitespace
- devendoring prefixes for properties that have entered the CSS spec - reasonable to autofix
- removing a duplicate `monospace` in `monospace, monospace` `font-family` decl in normalize.scss - not autofix
2024-08-12 12:10:00 -07:00
Matt Wang
4862864318 Bump stylelint to v16, SCSS config to v13 (#1507)
Seems like this major update isn't caught by dependabot. Should be a straightforward upgrade!

Separately, going to plan on removing files from our `ignoreFiles` -- in particular, auditing our vendor files (which have some issues).
2024-08-12 11:34:37 -07:00
Bob van de Vijver
9aa1eeac3c Fix Sass mixed declarations (#1495)
As requested (https://github.com/just-the-docs/just-the-docs/issues/1493#issuecomment-2227203330), a PR to resolve the Sass deprecations. Seems to solve all deprecations I am seeing, and I am not seeing any weird changes in the resulting CSS file.

Closes #1493.

<details>
<summary>Git diff of generated CSS file</summary>


```patch
diff --git a/just-the-docs-default.css b/just-the-docs-default.css.new
index fe42b2d..50a103b 100644
--- a/just-the-docs-default.css
+++ b/just-the-docs-default.css.new
@@ -591,9 +591,11 @@ template {
 }

 html {
-  font-size: 0.875rem !important;
   scroll-behavior: smooth;
 }
+html {
+  font-size: 0.875rem !important;
+}
 @media (min-width: 31.25rem) {
   html {
     font-size: 1rem !important;
@@ -715,25 +717,50 @@ blockquote {
     min-width: 16.5rem;
   }
 }
-
 @media (min-width: 50rem) {
-  .main {
-    position: relative;
-    max-width: 50rem;
+  .side-bar + .main {
     margin-left: 15.5rem;
   }
 }
 @media (min-width: 66.5rem) {
-  .main {
+  .side-bar + .main {
     margin-left: max(16.5rem, (100% - 66.5rem) / 2 + 16.5rem);
   }
 }
+.side-bar + .main .main-header {
+  display: none;
+  background-color: #f5f6fa;
+}
+@media (min-width: 50rem) {
+  .side-bar + .main .main-header {
+    display: flex;
+    background-color: #fff;
+  }
+}
+.side-bar + .main .main-header.nav-open {
+  display: block;
+}
+@media (min-width: 50rem) {
+  .side-bar + .main .main-header.nav-open {
+    display: flex;
+  }
+}
+
+.main {
+  margin: auto;
+}
+@media (min-width: 50rem) {
+  .main {
+    position: relative;
+    max-width: 50rem;
+  }
+}

 .main-content-wrap {
-  padding-right: 1rem;
-  padding-left: 1rem;
   padding-top: 1rem;
   padding-bottom: 1rem;
+  padding-right: 1rem;
+  padding-left: 1rem;
 }
 @media (min-width: 50rem) {
   .main-content-wrap {
@@ -750,24 +777,13 @@ blockquote {

 .main-header {
   z-index: 0;
-  display: none;
-  background-color: #f5f6fa;
+  border-bottom: 1px solid #eeebee;
 }
 @media (min-width: 50rem) {
   .main-header {
     display: flex;
     justify-content: space-between;
     height: 3.75rem;
-    background-color: #fff;
-    border-bottom: 1px solid #eeebee;
-  }
-}
-.main-header.nav-open {
-  display: block;
-}
-@media (min-width: 50rem) {
-  .main-header.nav-open {
-    display: flex;
   }
 }

@@ -814,8 +830,6 @@ blockquote {
 }

 .site-title {
-  padding-right: 1rem;
-  padding-left: 1rem;
   flex-grow: 1;
   display: flex;
   height: 100%;
@@ -823,7 +837,8 @@ blockquote {
   padding-top: 0.75rem;
   padding-bottom: 0.75rem;
   color: #27262b;
-  font-size: 1.125rem !important;
+  padding-right: 1rem;
+  padding-left: 1rem;
 }
 @media (min-width: 50rem) {
   .site-title {
@@ -831,6 +846,9 @@ blockquote {
     padding-left: 2rem;
   }
 }
+.site-title {
+  font-size: 1.125rem !important;
+}
 @media (min-width: 31.25rem) {
   .site-title {
     font-size: 1.5rem !important;
@@ -877,15 +895,14 @@ body {
 }

 .site-footer {
-  padding-right: 1rem;
-  padding-left: 1rem;
   position: absolute;
   bottom: 0;
   left: 0;
   padding-top: 1rem;
   padding-bottom: 1rem;
   color: #959396;
-  font-size: 0.6875rem !important;
+  padding-right: 1rem;
+  padding-left: 1rem;
 }
 @media (min-width: 50rem) {
   .site-footer {
@@ -893,6 +910,9 @@ body {
     padding-left: 2rem;
   }
 }
+.site-footer {
+  font-size: 0.6875rem !important;
+}
 @media (min-width: 31.25rem) {
   .site-footer {
     font-size: 0.75rem !important;
@@ -948,6 +968,8 @@ body {
   color: #959396;
   content: counter(step-counter);
   counter-increment: step-counter;
+}
+.main-content ol > li::before {
   font-size: 0.75rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1150,10 +1172,12 @@ body {
   list-style: none;
 }
 .nav-list .nav-list-item {
-  font-size: 0.875rem !important;
   position: relative;
   margin: 0;
 }
+.nav-list .nav-list-item {
+  font-size: 0.875rem !important;
+}
 @media (min-width: 31.25rem) {
   .nav-list .nav-list-item {
     font-size: 1rem !important;
@@ -1246,6 +1270,8 @@ body {
   text-align: start;
   text-transform: uppercase;
   border-bottom: 1px solid #eeebee;
+}
+.nav-category {
   font-size: 0.6875rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1280,6 +1306,8 @@ body {
 .aux-nav {
   height: 100%;
   overflow-x: auto;
+}
+.aux-nav {
   font-size: 0.6875rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1320,6 +1348,8 @@ body {

 .breadcrumb-nav-list-item {
   display: table-cell;
+}
+.breadcrumb-nav-list-item {
   font-size: 0.6875rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1341,11 +1371,14 @@ body {
   content: "";
 }

+h1,
+.text-alpha {
+  font-weight: 300;
+}
 h1,
 .text-alpha {
   font-size: 2rem !important;
   line-height: 1.25;
-  font-weight: 300;
 }
 @media (min-width: 31.25rem) {
   h1,
@@ -1381,11 +1414,14 @@ h3,

 h4,
 .text-delta {
-  font-size: 0.6875rem !important;
   font-weight: 400;
   text-transform: uppercase;
   letter-spacing: 0.1em;
 }
+h4,
+.text-delta {
+  font-size: 0.6875rem !important;
+}
 @media (min-width: 31.25rem) {
   h4,
   .text-delta {
@@ -1454,9 +1490,12 @@ h6,
   text-transform: uppercase;
   vertical-align: middle;
   background-color: #2869e6;
-  font-size: 0.6875rem !important;
   border-radius: 12px;
 }
+.label:not(g),
+.label-blue:not(g) {
+  font-size: 0.6875rem !important;
+}
 @media (min-width: 31.25rem) {
   .label:not(g),
   .label-blue:not(g) {
@@ -1752,6 +1791,8 @@ h6,
   padding-left: 0;
   margin-bottom: 0.25rem;
   list-style: none;
+}
+.search-results-list {
   font-size: 0.875rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1804,6 +1845,8 @@ h6,
 }
 .search-result-doc.search-result-doc-parent {
   opacity: 0.5;
+}
+.search-result-doc.search-result-doc-parent {
   font-size: 0.75rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1844,6 +1887,8 @@ h6,
   color: #959396;
   text-overflow: ellipsis;
   white-space: nowrap;
+}
+.search-result-rel-url {
   font-size: 0.5625rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1862,6 +1907,8 @@ h6,
   word-wrap: break-word;
   border-left: 1px solid;
   border-left-color: #eeebee;
+}
+.search-result-previews {
   font-size: 0.6875rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1889,6 +1936,8 @@ h6,

 .search-no-result {
   padding: 0.5rem 0.75rem;
+}
+.search-no-result {
   font-size: 0.75rem !important;
 }
 @media (min-width: 31.25rem) {
@@ -1998,13 +2047,16 @@ table {

 th,
 td {
-  font-size: 0.75rem !important;
   min-width: 7.5rem;
   padding: 0.5rem 0.75rem;
   background-color: #fff;
   border-bottom: 1px solid rgba(238, 235, 238, 0.5);
   border-left: 1px solid #eeebee;
 }
+th,
+td {
+  font-size: 0.75rem !important;
+}
 @media (min-width: 31.25rem) {
   th,
   td {
@@ -2135,12 +2187,15 @@ figure.highlight :not(pre) > code {
 }
 .highlight .table-wrapper td,
 .highlight .table-wrapper pre {
-  font-size: 0.6875rem !important;
   min-width: 0;
   padding: 0;
   background-color: #f5f6fa;
   border: 0;
 }
+.highlight .table-wrapper td,
+.highlight .table-wrapper pre {
+  font-size: 0.6875rem !important;
+}
 @media (min-width: 31.25rem) {
   .highlight .table-wrapper td,
   .highlight .table-wrapper pre {
```
</details>
2024-08-12 11:34:20 -07:00
dependabot[bot]
3a7066ce70 Bump rexml from 3.2.8 to 3.3.3 (#1504)
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.8 to 3.3.3.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.8...v3.3.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-07 17:05:21 -07:00
dependabot[bot]
f3b947d64d Bump prettier from 3.3.2 to 3.3.3 (#1494)
Bumps [prettier](https://github.com/prettier/prettier) from 3.3.2 to 3.3.3.
- [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/3.3.2...3.3.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-15 19:43:34 -07:00
dependabot[bot]
da4be68cfc Bump prettier from 3.2.5 to 3.3.2 (#1482)
Bumps [prettier](https://github.com/prettier/prettier) from 3.2.5 to 3.3.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/3.2.5...3.3.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>
2024-06-24 11:28:16 -07:00
dependabot[bot]
6242d32e21 Bump rexml from 3.2.6 to 3.2.8 (#1476)
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.6 to 3.2.8.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.6...v3.2.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-30 15:18:22 -07:00
Matt Wang
2dd535c2da Fix: protect search-data.json file from front matter default for layout (#1468)
Fixes #1466. Prior art: #1447. Otherwise self-explanatory.

To test:

1. First, clone [template repository](https://github.com/just-the-docs/just-the-docs-template/tree/main). Observe that search works.
2. Next, add a default layout to all files
```yml
defaults:
  - scope:
      path: ""
    values:
      layout: "default"
```
3. Observe that search no longer works.
4. Apply this patch
5. Observe that search works again!
2024-05-15 17:06:27 -07:00
dependabot[bot]
1b79df8ebb Bump nokogiri from 1.16.4 to 1.16.5 (#1474)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.4 to 1.16.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.16.4...v1.16.5)

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

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>
2024-05-15 16:55:43 -07:00
dependabot[bot]
644287cf6b Bump html-proofer from 5.0.8 to 5.0.9 (#1472)
Bumps [html-proofer](https://github.com/gjtorikian/html-proofer) from 5.0.8 to 5.0.9.
- [Release notes](https://github.com/gjtorikian/html-proofer/releases)
- [Changelog](https://github.com/gjtorikian/html-proofer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gjtorikian/html-proofer/compare/v5.0.8...v5.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-15 16:46:15 -07:00
Matt Wang
dd4613e8b1 Fix broken link to apidock.com (#1475)
(and, makes the link text more accessible)

Previous link: https://apidock.com/ruby/DateTime/strftime
2024-05-15 16:45:30 -07:00
Kevin Lin
a251382b7a Add nav_enabled variables for more customizable and feature-complete minimal layouts (#1441)
* Add nav_enabled variables for site/layout/page-level control

* _sass: Add a space around `+` operator

* assets: Do not compile based on site.nav_enabled

* _config.yml: nav_enabled can be selectively enabled

* CHANGELOG.md: Add nav_enabled feature and docs

* docs: Prefer em dash in describing minimal layout

* docs: Add section on Selectively hiding or showing the sidebar

* _layouts: Display sidebar based on variable importance

* docs: Update documentation on the minimal layout

* docs: Document site.nav_enabled configuration variable

---------

Co-authored-by: Matt Wang <matt@matthewwang.me>
2024-04-22 15:07:29 -07:00
Matt Wang
063a130ffd Update preferred Ruby version to 3.3, update deps (#1460)
This PR essentially updates the "default" Ruby version to 3.3. In the process, it:

- fixes a bug with the linux platform for `sass-embedded`
- regenerates the `Gemfile.lock` with Bundler 2.5.9
- adds Ruby 3.3 to the testing matrix & updates our deployment actions to use Ruby 3.3
- removes Ruby 3.0 from the testing matrix, as it is now end of life

This PR is motivated by https://github.com/just-the-docs/just-the-docs-template/pull/45, where I discovered that depending on the bundler/RubyGems version, the platform resolution for platformed gems can fail.
2024-04-17 16:59:47 -07:00
dependabot[bot]
df78a847b2 Bump rake from 13.2.0 to 13.2.1 (#1453)
Bumps [rake](https://github.com/ruby/rake) from 13.2.0 to 13.2.1.
- [Release notes](https://github.com/ruby/rake/releases)
- [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc)
- [Commits](https://github.com/ruby/rake/compare/v13.2.0...v13.2.1)

---
updated-dependencies:
- dependency-name: rake
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-05 14:35:10 -07:00
dependabot[bot]
5110bf71d7 Bump rake from 13.1.0 to 13.2.0 (#1449)
Bumps [rake](https://github.com/ruby/rake) from 13.1.0 to 13.2.0.
- [Release notes](https://github.com/ruby/rake/releases)
- [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc)
- [Commits](https://github.com/ruby/rake/compare/v13.1.0...v13.2.0)

---
updated-dependencies:
- dependency-name: rake
  dependency-type: direct:production
  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>
2024-04-02 10:27:40 -07:00
Matt Wang
e92afffb9c 0.8.2 2024-04-01 11:26:23 -07:00
Matt Wang
e434f916ce Prep 0.8.2 2024-04-01 11:25:25 -07:00
Peter Mosses
328893dd30 Fix: Protect theme JS file from front matter default for layout (#1447)
Fix #1445

Front matter defaults with unrestricted `scope` (`path: ""`) can affect theme code files. [Jekyll](https://jekyllrb.com/docs/front-matter/#predefined-global-variables) supports using `null` to "produce a file without using a layout file".

This PR adds `layout: null` to `just-the-docs.js`, to avoid this file being affected by the following front matter defaults:

```yaml
defaults:
  -
    scope:
      path: ""
    values:
      layout: "default"
```
2024-04-01 19:59:07 +02:00
Matt Wang
7de5f7abe5 0.8.1 2024-03-06 14:53:10 -08:00
Matt Wang
930a0e0c36 Prep 0.8.1 2024-03-06 14:50:44 -08:00
Jos Ahrens
880f4dc8b0 Build docs site using strict mode and strict_filters (#1435)
Ref: https://github.com/just-the-docs/just-the-docs/pull/1434#issuecomment-1981666074
2024-03-06 14:48:00 -08:00
Jos Ahrens
15a0b6e91b Fix Liquid filter typo in breadcrumb component (strip instead of trim) (#1434)
We are running into an issue upgrading from 0.7 to 0.8, suggesting that `trim` is not a method.

```
1.963   Liquid Exception: Liquid error (/usr/gem/gems/just-the-docs-0.8.0/_includes/components/breadcrumbs.html line 59): undefined filter trim included in /_layouts/default.html
1.968 /usr/gem/gems/liquid-4.0.4/lib/liquid/strainer.rb:58:in `invoke': Liquid error (/usr/gem/gems/just-the-docs-0.8.0/_includes/components/breadcrumbs.html line 59): undefined filter trim included  (Liquid::UndefinedFilter)
```
Looking at the liquid docs, we're probably looking for `strip` and not `trim`

https://shopify.github.io/liquid/filters/strip/

https://github.com/Shopify/liquid/blob/main/History.md#300--2014-11-12, I don't see a trim so it may have been an extension? This does work normally on just-the-docs itself running from scratch, so it might also be a bug in our application (or combination of different versions in plugins).
2024-03-06 14:39:45 -08:00
29 changed files with 961 additions and 1478 deletions

View File

@@ -16,7 +16,7 @@ jobs:
matrix:
jekyll-version: [3.9, 4.3]
os: [ ubuntu-latest, macos-latest, windows-latest ]
ruby-version: ["3.0", "3.1", "3.2"]
ruby-version: ["3.1", "3.2", "3.3"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4

View File

@@ -34,7 +34,7 @@ jobs:
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.2"
ruby-version: "3.3"
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
- name: Setup Pages

View File

@@ -10,10 +10,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup Ruby 3.2
- name: Setup Ruby 3.3
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.2"
ruby-version: "3.3"
- name: Publish to GPR
run: |

View File

@@ -23,6 +23,87 @@ Docs changes made since the latest release:
- N/A
## Release v0.9.0
Hi folks! This minor release adds a `nav_enabled` set of variables to enable/disable the navigation at a site, layout, and page level --- and uses that to add search and auxilary links to the `minimal` layout. In addition, it fixes `search-data.json` corruption with default layouts and some minor CSS/SCSS issues.
This release should be a straightforward upgrade for all users of Just the Docs. Thank you for your continued support!
### Using Release `v0.9.0`
Users who have not pinned the theme version will be **automatically upgraded to `v0.8.0` the next time they build their site**.
To use this release explicitly as a remote theme:
```yml
remote_theme: just-the-docs/just-the-docs@v0.9.0
```
To use this version 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.9.0"
```
To use and pin a previous version of the theme, replace the `0.9.0` with the desired release tag.
### New Features
- Added: `nav_enabled` site, layout, and page-level variable to selectively show or hide the side/mobile menu by [@kevinlin1] in [#1441]
- Added: site-wide search bar and auxiliary links to the `minimal` layout by [@kevinlin1] in [#1441]
### Bugfixes
- Fixed: protect `search-data.json` file from front matter default for layout by [@mattxwang] in [#1468]
- Fixed: Sass mixed declarations by [@bobvandevijver] in [#1495]
- Fixed: redundant `monospace` in `pre`, `code`, `kbd`, `samp` reset by [@mattxwang] in [#1508]
### Documentation
- Docs: Explained the `nav_enabled` variables as an alternative to using the minimal layout [@kevinlin1] in [#1441].
### New Contributors
- [@bobvandevijver] made their first contribution in [#1495]
[@bobvandevijver]: https://github.com/bobvandevijver
[#1441]: https://github.com/just-the-docs/just-the-docs/pull/1441
[#1468]: https://github.com/just-the-docs/just-the-docs/pull/1468
[#1495]: https://github.com/just-the-docs/just-the-docs/pull/1495
[#1508]: https://github.com/just-the-docs/just-the-docs/pull/1508
## Release v0.8.2
Hi everyone! This patch release fixes a bug where a default layout with unrestricted `scope` (`path: ""`) breaks JavaScript functionality. Users who do not use a default layout with unrestricted `scope` should not be affected. This should be a straightforward upgrade for all users. Thank you to [@pdmosses] for triaging and fixing the bug!
### Bugfixes
- Fixed: Protect theme JS file from front matter default for layout by [@pdmosses] in [#1447]
[#1447]: https://github.com/just-the-docs/just-the-docs/pull/1447
## Release v0.8.1
Hi folks! This patch release fixes a bug introduced in `0.8.0` that affects users who build their sites in strict mode. It is a straightforward upgrade that should require no manual migration changes. Thank you to [@Zarthus] for quickly catching and fixing this bug!
### Bugfixes
- Fixed: Liquid filter typo in breadcrumb component (`strip` instead of `trim`) by [@Zarthus] in [#1434]
### Documentation
- Build docs site using strict mode and `strict_filters` by [@Zarthus] in [#1435]
### New Contributors
- [@Zarthus] made their first contribution in [#1434]
[@Zarthus]: https://github.com/Zarthus
[#1434]: https://github.com/just-the-docs/just-the-docs/pull/1434
[#1435]: https://github.com/just-the-docs/just-the-docs/pull/1435
## Release v0.8.0
Hi folks! This first minor release of 2024 has a short number of changes: a large improvement of build times for large sites, a new keyboard shortcut to focus the search bar, and sidebar navigation bugfixes for "pretty" URLs (with `.html` omitted) and the clickable area on Safari. This release has no explicit breaking changes and should be a straightforward upgrade for most (if not all) users.

View File

@@ -1,7 +1,7 @@
PATH
remote: .
specs:
just-the-docs (0.8.0)
just-the-docs (0.9.0)
jekyll (>= 3.8.5)
jekyll-include-cache
jekyll-seo-tag (>= 2.0)
@@ -14,36 +14,40 @@ GEM
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
afm (0.2.2)
async (2.6.3)
console (~> 1.10)
async (2.11.0)
console (~> 1.25, >= 1.25.2)
fiber-annotation
io-event (~> 1.1)
io-event (~> 1.5, >= 1.5.1)
timers (~> 4.1)
base64 (0.2.0)
bigdecimal (3.1.8)
colorator (1.1.0)
concurrent-ruby (1.2.2)
console (1.23.2)
concurrent-ruby (1.2.3)
console (1.25.2)
fiber-annotation
fiber-local
fiber-local (~> 1.1)
json
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
faraday (2.8.1)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
faraday (2.9.0)
faraday-net_http (>= 2.0, < 3.2)
faraday-net_http (3.1.0)
net-http
ffi (1.16.3)
fiber-annotation (0.2.0)
fiber-local (1.0.0)
fiber-local (1.1.0)
fiber-storage
fiber-storage (0.1.0)
forwardable-extended (2.6.0)
google-protobuf (3.25.1-arm64-darwin)
google-protobuf (3.25.1-x86_64-linux)
google-protobuf (4.26.1-arm64-darwin)
rake (>= 13)
google-protobuf (4.26.1-x86_64-linux)
rake (>= 13)
hashery (2.1.2)
html-proofer (5.0.8)
html-proofer (5.0.9)
addressable (~> 2.3)
async (~> 2.1)
nokogiri (~> 1.13)
@@ -53,9 +57,9 @@ GEM
yell (~> 2.0)
zeitwerk (~> 2.5)
http_parser.rb (0.8.0)
i18n (1.14.1)
i18n (1.14.4)
concurrent-ruby (~> 1.0)
io-event (1.2.3)
io-event (1.5.1)
jekyll (4.3.3)
addressable (~> 2.4)
colorator (~> 1.0)
@@ -83,63 +87,69 @@ GEM
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
json (2.7.2)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.8.0)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
nokogiri (1.16.2-arm64-darwin)
net-http (0.4.1)
uri
nokogiri (1.16.5-arm64-darwin)
racc (~> 1.4)
nokogiri (1.16.2-x86_64-linux)
nokogiri (1.16.5-x86_64-linux)
racc (~> 1.4)
octokit (6.1.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
pdf-reader (2.11.0)
pdf-reader (2.12.0)
Ascii85 (~> 1.0)
afm (~> 0.2.1)
hashery (~> 2.0)
ruby-rc4
ttfunk
public_suffix (5.0.4)
public_suffix (5.0.5)
racc (1.7.3)
rainbow (3.1.1)
rake (13.1.0)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.2.0)
rexml (3.3.3)
strscan
rouge (4.2.1)
ruby-rc4 (0.1.5)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass-embedded (1.69.6-arm64-darwin)
google-protobuf (~> 3.25)
sass-embedded (1.69.6-x86_64-linux-gnu)
google-protobuf (~> 3.25)
sass-embedded (1.75.0-arm64-darwin)
google-protobuf (>= 3.25, < 5.0)
sass-embedded (1.75.0-x86_64-linux-gnu)
google-protobuf (>= 3.25, < 5.0)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
timers (4.3.5)
ttfunk (1.7.0)
typhoeus (1.4.0)
ttfunk (1.8.0)
bigdecimal (~> 3.1)
typhoeus (1.4.1)
ethon (>= 0.9.0)
unicode-display_width (2.5.0)
uri (0.13.0)
webrick (1.8.1)
yell (2.2.2)
zeitwerk (2.6.11)
zeitwerk (2.6.13)
PLATFORMS
arm64-darwin
x86_64-linux
x86_64-linux-gnu
DEPENDENCIES
bundler (>= 2.3.5)
@@ -149,4 +159,4 @@ DEPENDENCIES
just-the-docs!
BUNDLED WITH
2.4.13
2.5.9

View File

@@ -109,6 +109,10 @@ aux_links:
# Makes Aux links open in a new tab. Default is false
aux_links_new_tab: false
# Enable or disable the side/mobile menu globally
# Nav menu can also be selectively enabled or disabled using page variables or the minimal layout
nav_enabled: true
# Sort order for navigation links
# nav_sort: case_insensitive # default, equivalent to nil
nav_sort: case_sensitive # Capital letters sorted before lowercase
@@ -118,6 +122,10 @@ nav_external_links:
- title: Just the Docs on GitHub
url: https://github.com/just-the-docs/just-the-docs
liquid:
error_mode: strict
strict_filters: true
# Footer content
# appears at the bottom of every page's main content

View File

@@ -56,7 +56,7 @@
{%- for nav_split in nav_anchor_splits -%}
{%- unless forloop.last -%}
{%- assign nav_split_next = nav_anchor_splits[forloop.index] | trim -%}
{%- assign nav_split_next = nav_anchor_splits[forloop.index] | strip -%}
{%- assign nav_split_test =
nav_split_next | remove_first: nav_list_simple | prepend: nav_list_simple -%}

View File

@@ -9,7 +9,13 @@ layout: table_wrappers
<body>
<a class="skip-to-main" href="#main-content">Skip to main content</a>
{% include icons/icons.html %}
{% if page.nav_enabled == true %}
{% include components/sidebar.html %}
{% elsif layout.nav_enabled == true and page.nav_enabled == nil %}
{% include components/sidebar.html %}
{% elsif site.nav_enabled != false and layout.nav_enabled == nil and page.nav_enabled == nil %}
{% include components/sidebar.html %}
{% endif %}
<div class="main" id="top">
{% include components/header.html %}
<div class="main-content-wrap">

View File

@@ -1,34 +1,6 @@
---
layout: table_wrappers
layout: default
nav_enabled: false
---
<!DOCTYPE html>
<html lang="{{ site.lang | default: 'en-US' }}">
{% include head.html %}
<body>
<a class="skip-to-main" href="#main-content">Skip to main content</a>
{% include icons/icons.html %}
<div class="main-content-wrap" id="top">
{% include components/breadcrumbs.html %}
<div id="main-content" class="main-content" role="main">
{% if site.heading_anchors != false %}
{% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#svg-link\"></use></svg>" anchorClass="anchor-heading" anchorAttrs="aria-labelledby=\"%html_id%\"" %}
{% else %}
{{ content }}
{% endif %}
{% if page.has_children == true and page.has_toc != false %}
{% include components/children_nav.html %}
{% endif %}
{% include components/footer.html %}
</div>
</div>
{% if site.mermaid %}
{% include components/mermaid.html %}
{% endif %}
</body>
</html>
{{ content }}

View File

@@ -10,9 +10,9 @@
}
html {
@include fs-4;
scroll-behavior: smooth;
@include fs-4;
}
body {

View File

@@ -142,10 +142,10 @@ div.highlighter-rouge {
// for AsciiDoc. we also need to fix the margins for its parent container.
div.listingblock {
@include scroll-and-spacing("div.content", "div.content > pre");
margin-top: 0;
margin-bottom: $sp-3;
@include scroll-and-spacing("div.content", "div.content > pre");
}
// {% highlight LANG %}...{% endhighlight %},
@@ -176,12 +176,12 @@ figure.highlight {
td,
pre {
@include fs-2;
min-width: 0;
padding: 0;
background-color: $code-background-color;
border: 0;
@include fs-2;
}
td.gl {

View File

@@ -14,9 +14,9 @@
text-transform: uppercase;
vertical-align: middle;
background-color: $blue-100;
@include fs-2;
border-radius: 12px;
@include fs-2;
}
.label-green:not(g) {

View File

@@ -19,12 +19,9 @@
width: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});
min-width: $nav-width;
}
}
.main {
& + .main {
@include mq(md) {
position: relative;
max-width: $content-width;
margin-left: $nav-width-md;
}
@@ -37,14 +34,42 @@
);
// stylelint-enable function-name-case
}
.main-header {
display: none;
background-color: $sidebar-color;
@include mq(md) {
display: flex;
background-color: $body-background-color;
}
&.nav-open {
display: block;
@include mq(md) {
display: flex;
}
}
}
}
}
.main {
margin: auto;
@include mq(md) {
position: relative;
max-width: $content-width;
}
}
.main-content-wrap {
@include container;
padding-top: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
@include container;
@include mq(md) {
padding-top: $gutter-spacing;
padding-bottom: $gutter-spacing;
@@ -53,23 +78,12 @@
.main-header {
z-index: 0;
display: none;
background-color: $sidebar-color;
border-bottom: $border $border-color;
@include mq(md) {
display: flex;
justify-content: space-between;
height: $header-height;
background-color: $body-background-color;
border-bottom: $border $border-color;
}
&.nav-open {
display: block;
@include mq(md) {
display: flex;
}
}
}
@@ -112,8 +126,6 @@
}
.site-title {
@include container;
flex-grow: 1;
display: flex;
height: 100%;
@@ -121,6 +133,9 @@
padding-top: $sp-3;
padding-bottom: $sp-3;
color: $body-heading-color;
@include container;
@include fs-6;
@include mq(md) {
@@ -186,14 +201,15 @@ body {
// stylelint-enable selector-max-type
.site-footer {
@include container;
position: absolute;
bottom: 0;
left: 0;
padding-top: $sp-4;
padding-bottom: $sp-4;
color: $grey-dk-000;
@include container;
@include fs-2;
@include mq(md) {

View File

@@ -8,11 +8,11 @@
list-style: none;
.nav-list-item {
@include fs-4;
position: relative;
margin: 0;
@include fs-4;
@include mq(md) {
@include fs-3;
}

View File

@@ -1,5 +1,7 @@
@mixin fs-1 {
& {
font-size: $font-size-1 !important;
}
@include mq(sm) {
font-size: $font-size-1-sm !important;
@@ -7,7 +9,9 @@
}
@mixin fs-2 {
& {
font-size: $font-size-2 !important;
}
@include mq(sm) {
font-size: $font-size-3 !important;
@@ -15,7 +19,9 @@
}
@mixin fs-3 {
& {
font-size: $font-size-3 !important;
}
@include mq(sm) {
font-size: $font-size-4 !important;
@@ -23,7 +29,9 @@
}
@mixin fs-4 {
& {
font-size: $font-size-4 !important;
}
@include mq(sm) {
font-size: $font-size-5 !important;
@@ -31,7 +39,9 @@
}
@mixin fs-5 {
& {
font-size: $font-size-5 !important;
}
@include mq(sm) {
font-size: $font-size-6 !important;
@@ -39,7 +49,9 @@
}
@mixin fs-6 {
& {
font-size: $font-size-6 !important;
}
@include mq(sm) {
font-size: $font-size-7 !important;
@@ -48,8 +60,10 @@
}
@mixin fs-7 {
& {
font-size: $font-size-7 !important;
line-height: $body-heading-line-height;
}
@include mq(sm) {
font-size: $font-size-8 !important;
@@ -57,8 +71,10 @@
}
@mixin fs-8 {
& {
font-size: $font-size-8 !important;
line-height: $body-heading-line-height;
}
@include mq(sm) {
font-size: $font-size-9 !important;
@@ -66,8 +82,10 @@
}
@mixin fs-9 {
& {
font-size: $font-size-9 !important;
line-height: $body-heading-line-height;
}
@include mq(sm) {
font-size: $font-size-10 !important;
@@ -75,8 +93,10 @@
}
@mixin fs-10 {
& {
font-size: $font-size-10 !important;
line-height: $body-heading-line-height;
}
@include mq(sm) {
font-size: $font-size-10-sm !important;

View File

@@ -21,14 +21,14 @@ table {
th,
td {
@include fs-3;
min-width: 7.5rem;
padding: $sp-2 $sp-3;
background-color: $table-background-color;
border-bottom: $border rgba($border-color, 0.5);
border-left: $border $border-color;
@include fs-3;
&:first-of-type {
border-left: 0;
}

View File

@@ -3,9 +3,9 @@
h1,
.text-alpha {
@include fs-8;
font-weight: 300;
@include fs-8;
}
h2,
@@ -21,11 +21,11 @@ h3,
h4,
.text-delta {
@include fs-2;
font-weight: 400;
text-transform: uppercase;
letter-spacing: 0.1em;
@include fs-2;
}
h4 code {

View File

@@ -5,198 +5,261 @@ 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

@@ -5,204 +5,269 @@ pre.highlight {
background: #f9f9f9;
color: #383942;
}
.highlight pre {
background: #f9f9f9;
}
.highlight .hll {
background: #f9f9f9;
}
.highlight .c {
color: #9fa0a6;
font-style: italic;
}
.highlight .err {
color: #fff;
background-color: #e05151;
}
.highlight .k {
color: #a625a4;
}
.highlight .l {
color: #50a04f;
}
.highlight .n {
color: #383942;
}
.highlight .o {
color: #383942;
}
.highlight .p {
color: #383942;
}
.highlight .cm {
color: #9fa0a6;
font-style: italic;
}
.highlight .cp {
color: #9fa0a6;
font-style: italic;
}
.highlight .c1 {
color: #9fa0a6;
font-style: italic;
}
.highlight .cs {
color: #9fa0a6;
font-style: italic;
}
.highlight .ge {
font-style: italic;
}
.highlight .gs {
font-weight: 700;
}
.highlight .kc {
color: #a625a4;
}
.highlight .kd {
color: #a625a4;
}
.highlight .kn {
color: #a625a4;
}
.highlight .kp {
color: #a625a4;
}
.highlight .kr {
color: #a625a4;
}
.highlight .kt {
color: #a625a4;
}
.highlight .ld {
color: #50a04f;
}
.highlight .m {
color: #b66a00;
}
.highlight .s {
color: #50a04f;
}
.highlight .na {
color: #b66a00;
}
.highlight .nb {
color: #ca7601;
}
.highlight .nc {
color: #ca7601;
}
.highlight .no {
color: #ca7601;
}
.highlight .nd {
color: #ca7601;
}
.highlight .ni {
color: #ca7601;
}
.highlight .ne {
color: #ca7601;
}
.highlight .nf {
color: #383942;
}
.highlight .nl {
color: #ca7601;
}
.highlight .nn {
color: #383942;
}
.highlight .nx {
color: #383942;
}
.highlight .py {
color: #ca7601;
}
.highlight .nt {
color: #e35549;
}
.highlight .nv {
color: #ca7601;
}
.highlight .ow {
font-weight: 700;
}
.highlight .w {
color: #f8f8f2;
}
.highlight .mf {
color: #b66a00;
}
.highlight .mh {
color: #b66a00;
}
.highlight .mi {
color: #b66a00;
}
.highlight .mo {
color: #b66a00;
}
.highlight .sb {
color: #50a04f;
}
.highlight .sc {
color: #50a04f;
}
.highlight .sd {
color: #50a04f;
}
.highlight .s2 {
color: #50a04f;
}
.highlight .se {
color: #50a04f;
}
.highlight .sh {
color: #50a04f;
}
.highlight .si {
color: #50a04f;
}
.highlight .sx {
color: #50a04f;
}
.highlight .sr {
color: #0083bb;
}
.highlight .s1 {
color: #50a04f;
}
.highlight .ss {
color: #0083bb;
}
.highlight .bp {
color: #ca7601;
}
.highlight .vc {
color: #ca7601;
}
.highlight .vg {
color: #ca7601;
}
.highlight .vi {
color: #e35549;
}
.highlight .il {
color: #b66a00;
}
.highlight .gu {
color: #75715e;
}
.highlight .gd {
color: #e05151;
}
.highlight .gi {
color: #43d089;
}
.highlight .language-json .w + .s2 {
color: #e35549;
}
.highlight .language-json .kc {
color: #0083bb;
}

View File

@@ -10,7 +10,7 @@
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
text-size-adjust: 100%; /* 2 */
}
/* Sections
@@ -62,7 +62,7 @@ hr {
*/
pre {
font-family: monospace, monospace; /* 1 */
font-family: monospace; /* 1 */
font-size: 1em; /* 2 */
}
@@ -105,7 +105,7 @@ strong {
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-family: monospace; /* 1 */
font-size: 1em; /* 2 */
}
@@ -198,7 +198,7 @@ button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
appearance: button;
}
/**
@@ -290,7 +290,7 @@ textarea {
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
@@ -299,7 +299,7 @@ textarea {
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
appearance: none;
}
/**
@@ -308,7 +308,7 @@ textarea {
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
appearance: button; /* 1 */
font: inherit; /* 2 */
}

View File

@@ -1,4 +1,5 @@
---
layout: null
---
(function (jtd, undefined) {
@@ -555,12 +556,14 @@ function activateNav() {
// Document ready
jtd.onReady(function(){
if (document.getElementById('site-nav')) {
initNav();
activateNav();
scrollNav();
}
{%- if site.search_enabled != false %}
initSearch();
{%- endif %}
activateNav();
scrollNav();
});
// Copy button on code

View File

@@ -1,4 +1,5 @@
---
layout: null
permalink: /assets/js/search-data.json
---
{

View File

@@ -101,6 +101,14 @@ aux_links:
aux_links_new_tab: false
```
## Navigation sidebar
```yaml
# Enable or disable the side/mobile menu globally
# Nav menu can also be selectively enabled or disabled using page variables or the minimal layout
nav_enabled: true
```
## Heading anchor links
```yaml
@@ -145,7 +153,7 @@ gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into t
_note: `footer_content` is deprecated, but still supported. For a better experience we have moved this into an include called `_includes/footer_custom.html` which will allow for robust markup / liquid-based content._
- 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; for examples and information, please refer to the [official Ruby docs on `strftime` formatting](https://docs.ruby-lang.org/en/master/strftime_formatting_rdoc.html)
- `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 `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/))

View File

@@ -329,43 +329,9 @@ Future versions may subdivide components further; we guarantee that we will only
### Alternative layouts and example (`minimal`)
Users can develop custom layouts that compose, omit, or add components differently. We provide one first-class example titled `minimal`, inspired by Kevin Lin's work in [just-the-class](https://github.com/kevinlin1/just-the-class). This `minimal` layout does not render the sidebar, header, or search. To see an example, visit the [minimal layout test]({{site.baseurl}}/docs/minimal-test/) page.
Users can develop custom layouts that compose, omit, or add components differently. We provide one first-class example titled `minimal`, which disables the navigation sidebar. To see an example, visit the [minimal layout test]({{site.baseurl}}/docs/minimal-test/) page.
Here is a simplified code example of what it looks like:
{% raw %}
```liquid
<!-- a simplified version of _layouts/minimal.html -->
<html>
{% include head.html %}
<body>
{% include icons/icons.html %}
{% comment %} Bandaid fix for breadcrumbs here! {% endcomment %}
{% include components/breadcrumbs.html %}
{% if site.heading_anchors != false %}
{% include vendor/anchor_headings.html html=content ... %}
{% else %}
{{ content }}
{% endif %}
{% if page.has_children == true and page.has_toc != false %}
{% include components/children_nav.html %}
{% endif %}
{% include components/footer.html %}
{% if site.mermaid %}
{% include components/mermaid.html %}
{% endif %}
</body>
</html>
```
{% endraw %}
This layout is packaged in Just the Docs. Users can indicate this alternative layout in page front matter:
Users can indicate this alternative layout in page front matter:
{% raw %}
@@ -384,10 +350,10 @@ Similarly, users and developers can create other alternative layouts using Just
Under the hood,
- `default` and `minimal` inherit from the `table_wrappers` layout, which wraps all HTML `<table>` tags with a `div .table-wrapper`
- `default` inherit from the `table_wrappers` layout, which wraps all HTML `<table>` tags with a `div .table-wrapper`
- `table_wrappers` inherits from `vendor/compress`, which is a local copy of Anatol Broder's [jekyll-compress-html](https://github.com/penibelst/jekyll-compress-html) Jekyll plugin
Note that as of now, `minimal` and `default` have no inheritance relationship.
The `minimal` layout inherits from the `default` but assigns `nav_enabled: false` to disable the navigation sidebar.
### Overridden default Jekyll layouts

View File

@@ -28,7 +28,20 @@ Each page that has child pages generally has a list of links to those pages (you
## The `minimal` layout
A child and grandchild page of this page use the minimal layout. This differs from the default layout by omitting the sidebar -- and thereby also the navigation panel. To navigate between pages with the minimal layout, you can use the breadcrumbs and the tables of contents.
A child and grandchild page of this page use the minimal layout. This differs from the default layout by omitting the sidebar---and thereby also the navigation panel. To navigate between pages with the minimal layout, you can use the breadcrumbs and the tables of contents.
## Selectively hiding or showing the sidebar
[Jekyll's front matter defaults] can be used to apply the `minimal` layout for many pages. But there are also other variables that can control the page layout. In `_config.yml`, you can set `nav_enabled: false` to disable the sidebar navigation panel across the entire site. This can then be selectively enabled on a page-by-page basis by assigning the `nav_enabled: true` page [front matter] variable. For instance, this could be used to enable sidebar navigation on a home page while all other pages have sidebar navigation disabled.
```yaml
---
layout: default
title: Home
nav_enabled: true
---
```
## Other layouts

View File

@@ -2,7 +2,7 @@
Gem::Specification.new do |spec|
spec.name = "just-the-docs"
spec.version = "0.8.0"
spec.version = "0.9.0"
spec.authors = ["Patrick Marsceill", "Matthew Wang"]
spec.email = ["patrick.marsceill@gmail.com", "matt@matthewwang.me"]

View File

@@ -9,6 +9,7 @@ namespace :search do
File.open('assets/js/zzzz-search-data.json', 'w') do |f|
f.puts '---
layout: null
permalink: /assets/js/search-data.json
---
{

1829
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,9 +7,9 @@
"bugs": "https://github.com/just-the-docs/just-the-docs/issues",
"devDependencies": {
"npm-run-all": "^4.1.5",
"prettier": "^3.2.5",
"stylelint": "^15.11.0",
"stylelint-config-standard-scss": "^11.1.0"
"prettier": "^3.3.3",
"stylelint": "^16.8.1",
"stylelint-config-standard-scss": "^13.1.0"
},
"scripts": {
"lint": "npm-run-all --parallel --continue-on-error lint:*",
@@ -22,8 +22,7 @@
"ignoreFiles": [
"assets/css/just-the-docs-default.scss",
"assets/css/just-the-docs-light.scss",
"assets/css/just-the-docs-dark.scss",
"_sass/vendor/**/*.scss"
"assets/css/just-the-docs-dark.scss"
],
"extends": [
"stylelint-config-standard-scss"