1160 Commits

Author SHA1 Message Date
Matt Wang
2cc1a26a0d
Update gemspec for release, new metadata (#911)
A couple of changes to prep for v0.4.0-rc1:

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

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

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

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

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

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

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

In particular, this PR

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

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

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

### disabling rules and next steps

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

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

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

### on Primer 

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

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

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

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

Tested with Jekyll 3.9.2 and 4.2.2

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

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

## on our CI philosophy

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

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

Eventually, I would like to see us test across:

* different Jekyll versions
* different OSes
* different Ruby versions

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

* changes implementation approach to use search_placeholder_custom

Thanks to @pdmosses for the suggestion!

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

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

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

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

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

Close #750

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

* Show how to start from 42

Close #750

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

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

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

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

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

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

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

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

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

See: https://github.com/orgs/just-the-docs/teams/maintainers/discussions/1/comments/18.
2022-06-16 02:51:59 +00:00
Matt Wang
2b4f399336
Merge branch 'main' into v0.4.0 2022-04-18 10:53:20 -07:00