Compare commits

...

13 Commits

Author SHA1 Message Date
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
Dima
51e1c29021 Fix main content negative margin for viewports in [$md, $nav-width + $content-width] (#1177) 2023-02-23 15:07:42 -08:00
Matt Wang
b20acf0edb Update CHANGELOG.md 2023-02-18 17:28:51 -08:00
flyx
fdf48d2fd3 Fix AsciiDoc code block styling (#1168)
These changes accommodate for some difference in the HTML structure AsciiDoc produces for source code listings:

 * proper padding for source code listings
 * proper vertical margin after source code listings
 * proper placement of the copy button if enabled

Closes #1163
2023-02-18 17:27:44 -08:00
Matt Wang
f8e93980b4 Update CHANGELOG.md 2023-02-17 14:53:34 -08:00
Matt Wang
a9d9354242 Remove unused OneDarkJekyll files (#1167)
Removes unused `OneDarkJekyll` files
2023-02-17 14:51:45 -08:00
Matt Wang
00cb3ba94b Update CHANGELOG.md 2023-02-14 11:03:13 -08:00
Matt Wang
0484b45bfb Readd jekyll-github-metadata plugin to site (#1108)
In my other cleaning, I also noticed:

- the contributors pane on the homepage is broken
- the following link to a repo page in the search docs is broken

<img width="762" alt="Screenshot 2023-01-03 at 6 41 49 PM" src="https://user-images.githubusercontent.com/14893287/210474679-bcb9af23-0a4e-4999-a0ec-f06d967ea726.png">

In particular, the generated HTML is

```html
<a href="/blob/main/assets/js/zzzz-search-data.json">this content</a>
```

Looking at the source code for both features

```html
<ul class="list-style-none">
{% for contributor in site.github.contributors %}
  <li class="d-inline-block mr-1">
     <a href="{{ contributor.html_url }}"><img src="{{ contributor.avatar_url }}" width="32" height="32" alt="{{ contributor.login }}"></a>
  </li>
{% endfor %}
</ul>
```

```md
[this content]({{ site.github.repository_url }}/blob/main/assets/js/zzzz-search-data.json).
```

It's clear that `site.github` is not being populated. This is controlled by the GitHub Metadata/[`jekyll-github-metadata`](http://jekyll.github.io/github-metadata/) plugin.

I'm not when this stopped working. If I had to guess, I think this is packaged as part of the `github-pages` gem; so, when the site moved off of it a while back, we never noticed this regression. This is the type of thing that can hopefully be caught by regression tests in the future.

This PR re-adds the plugin. I've opted to only add it to the `Gemfile` but not the `gemspec` so that it only affects our site. In other words, JtD does not have `jekyll-github-metadata` as a runtime dependency (since none of our theme code relies on it). Happy to change that if we'd like.

---

In the future, 

- short-term: I can write a filter that removes dependabot from our contributors
- longer-term: we could rewrite the "last edited on GitHub" feature to instead use `jekyll-github-metadata`. this would necessitate us to make it a runtime dependency, and it also wouldn't work as well for users of GitLab or other alternatives.
2023-02-14 11:00:18 -08:00
Matt Wang
27ae8d3e46 Add to CI matrix: windows, macOS; Ruby 2.7; allow later versions of bundler (#1165)
This PR:

- matricizes (?) the OS parameter: we now also test on `windows` and `macOS`
- matricizes the Ruby version parameter: we now also test on Ruby 2.7
- loosens the `.gemspec` requirement for `bundler` to allow things greater than `2.3.5`
    - interestingly, this is because the Ruby 2.7 container has a **later** version of bundler than the 3.1 one!

The last point makes this user-facing, and thus I'll trigger a release for this PR sometime soon.

These only apply to the `jekyll-build` job. Here, I think we have a broader obligation to support various use-cases (maybe they're deploying on GitLab, generating files locally, etc.); in contrast, the `github-pages` gem is used exclusively for deploying to GitHub Pages, so we should try to match that environment exactly.

This PR closes #1145.
2023-02-14 10:48:23 -08:00
Matt Wang
a812b37fcd Add CI for github-pages gem builds (#1164)
This is a small PR that:

- adds a `fixtures/Gemfile-github-pages`, the minimum gemfile necessary to build the site
- adds a new Actions workflow to build the site with that gemfile

In the future, this should prevent issues like #1074, where we push a change that passes the `jekyll` CI but fails to build on `github-pages` (and its dependencies - which in this case, was an older version of ruby sass).

(to be honest - not super happy with the code duplication, but I also think we'll have different build matrices for the different versions, so I'm fine with this for now)

Part of (but does not close) #1145.
2023-02-14 10:07:00 -08:00
dependabot[bot]
f312da69d6 Bump prettier from 2.8.3 to 2.8.4 (#1158)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.3 to 2.8.4.
- [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.8.3...2.8.4)

---
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>
2023-02-08 09:04:31 -08:00
Matthew Wang
dd1e80ae1c Prep for v0.4.0: changelog, docs, gemspec bump 2023-02-05 16:20:14 -08:00
18 changed files with 398 additions and 242 deletions

View File

@@ -5,23 +5,25 @@ on:
pull_request:
branches:
- main
- 'v**'
name: CI
jobs:
jekyll-build:
name: Build Jekyll site
runs-on: ubuntu-latest
name: Build (jekyll gem)
strategy:
fail-fast: false
matrix:
jekyll-version: [3.9, 4.3]
os: [ ubuntu-latest, macos-latest, windows-latest ]
ruby-version: [2.7, 3.1]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Setup Ruby
- name: Setup Ruby ${{ matrix.ruby-version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: false
- name: Bundle Install
run: bundle install
@@ -32,6 +34,21 @@ jobs:
- name: Build Site
run: bundle exec jekyll build
github-pages-build:
name: Build (github-pages gem)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
bundler-cache: false
- name: Bundle Install
run: BUNDLE_GEMFILE=fixtures/Gemfile-github-pages bundle install
- name: Build Site
run: BUNDLE_GEMFILE=fixtures/Gemfile-github-pages bundle exec jekyll build
assets:
name: Test CSS and JS
runs-on: ubuntu-latest

View File

@@ -16,11 +16,317 @@ The project underwent a major maintenance shift in March 2022.
This website is built from the `HEAD` of the `main` branch of the theme repository.
{: .warning }
This website includes docs for some new features that are not available in `v0.4.0.rc5` and `v0.3.3`!
This website includes docs for some new features that are not available in `v0.4.1`!
Changes to `main` that are *not* in the latest pre-release:
Code changes to `main` that are *not* in the latest release:
- n/a
- N/A
Docs changes in `main` that are *not* in the latest release:
- N/A
## Release v0.4.1
Hello! We hope you've been enjoying the new `v0.4.0`; we appreciate all the feedback we've gotten already! As promised, future releases will be small with simple steps to upgrade. This is one of them! `v0.4.1` is a [semver patch](https://semver.org/): it only includes bugfixes, and is fully backwards-compatible.
As always, we'd love your feedback. [Open an issue](https://github.com/just-the-docs/just-the-docs/issues) or [start a discussion](https://github.com/just-the-docs/just-the-docs/discussions) for bug reports, feature requests, and any other feedback. Thanks for continuing to use Just the Docs!
### Using Release `v0.4.1`
Users who have not pinned the theme version will be **automatically upgraded to `v0.4.1` 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.4.1
```
To use this RC 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.4.1"
```
To use and pin a previous version of the theme, replace the `0.4.1` with the desired release tag.
### Bugfixes
- Fixed: allow later versions of `bundler` by [@mattxwang] in [#1165]
- Fixed: AsciiDoc code block styling by [@flyx] in [#1168]
- Fixed: main content negative margin for viewports in `[$md, $nav-width + $content-width]` by [@Dima-369] in [#1177]
- Removed: unused `OneDarkJekyll` files by [@mattxwang] in [#1167]
### Documentation
- Fixed: re-add `jekyll-github-metadata` to docs site by [@mattxwang] in [#1108]
### New Contributors
- [@flyx] made their first contribution in [#1168]
- [@Dima-369] made their first contribution in [#1177]
[#1108]: https://github.com/just-the-docs/just-the-docs/pull/1108
[#1165]: https://github.com/just-the-docs/just-the-docs/pull/1165
[#1167]: https://github.com/just-the-docs/just-the-docs/pull/1167
[#1168]: https://github.com/just-the-docs/just-the-docs/pull/1168
[#1177]: https://github.com/just-the-docs/just-the-docs/pull/1177
[@flyx]: https://github.com/flyx
[@Dima-369]: https://github.com/Dima-369
**Full Changelog**: [https://github.com/just-the-docs/just-the-docs/compare/v0.4.0...v0.4.1](https://github.com/just-the-docs/just-the-docs/compare/v0.4.0...v0.4.1)
## Release v0.4.0
We're so excited to release Just the Docs `v0.4.0`. This release has been almost a year in the making - after our new maintenance team has taken over the project, we've added two years of backlogged features and bugfixes to modernize the theme. This CHANGELOG will summarize some of the key changes, discuss migrations strategies, and outline broad future plans for this theme.
### Brief Overview - Highlighted Changes
`v0.4.0` contains many new features and bugfixes. We enumerate all of them in further sections in this changelog; however, we'd like to call out some of the most-requested changes:
- better support for dark theme: dark highlighting, search input color
- [callouts](https://just-the-docs.github.io/just-the-docs/docs/ui-components/callouts/), a new design component to highlight content
- [configuring mermaid.js](https://just-the-docs.github.io/just-the-docs/docs/ui-components/code/#mermaid-diagram-code-blocks), a markdown-native diagram visualization library
- [copy code button](https://just-the-docs.github.io/just-the-docs/docs/ui-components/code/#copy-button) for code snippets
- [external navigation links](https://just-the-docs.github.io/just-the-docs/docs/navigation-structure/#external-navigation-links)
- major improvements to nav generation efficiency and robustness
- minor improvements to built-in accessibility (SVG icons, nav titles, skip to main content)
- [modularized site components](https://just-the-docs.github.io/just-the-docs/docs/customization/#custom-layouts-and-includes) (advanced feature)
- [new custom includes](https://just-the-docs.github.io/just-the-docs/docs/customization/#override-includes): table of contents heading, navigation panel footer, search placeholder, lunr search indices
- bugfixes involving WEBrick and Ruby 3, Liquid processing in CSS comments, nested task lists, relative URLs, scroll navigation, corrupted search data from rake, breadcrumbs, and more!
- more documentation for [custom includes](https://just-the-docs.github.io/just-the-docs/docs/customization/#override-includes), this changelog, and the [migration guide](https://just-the-docs.github.io/just-the-docs/MIGRATION/)
*After usage instructions and the roadmap, we enumerate all changes from `v0.3.3`.*
### Using Release `v0.4.0`
Unlike pre-releases, `v0.4.0` is a new semver minor release for the theme. That means that users who have not pinned the theme version will be **automatically upgraded to `v0.4.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.4.0
```
To use this RC 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.4.0"
```
If you would prefer to not upgrade, you can enforce that explicitly:
1. pin your gem version in your `Gemfile`, like so
```ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
```yml
remote_theme: just-the-docs/just-the-docs@v0.3.3
```
### Migration Guide and Strategies
We've developed a new [migration guide](https://just-the-docs.github.io/just-the-docs/MIGRATION/) for users to migrate from version `v0.3.3` to `v0.4.0`. It outlines major changes in project maintenance (e.g. new repository link, team) as well as breaking changes that may break your site (and potential solutions). We suggest that all users refer to the guide before manually upgrading their site.
**For the vast majority of users, we do not anticipate that this will be a breaking change.** The major touch points are surrounding new includes, navigation (ordering, pages, and collections), the favicon, and a shift to relative URLs. However, users who heavily customize the theme (primarily by overriding includes) will likely have to make minor changes.
Given the length of features added in this release, users may want to incrementally upgrade through the pre-releases. To follow this approach, read this changelog from `v0.4.0.rc1` to `v0.4.0.rc5`; this breaks down the release into small chunks, each of which should be easier to upgrade. `v0.4.0.rc5` is identical to this release.
For support with migrating to `v0.4.0`, [open an issue](https://github.com/just-the-docs/just-the-docs/issues) or [start a discussion](https://github.com/just-the-docs/just-the-docs/discussions) and let us know!
### Roadmap (What's Next?)
Moving forward, we plan to release more frequently with smaller, bite-sized changes. This should make it easier for users to upgrade in the future!
Broadly, many features are still on the radar. We anticipate the rest of `v0.4.x` to be bugfixes surrounding this new release.
For version `v0.5`, our roadmap includes:
- a theme toggle (light/dark mode), with automatic theme switching based on browser preferences
- better GDPR compliance for analytics
- multi-level/recursive navigation (unlimited hierarchy of child pages)
In future versions, we also plan on:
- adding better dark theme defaults
- adding better internationalization support
- exploring offline PDF generation
- improving accessibility within the theme
- improving search functionality
- refactoring and improving the robustness of our codebase
Have ideas for what's next, or want to get involved? [Open an issue](https://github.com/just-the-docs/just-the-docs/issues) or [start a discussion](https://github.com/just-the-docs/just-the-docs/discussions) and let us know! We're looking for more contributors and maintainers to help us develop the theme.
### New Features
- Added: Combination by [@pdmosses] in [#578]
- Added: dark highlighting in [#463]
- Added: pages and collections in [#448]
- Added: callouts in [#466]
- Fixed: breadcrumb behaviour … by [@AdityaTiwari2102] in [#477]
- Fixed: prevent rake command corrupting search data in [#495] (also listed below)
- Fixed: nested lists in [#496]
- Fixed: set color for search input in [#498] (also listed below)
- Fixed: sites with no child pages (no PR)
- Fixed: TOC/breadcrumbs for multiple collections in [#494]
- Added: collection configuration option `nav_fold` (no PR)
- Fixed: indentation and color for folded collection navigation (no PR)
- Fixed: scroll navigation to show the link to the current page in [#639]
- Fixed: Replace all uses of `absolute_url` by `relative_url`, by [@svrooij] in [#544]
- Added: custom favicon `_includes` by [@burner1024] in [#364]
- Added: set color for search input by [@pdmosses] in [#498]
- Added: search placeholder configuration by [@mattxwang] in [#613]
- Added: 'child_nav_order' front matter to be able to sort navigation pages in reverse by [@jmertic] in [#726]
- Added: `nav_footer_custom` include by [@nathanjessen] in [#474]
- Added: style fixes for jekyll-asciidoc by [@alyssais] in [#829]
- Added: mermaid.js support by [@nascosto] in [#857]
- Added: support for external navigation links by [@SPGoding] in [#876]
- Added: refactor `mermaid` config to use `mermaid_config.js` include, only require `mermaid.version` in `_config.yml` by [@mattxwang] in [#909]
- Added: accessible titles to nested page nav toggle by [@JPrevost] in [#950]
- Added: better title styling for AsciiDoc examples by [@alyssais] in [#944]
- Added: docs for custom search placeholder by [@mattxwang] in [#939]
- Added: provide ability to skip to main content by [@JPrevost] in [#949]
- Added: styling for `<blockquote>` by [@mattxwang] in [#965]
- Added: custom include for TOC heading by [@pdmosses] in [#980]
- Added: experimental nav optimization for simple cases by [@pdmosses] in [#992]
- Added: support multiple Google Analytics tracking IDs, document UA -> GA4 switch by [@MichelleBlanchette] in [#1029]
- Added: copy code button to code snippets by [@simonebortolin] in [#945]
- Added: restore simple configuration of `favicon.ico` via `site.static_files` by [@pdmosses] in [#1095]
- Added: modularize site components by [@mattxwang] in [#1058]
- Added: includes for custom `lunr` Liquid and JS code by [@diablodale] in [#1068]
- Added: new `_sass/custom/setup.scss` for variable definition by [@mattxwang] in [#1135]
- Added: configuration key to load a local version of mermaid by [@fabrik42] in [#1153]
### Bugfixes
- Fixed: prepend `site.collections_dir` if exists by [@alexsegura] in [#519]
- Fixed: nested task lists (#517) by [@pdmosses] in [#855]
- Fixed: suppress Liquid processing in CSS comments by [@pdmosses] in [#686]
- Fixed: prevent rake command from corrupting search data by [@pdmosses] in [#495]
- Fixed: anchor heading links should be visible on focus by [@jacobhq] in [#846]
- Fixed: add `overflow-x: auto` to `figure.highlight` by [@iridazzle] in [#727]
- Fixed: add `overflow-wrap: word-break` to `body` by [@iridazzle] in [#889]
- Fixed: vertical alignment for consecutive labels by [@Eisverygoodletter] in [#893]
- Fixed: allow links to wrap by [@pdmosses] in [#905]
- Fixed: nav scroll feature and absolute/relative URLs by [@pdmosses] in [#898]
- Fixed: exclude `vendor/` in Jekyll config by [@manuelhenke] in [#941]
- Fixed: improve build time of navigation panel by [@pdmosses] in [#956]
- Fixed: spacing issue when search is disabled by [@henryiii] in [#960]
- Fixed: active grandchild link class by [@pdmosses] in [#962]
- Fixed: HTML validation issues (W3C validator) by [@mattxwang] in [#964]
- Fixed: link styling now uses `text-decoration` values by [@mattxwang] in [#967]
- Fixed: cleaning up Jekyll excludes by [@pdmosses] in [#985]
- Fixed: docs, narrow styling for code highlighting with line numbers by [@pdmosses] in [#974]
- Fixed: default syntax highlighting in custom color schemes [@pdmosses] in [#986]
- Fixed: incorrect disambiguation in generated TOCs by [@pdmosses] in [#999]
- Fixed: duplicated external links in collections by [@pdmosses] in [#1001]
- Fixed: import order of `custom.scss`; puts at end by [@deseo] in [#1010]
- Fixed: top-level active link styling by [@pdmosses] in [#1015]
- Fixed: external links for sites with no pages by [@pdmosses] in [#1021]
- Fixed: duplicate `title` if `jekyll-seo-tag` not in users's plugins by [@Tom-Brouwer] in [#1040]
- Fixed: removes (duplicate) `favicon.html`, shifts content to `head_custom.html` by [@mattxwang] in [#1027]
- Fixed: add `reversed`, deprecate `desc` for nav `child_nav_order` by [@jmertic] in [#1061]
- Fixed: `child.child_nav_order` to `node.child_nav_order` by [@mattxwang] in [#1065]
- Fixed: remove all uses of `/` as SASS division by [@mattxwang] in [#1074]
- note: this was originally merged as [#1074] with a bug; it was reverted in [#1076], and then reimplemented in [#1077]
- Fixed: skip nav collection generation when site has no pages by [@pdmosses] in [#1092]
- Fixed: standardize SCSS with `declaration-block-no-redundant-longhand-properties` by [@simonebortolin] in [#1102]
- Fixed: incorrect `padding` property value pair in `labels.scss` by [@SConaway] in [#1104]
- Fixed: various bugs with copy code button by [@simonebortolin] in [#1096]
- Fixed: replace inline styling for `<svg>` icons by [@captn3m0] in [#1110]
- Fixed: incorrect `padding` property value pair in `search.scss` by [@kevinlin1] in [#1123]
- Fixed: minor spacing and comment nits by [@EricFromCanada] in [#1128]
- Fixed: exclude images from being bundled with gem by [@m-r-mccormick] in [#1142]
- Fixed: dark theme code block background, line number colors by [@m-r-mccormick] in [#1124]
- Fixed: copy code button interaction with kramdown line numbers by [@mattxwang] in [#1143]
### Maintenance
- Added: VScode devcontainer by [@max06] in [#783]
- Added: `webrick` to `Gemfile` by [@mattxwang] in [#799]
- Added: 'This site is powered by Netlify.' to the footer by [@mattxwang] in [#797]
- Updated: new repo path by [@pmarsceill] in [#775]
- Updated: rename `master` -> `main` by [@pmarsceill] in [#776]
- Updated: README by [@pmarsceill] in [#777]
- Updated: Code of Conduct to Contributor Covenant v2.1 by [@mattxwang] in [#790]
- Updated: CI files, Ruby & Node Versions by [@mattxwang] in [#820]
- Updated: Stylelint to v14, extend SCSS plugins, remove primer-* configs, resolve issues by [@mattxwang] in [#821]
- Deleted: unused script directory by [@mattxwang] in [#937]
- Vendor: update `jekyll-anchor-headings`, `lunr.js` by [@mattxwang] in [#1071]
### Documentation
- Added: docs on how to break an `ol` by [@pdmosses] in [#856]
- Added: docs for custom includes by [@nathanjessen] in [#806]
- Added: document caveat about variable dependencies by [@waldyrious] in [#555]
- Added: docs on how to use `custom_head` to add a custom favicon by [@UnclassedPenguin] in [#814]
- Added: docs load mermaid.js by default by [@mattxwang] in [#935]
- Added: warning about mandatory `_`-prefix for collections by [@max06] in [#1091]
- Added: migration guide by [@pdmosses] in [#1059]
- Added: label new features introduced in `v0.4` by [@mattxwang] in [#1138]
- Fixed: `ol` on `index.md` by [@pmarsceill] in [#778]
- Fixed: image link in Markdown kitchen sink by [@JeffGuKang] in [#221]
- Fixed: images in Markdown kitchen sink by [@dougaitken] in [#782]
- Fixed: clearer label of link to Jekyll quickstart by [@waldyrious] in [#549]
- Fixed: remove extra spaces in component docs by [@MichelleBlanchette] in [#554]
- Fixed: double "your" typo in `index.md` by [@sehilyi] in [#499]
- Fixed: "you" -> "your" typo in `index.md` by [@nathanjessen] in [#473]
- Fixed: spacing in toc example by [@henryiii] in [#835]
- Fixed: typo in `README` on `_config.yml` by [@ivanskodje] in [#891]
- Fixed: missing code fence in navigation structure docs by [@mattxwang] in [#906]
- Fixed: table of contents on search docs by [@robinpokorny] in [#940]
- Fixed: broken docs link (custom footer) by [@olgarithms] in [#951]
- Fixed: clarify version docs by [@pdmosses] in [#955]
- Fixed: typo in changelog links [@koppor] in [#1000]
- Fixed: two bugs in "Customization" (custom favicon, new annotation) by [@mattxwang] in [#1090]
- Fixed: "View Typography Utilities" link by [@agabrys] in [#1130]
- Fixed: broken relative page links by [@mattxwang] in [#1106]
- Fixed: clarify steps to add custom `lunr` index code by [@diablodale] in [#1139]
- Updated: homepage (focus: new features, conciseness, deduplication) by [@pdmosses] in [#1018]
- Updated: README (focus: new features, conciseness, deduplication) by [@pdmosses] in [#1019]
- Updated: `README` demo video by [@codewithfan] in [#1097]
### New Contributors
- [@AdityaTiwari2102] made their first contribution in [#477]
- [@svrooij] made their first contribution in [#544]
- [@alexsegura] made their first contribution in [#519]
- [@burner1024] made their first contribution in [#364]
- [@JeffGuKang] made their first contribution in [#221]
- [@dougaitken] made their first contribution in [#782]
- [@max06] made their first contribution in [#783]
- [@sehilyi] made their first contribution in [#499]
- [@nathanjessen] made their first contribution in [#473]
- [@waldyrious] made their first contribution in [#549]
- [@MichelleBlanchette] made their first contribution in [#554]
- [@henryiii] made their first contribution in [#835]
- [@jmertic] made their first contribution in [#726]
- [@jacobhq] made their first contribution in [#846]
- [@UnclassedPenguin] made their first contribution in [#814]
- [@alyssais] made their first contribution in [#829]
- [@nascosto] made their first contribution in [#857]
- [@SPGoding] made their first contribution in [#876]
- [@iridazzle] made their first contribution in [#727]
- [@ivanskodje] made their first contribution in [#891]
- [@Eisverygoodletter] made their first contribution in [#893]
- [@robinpokorny] made their first contribution in [#940]
- [@olgarithms] made their first contribution in [#951]
- [@manuelhenke] made their first contribution in [#941]
- [@JPrevost] made their first contribution in [#950]
- [@koppor] made their first contribution in [#1000]
- [@deseo] made their first contribution in [#1010]
- [@Tom-Brouwer] made their first contribution in [#1040]
- [@simonebortolin] made their first contribution in [#945]
- [@SConaway] made their first contribution in [#1104]
- [@captn3m0] made their first contribution in [#1110]
- [@kevinlin1] made their first contribution in [#1123]
- [@codewithfan] made their first contribution in [#1097]
- [@agabrys] made their first contribution in [#1130]
- [@diablodale] made their first contribution in [#1068]
- [@m-r-mccormick] made their first contribution in [#1142]
- [@fabrik42] made their first contribution in [#1153]
## Pre-release v0.4.0.rc5
@@ -40,14 +346,14 @@ remote_theme: just-the-docs/just-the-docs@v0.4.0.rc5
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
```ruby
gem "just-the-docs", "0.4.0.rc5"
```
By default, **users will not be upgraded to `0.4.0.rc5`**. To enforce that explicitly, either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
```ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
@@ -141,14 +447,14 @@ remote_theme: just-the-docs/just-the-docs@v0.4.0.rc4
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
```ruby
gem "just-the-docs", "0.4.0.rc4"
```
By default, **users will not be upgraded to `0.4.0.rc4`**. To enforce that explicitly, either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
```ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
@@ -262,14 +568,14 @@ remote_theme: just-the-docs/just-the-docs@v0.4.0.rc3
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
```ruby
gem "just-the-docs", "0.4.0.rc3"
```
By default, **users will not be upgraded to `0.4.0.rc3`**. To enforce that explicitly, either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
```ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
@@ -338,14 +644,14 @@ remote_theme: just-the-docs/just-the-docs@v0.4.0.rc2
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
```ruby
gem "just-the-docs", "0.4.0.rc2"
```
By default, **users will not be upgraded to `0.4.0.rc2`**. To enforce that explicitly, either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
```ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so
@@ -426,7 +732,7 @@ remote_theme: just-the-docs/just-the-docs@v0.4.0.rc1
To use this RC explicitly as a gem-based theme, pin the version in your `Gemfile` and re-run `bundle install` or `bundle update just-the-docs`:
```Ruby
```ruby
gem "just-the-docs", "0.4.0.rc1"
```
@@ -437,7 +743,7 @@ If you're not ready to make the switch, that's alright! If your version of just-
If you have not pinned your theme version, you should either:
1. pin your gem version in your `Gemfile`, like so
```Ruby
```ruby
gem "just-the-docs", "0.3.3"
```
2. freeze the `remote_theme`, like so

View File

@@ -1,4 +1,6 @@
source "https://rubygems.org"
gemspec
gem "jekyll-github-metadata", ">= 2.15"
gem "webrick", "~> 1.7"

View File

@@ -246,8 +246,6 @@ For changes since v0.3.3, the log usually references the merged PR that made the
### NON-BREAKING CHANGES (OUTLINE ONLY)
Brief descriptions of the following changes are to be added below.
#### Accessibility
- Skip to main content: the first keyboard-navigatable item is now a link to skip over the sidebar and header to the main content of the page. PR: [#949].

View File

@@ -17,6 +17,7 @@ title: Just the Docs
description: A Jekyll theme for documentation
baseurl: "/just-the-docs" # the subpath of your site, e.g. /blog
url: "https://just-the-docs.github.io" # the base hostname & protocol for your site, e.g. http://example.com
repository: just-the-docs/just-the-docs # for github-metadata
permalink: pretty
@@ -42,6 +43,8 @@ exclude:
- package-lock.json
- Rakefile
- README.md
# theme test code
- fixtures/
# Set a path/url to a logo that will be displayed instead of the title
#logo: "/assets/images/just-the-docs.png"
@@ -159,6 +162,7 @@ callouts:
plugins:
- jekyll-seo-tag
- jekyll-github-metadata
kramdown:
syntax_highlighter_opts:

View File

@@ -50,6 +50,11 @@ a:visited code {
// Kramdown line_numbers = true: fences have a wider gutter than with Liquid?
// ```[LANG]...```
// or in AsciiDoc:
//
// ----
// ...
// ----
// the code may appear with 3 different types:
// container \ case: default case, code with line number, code with html rendering
@@ -59,6 +64,7 @@ a:visited code {
// last level: code, pre, code (optionality)
// highlighter level: span, span, span
// the spacing are only in the second level for case 1, 3 and in the third level for case 2
// in AsciiDoc, there is a parent container that contains optionally a title and the content.
// select top level container
div.highlighter-rouge,
@@ -111,17 +117,17 @@ figure.highlight {
}
// setting the spacing and scrollbar on the second level for the first case
// remove all space on the second and thirt level
div.highlighter-rouge,
div.listingblock {
div.highlight {
// remove all space on the second and third level
// this is a mixin to accommodate for the slightly different structures generated via Markdown vs AsciiDoc
@mixin scroll-and-spacing($code-div, $pre-select) {
#{$code-div} {
overflow-x: auto;
padding: $sp-3;
margin: 0;
border: 0;
}
pre.highlight,
#{$pre-select},
code {
padding: 0;
margin: 0;
@@ -129,6 +135,19 @@ div.listingblock {
}
}
// for Markdown
div.highlighter-rouge {
@include scroll-and-spacing("div.highlight", "pre.highlight");
}
// 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;
}
// {% highlight LANG %}...{% endhighlight %},
// {% highlight LANG linenos %}...{% endhighlight %}:

View File

@@ -29,9 +29,13 @@
}
@include mq(lg) {
margin-left: calc(
(100% - #{$nav-width + $content-width}) / 2 + #{$nav-width}
// stylelint-disable function-name-case
// disable for Max(), we want to use the CSS max() function
margin-left: Max(
#{$nav-width},
calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width})
);
// stylelint-enable function-name-case
}
}

View File

@@ -1,25 +0,0 @@
# OneDarkJekyll
*Use Atom's One Dark syntax colors in your Jekyll powered blog!*
It's LESS file which can be compiled to a - Pygments, Rouge compatible - stylesheet from Atom editor's One Dark syntax theme (and any theme based on it, for example One Dark Vivid, Firewatch, etc.).
Download the stylesheet files or compile a new one from any Atom syntax theme which based on One Dark (the variable names in `colors.less` must match with One Dark's)
## Create a new syntax stylesheet
1. `npm install -g less less-plugin-clean-css`
2. Clone this repository
3. Download the `colors.css` file from the syntax theme's repository (for example https://github.com/atom/one-dark-syntax/blob/master/styles/colors.less in case of One-Dark)
4. Put the previously downloaded file next to `syntax.less`
5. Run `lessc syntax.less syntax.css --clean-css`
6. Use the `syntax.css`
It's not final and in case you find any error/improvement feel free to create a PR. :)
----
# UPDATES FOR USE IN JUST-THE-DOCS:
1. Layout added in `*.css`
2. Renamed `*.css` to `*.scss`

View File

@@ -1,30 +0,0 @@
// Config -----------------------------------
@syntax-hue: 220;
@syntax-saturation: 13%;
@syntax-brightness: 18%;
// Monochrome -----------------------------------
@mono-1: hsl(@syntax-hue, 14%, 71%); // default text
@mono-2: hsl(@syntax-hue, 9%, 55%);
@mono-3: hsl(@syntax-hue, 10%, 40%);
// Colors -----------------------------------
@hue-1: hsl(187, 47%, 55%); // <-cyan
@hue-2: hsl(207, 82%, 66%); // <-blue
@hue-3: hsl(286, 60%, 67%); // <-purple
@hue-4: hsl( 95, 38%, 62%); // <-green
@hue-5: hsl(355, 65%, 65%); // <-red 1
@hue-5-2: hsl( 5, 48%, 51%); // <-red 2
@hue-6: hsl( 29, 54%, 61%); // <-orange 1
@hue-6-2: hsl( 39, 67%, 69%); // <-orange 2
// Base colors -----------------------------------
@syntax-fg: @mono-1;
@syntax-bg: hsl(@syntax-hue, @syntax-saturation, @syntax-brightness);
@syntax-gutter: darken(@syntax-fg, 26%);
@syntax-guide: fade(@syntax-fg, 15%);
@syntax-accent: hsl(@syntax-hue, 100%, 66% );

View File

@@ -1,56 +0,0 @@
@import "colors.less";
// Official Syntax Variables -----------------------------------
// General colors
@syntax-text-color: @syntax-fg;
@syntax-cursor-color: @syntax-accent;
@syntax-selection-color: lighten(@syntax-background-color, 10%);
@syntax-selection-flash-color: @syntax-accent;
@syntax-background-color: @syntax-bg;
// Guide colors
@syntax-wrap-guide-color: @syntax-guide;
@syntax-indent-guide-color: @syntax-guide;
@syntax-invisible-character-color: @syntax-guide;
// For find and replace markers
@syntax-result-marker-color: fade(@syntax-accent, 24%);
@syntax-result-marker-color-selected: @syntax-accent;
// Gutter colors
@syntax-gutter-text-color: @syntax-gutter;
@syntax-gutter-text-color-selected: @syntax-fg;
@syntax-gutter-background-color: @syntax-bg; // unused
@syntax-gutter-background-color-selected: lighten(@syntax-bg, 2%);
// Git colors - For git diff info. i.e. in the gutter
@syntax-color-renamed: hsl(208, 100%, 60%);
@syntax-color-added: hsl(150, 60%, 54%);
@syntax-color-modified: hsl(40, 60%, 70%);
@syntax-color-removed: hsl(0, 70%, 60%);
// For language entity colors
@syntax-color-variable: @hue-5;
@syntax-color-constant: @hue-6;
@syntax-color-property: @syntax-fg;
@syntax-color-value: @syntax-fg;
@syntax-color-function: @hue-2;
@syntax-color-method: @hue-2;
@syntax-color-class: @hue-6-2;
@syntax-color-keyword: @hue-3;
@syntax-color-tag: @hue-5;
@syntax-color-attribute: @hue-6;
@syntax-color-import: @hue-3;
@syntax-color-snippet: @hue-4;
// Custom Syntax Variables -----------------------------------
// Don't use in packages
@syntax-cursor-line: hsla(@syntax-hue, 100%, 80%, .04); // needs to be semi-transparent to show search results
@syntax-deprecated-fg: darken(@syntax-color-modified, 50%);
@syntax-deprecated-bg: @syntax-color-modified;
@syntax-illegal-fg: white;
@syntax-illegal-bg: @syntax-color-removed;

View File

@@ -1,93 +0,0 @@
/*
LESS for Pygments
*/
@import "syntax-variables.less";
pre.highlight,
.highlight {
background: @syntax-bg;
color: @mono-1;
}
.highlight {
pre { background: @syntax-bg; }
.hll { background: @syntax-bg; }
.c { color: @mono-3; font-style: italic; } /* Comment */
.err { color: @syntax-illegal-fg; background-color: @syntax-illegal-bg; } /* Error */
.k { color: @hue-3; } /* Keyword */
.l { color: @hue-4; } /* Literal */
.n { color: @mono-1; } /* Name */
.o { color: @mono-1; } /* Operator */
.p { color: @mono-1; } /* Punctuation */
.cm { color: @mono-3; font-style: italic; } /* Comment.Multiline */
.cp { color: @mono-3; font-style: italic; } /* Comment.Preproc */
.c1 { color: @mono-3; font-style: italic; } /* Comment.Single */
.cs { color: @mono-3; font-style: italic; } /* Comment.Special */
.ge { font-style: italic } /* Generic.Emph */
.gs { font-weight: bold } /* Generic.Strong */
.kc { color: @hue-3; } /* Keyword.Constant */
.kd { color: @hue-3; } /* Keyword.Declaration */
.kn { color: @hue-3; } /* Keyword.Namespace */
.kp { color: @hue-3; } /* Keyword.Pseudo */
.kr { color: @hue-3; } /* Keyword.Reserved */
.kt { color: @hue-3; } /* Keyword.Type */
.ld { color: @hue-4; } /* Literal.Date */
.m { color: @hue-6; } /* Literal.Number */
.s { color: @hue-4; } /* Literal.String */
.na { color: @hue-6; } /* Name.Attribute */
.nb { color: @hue-6-2; } /* Name.Builtin */
.nc { color: @hue-6-2; } /* Name.Class */
.no { color: @hue-6-2; } /* Name.Constant */
.nd { color: @hue-6-2; } /* Name.Decorator */
.ni { color: @hue-6-2; } /* Name.Entity */
.ne { color: @hue-6-2; } /* Name.Exception */
.nf { color: @mono-1; } /* Name.Function */
.nl { color: @hue-6-2; } /* Name.Label */
.nn { color: @mono-1; } /* Name.Namespace */
.nx { color: @mono-1; } /* Name.Other */
.py { color: @hue-6-2; } /* Name.Property */
.nt { color: @hue-5; } /* Name.Tag */
.nv { color: @hue-6-2; } /* Name.Variable */
.ow { font-weight: bold; } /* Operator.Word */
.w { color: #f8f8f2 } /* Text.Whitespace */
.mf { color: @hue-6; } /* Literal.Number.Float */
.mh { color: @hue-6; } /* Literal.Number.Hex */
.mi { color: @hue-6; } /* Literal.Number.Integer */
.mo { color: @hue-6; } /* Literal.Number.Oct */
.sb { color: @hue-4; } /* Literal.String.Backtick */
.sc { color: @hue-4; } /* Literal.String.Char */
.sd { color: @hue-4; } /* Literal.String.Doc */
.s2 { color: @hue-4; } /* Literal.String.Double */
.se { color: @hue-4; } /* Literal.String.Escape */
.sh { color: @hue-4; } /* Literal.String.Heredoc */
.si { color: @hue-4; } /* Literal.String.Interpol */
.sx { color: @hue-4; } /* Literal.String.Other */
.sr { color: @hue-1; } /* Literal.String.Regex */
.s1 { color: @hue-4; } /* Literal.String.Single */
.ss { color: @hue-1; } /* Literal.String.Symbol */
.bp { color: @hue-6-2; } /* Name.Builtin.Pseudo */
.vc { color: @hue-6-2; } /* Name.Variable.Class */
.vg { color: @hue-6-2; } /* Name.Variable.Global */
.vi { color: @hue-5; } /* Name.Variable.Instance */
.il { color: @hue-6; } /* Literal.Number.Integer.Long */
.gh { } /* Generic Heading & Diff Header */
.gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */
.gd { color: @syntax-color-removed; } /* Generic.Deleted & Diff Deleted */
.gi { color: @syntax-color-added; } /* Generic.Inserted & Diff Inserted */
::selection { background-color: @syntax-selection-color; }
.language-json {
.w + .s2 { color: @hue-5; }
.kc { color: @hue-1; }
}
.language-python {
// python related modifications
}
.language-csharp {
// csharp related modifications
}
}

View File

@@ -488,7 +488,7 @@ jtd.onReady(function(){
jtd.onReady(function(){
var codeBlocks = document.querySelectorAll('div.highlighter-rouge, div.listingblock, figure.highlight');
var codeBlocks = document.querySelectorAll('div.highlighter-rouge, div.listingblock > div.content, figure.highlight');
// note: the SVG svg-copied and svg-copy is only loaded as a Jekyll include if site.enable_copy_code_button is true; see _includes/icons/icons.html
var svgCopied = '<svg viewBox="0 0 24 24" class="copy-icon"><use xlink:href="#svg-copied"></use></svg>';

View File

@@ -254,6 +254,10 @@ aux_links:
---
## External Navigation Links
{: .d-inline-block }
New (v0.4.0)
{: .label .label-green }
To add external links to the navigation, add them to the `nav_external_links` [configuration]({% link docs/configuration.md %}) option in your site's `_config.yml` file.
External links will appear in the navigation after the links to ordinary pages, but before any collections.

View File

@@ -0,0 +1,3 @@
source "https://rubygems.org"
gem 'github-pages', group: :jekyll_plugins

3
fixtures/README.md Normal file
View File

@@ -0,0 +1,3 @@
# Test Fixtures
These files are used by Just the Docs maintainers to test *the theme itself*. **If you are using Just the Docs as a theme, you should not copy these files over.**

View File

@@ -2,7 +2,7 @@
Gem::Specification.new do |spec|
spec.name = "just-the-docs"
spec.version = "0.4.0.rc5"
spec.version = "0.4.1"
spec.authors = ["Patrick Marsceill", "Matthew Wang"]
spec.email = ["patrick.marsceill@gmail.com", "matt@matthewwang.me"]
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
spec.files = `git ls-files -z ':!:*.jpg' ':!:*.png'`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README|CHANGELOG|favicon)}i) }
spec.executables << 'just-the-docs'
spec.add_development_dependency "bundler", "~> 2.3.5"
spec.add_development_dependency "bundler", ">= 2.3.5"
spec.add_runtime_dependency "jekyll", ">= 3.8.5"
spec.add_runtime_dependency "jekyll-seo-tag", ">= 2.0"
spec.add_runtime_dependency "rake", ">= 12.3.1"

14
package-lock.json generated
View File

@@ -9,7 +9,7 @@
"version": "0.3.3",
"license": "MIT",
"devDependencies": {
"prettier": "^2.8.3",
"prettier": "^2.8.4",
"stylelint": "^14.16.1",
"stylelint-config-prettier-scss": "0.0.1",
"stylelint-config-standard-scss": "^6.1.0",
@@ -1274,9 +1274,9 @@
"dev": true
},
"node_modules/prettier": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz",
"integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==",
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
"integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
@@ -2997,9 +2997,9 @@
"dev": true
},
"prettier": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz",
"integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==",
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
"integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
"dev": true
},
"prettier-linter-helpers": {

View File

@@ -6,7 +6,7 @@
"license": "MIT",
"bugs": "https://github.com/just-the-docs/just-the-docs/issues",
"devDependencies": {
"prettier": "^2.8.3",
"prettier": "^2.8.4",
"stylelint": "^14.16.1",
"stylelint-config-prettier-scss": "0.0.1",
"stylelint-config-standard-scss": "^6.1.0",