51 Commits

Author SHA1 Message Date
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
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
0ca69334b0
Fix ARIA labels for all anchors with href="#"; adds aria-pressed information for toggles (#1262)
This follows up from #1259 and closes #1261. Basically, this PR accomplishes the two items discussed in the issue:

1. for all anchors that are *actually* buttons (i.e., have `href="#"`), I've replaced them with a semantic `<button>`
    - under the hood, I've made a `.btn-reset` class pulling out the reset from #1259, so there's no visual change
2. for anchors that are ["toggle buttons"](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/button_role#toggle_buttons) (the mobile menu nav, sidebar children/grandchildren toggles), I've added an `aria-pressed` property that is updated as the button is clicked

I've also slightly modified some of the `aria-label`s to make them more consistent. Observe that we *shouldn't* update these as the button is clicked; screen readers use the `aria-pressed` property to add an annotation to each button.

To test this,

- the sidebar children and grandchildren can be done on the deploy preview:
    - open an arbitrary page; observe that the sidebar children/grandchildren dropdown ticks now have a proper `aria-label` and `aria-pressed`, as well as otherwise work as intended
    - toggle one of the buttons; observe the `aria-pressed` role changing as this is done
    - open a grandchild page; observe that the `aria-pressed` has a correct default wrt whether or not the page is active
- the mobile menu can be done on the deploy preview; on a smaller viewport, observe the correct `aria-pressed`
- two features require local changes to test:
    - the `site.search.button` needs to be enabled in the `_config.yml`. To test this, locally clone the repo, change the flag, and observe that the button still works as intended + has no visual regressions.
    - the collections feature is a bit more complicated. To test this, locally clone the repo, add an arbitrary collection and changes to `_config.yml`, and observe the same behaviour for the sidebar children/grandchildren above
2023-06-06 19:34:42 -07:00
Joel Hawksley
cffe2f1b29
Add ARIA roles and labels to search, header, logo, mobile menu button, and main content (#1259)
This PR fixes several Axe errors I found while working on https://viewcomponent.org/. I did not see any visual regressions on my deploy, but I'd encourage testing with other sites.

---------

Co-authored-by: Lindsey Wild <35239154+lindseywild@users.noreply.github.com>
2023-05-31 13:35:56 -07:00
Dima
51e1c29021
Fix main content negative margin for viewports in [$md, $nav-width + $content-width] (#1177) 2023-02-23 15:07:42 -08:00
Simone
551398f92f
Standardize SCSS:declaration-block-no-redundant-longhand-properties (#1102)
* Fix stylelint "declaration-block-no-redundant-longhand-properties"

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-12-31 00:51:54 -08: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
Silvio Giebl
597c534279 Replaced svgs with feathericons.com 2020-06-25 23:48:24 +02:00
Silvio Giebl
f2aa3c9a4d Fixed prettier style 2020-06-25 21:42:41 +02:00
Silvio Giebl
51f15965f2 Merge branch 'feature/search-sections' into improvement/navigation-new
# Conflicts:
#	_includes/nav.html
#	_layouts/default.html
#	assets/js/search-data.json
#	docs/configuration.md
#	lib/tasks/search.rake
2020-06-15 22:06:16 +02:00
Silvio Giebl
18f3a41600 Merge branch 'bugfix/page-scrolling' into improvement/navigation-new
# Conflicts:
#	_layouts/default.html
#	assets/js/just-the-docs.js
2020-06-15 21:44:30 +02:00
Silvio Giebl
e216623ed3 Merge branch 'improvement/search-button' into improvement/navigation-new 2020-06-15 21:37:31 +02:00
Silvio Giebl
c7466e88a8 Merge branch 'improvement/navigation' into improvement/navigation-new
# Conflicts:
#	_includes/nav.html
#	_layouts/default.html
2020-06-15 21:23:03 +02:00
pmarsceill
c818624363 🎨 Prettier 2020-04-24 15:44:37 +00:00
Silvio Giebl
1d1564e5c0 Improved search layout: scrolling, mobile 2019-12-04 10:39:30 +01:00
Silvio Giebl
804cad6c4d Improved search interface 2019-12-03 09:12:54 +01:00
Silvio Giebl
73047a078f Scroll page instead of nested div, removed nested divs 2019-11-27 22:07:22 +01:00
Silvio Giebl
cf64965554 Merge branch 'improvement/navigation' into improvement/search-button 2019-11-27 12:55:57 +01:00
Silvio Giebl
078696415e Improved navigation active and highlight 2019-11-27 12:37:10 +01:00
Silvio Giebl
301a4ab644 Merge branch 'improvement/navigation-merged' into improvement/search-button-merged
# Conflicts:
#	_layouts/default.html
2019-11-26 23:33:18 +01:00
Silvio Giebl
fd91140923 Merge branch 'master2' into improvement/navigation-merged
# Conflicts:
#	_layouts/default.html
2019-11-26 23:30:46 +01:00
Patrick Marsceill
44d689b994
Lint 2019-09-09 15:55:31 -04:00
Silvio Giebl
132cecfea3 Added logo variable to _config.yml which can be set to a path/url
Automatically replaces the title with a logo
2019-08-17 14:32:25 +02:00
Silvio Giebl
cc0b57727d Added search button and menu icon
(cherry picked from commit 468264941d08b00252a4f6f081bc2dff5920bffe)
2019-08-16 00:38:03 +02:00
Silvio Giebl
bf86c33fe1 Added feedback color variable for nav item/search result hover
(cherry picked from commit f25d76730b175fb680aa2770fb20a67fd858ffbb)
2019-08-15 23:41:13 +02:00
Silvio Giebl
0ebbe4bb4e Improved navigation: folding, vsual feedback, optimization for mobile
(cherry picked from commit db50f282bab1e98397cc7434a811b8b7da2fe6dc)
2019-08-15 23:38:58 +02:00
Silvio Giebl
ec420a385b Removed hardcoded styling from layout, improved aux nav
(cherry picked from commit fd3c68cd1a39e059180c35c1d56ffa33ef4dfde4)
2019-08-15 23:18:02 +02:00
Silvio Giebl
721ca36d85 Cleaned ids and classes
(cherry picked from commit 2b153ed074811e735aaa58d57a3fcdf7838e17f5)
2019-08-15 23:05:32 +02:00
Silvio Giebl
6a46a4797e Improved site header for logo
(cherry picked from commit 97d1c663ef566ffe20fb1ec217fd2d8c1a8a2382)
2019-08-15 22:01:51 +02:00
Silvio Giebl
89a331ee85 Improved site header for logo
(cherry picked from commit 468bf8368783309e69fdcaa91f7eb5b1e05d96aa)
2019-08-15 22:01:51 +02:00
Silvio Giebl
d4b79e2eac Improved site header for logo
(cherry picked from commit 2a5c38907488b998af75e9a1ef2499428b8f1a78)
2019-08-15 22:01:51 +02:00
Patrick Marsceill
5ad439b53c
Merge branch 'v0.2.6-release' into improve-search 2019-08-14 11:03:30 -04:00
Patrick Marsceill
7fa6307640
Header menu button and anchor links 2019-08-13 17:23:35 -04:00
Patrick Marsceill
b89b683f90
Add content footer 2019-08-06 15:56:29 -04:00
Silvio Giebl
e64a6aa239 Updated lunr.js, added search navigation and preview/highlighting 2019-05-19 02:55:43 +02:00
Silvio Giebl
e9f016ac0f Improved responsiveness of sidebar 2019-05-19 02:55:43 +02:00
Silvio Giebl
8c603aac1e Improved layout, unified spacing/font-sizes/border-radius/box-shadow 2019-05-19 02:55:43 +02:00
Patrick Marsceill
f255c07c7f
update for latest stylint config 2019-04-30 18:00:56 -07:00
Patrick Marsceill
eaf1247911
Auto focus main content for keyboard scrolling 2018-12-16 15:22:51 -05:00
Patrick Marsceill
6ecde7eeec
Remove this as it was taken out in 0.1.6 2018-11-16 13:41:26 -05:00
Patrick Marsceill
8f6f4b761a
Merge branch 'master' of github.com:pmarsceill/just-the-docs into dark-mode 2018-11-16 12:40:35 -05:00
Patrick Marsceill
d11e332dc6
Create condition for no search and add config/css 2018-11-16 11:46:43 -05:00
Patrick Marsceill
9c70c7f081
Convert colors to vars 2018-11-15 15:12:12 -05:00
Patrick Marsceill
6a6efba27a
fix linting / rules 2018-10-25 11:17:10 -04:00
Patrick Marsceill
f97f504284
Better layout for when nav is long and scrolls 2018-10-24 14:06:12 -04:00
Patrick Marsceill
68169dd18e
Nav, footer, and search mobile cleanup 2018-10-23 11:40:39 -04:00
Patrick Marsceill
be0d00cb2a
getting this on GH 2017-11-08 11:23:05 -05:00
Patrick Marsceill
76d8f0c50c
I forget 2017-06-04 17:50:01 -04:00
Patrick Marsceill
e581397758
Initial commit 2017-03-26 21:09:19 -04:00
Patrick Marsceill
594385ae7b
initial commit 2017-03-24 09:47:37 -04:00