mirror of
https://github.com/snachodog/just-the-docs.git
synced 2025-09-16 06:13:32 -06:00
Compare commits
32 Commits
v0.4.0.rc4
...
v0.4.0.rc5
Author | SHA1 | Date | |
---|---|---|---|
|
86dbc2d4d7 | ||
|
c7c99992f9 | ||
|
8894630659 | ||
|
4a7fbbca92 | ||
|
b2bbdb7040 | ||
|
cf72c436d9 | ||
|
6cdd4f76b5 | ||
|
c13a5d2cdf | ||
|
5f91e326c7 | ||
|
975aec0791 | ||
|
3ce3dc74e0 | ||
|
c7bdfe5456 | ||
|
81d7e13277 | ||
|
3de6c589aa | ||
|
3335b9791d | ||
|
73a7e7cb33 | ||
|
d423c96d7a | ||
|
eeb89e56f0 | ||
|
1de6260d57 | ||
|
70e55f1d7b | ||
|
7a01ef1a59 | ||
|
5e7a481258 | ||
|
a789198b20 | ||
|
ee178d7bdf | ||
|
0df627058b | ||
|
49d004f271 | ||
|
c296f914af | ||
|
c1b944bc3a | ||
|
f84e524400 | ||
|
52b43417b4 | ||
|
2691ff8a25 | ||
|
7b29f62b49 |
43
.github/workflows/update_jekyll-anchor-heading.yml
vendored
Normal file
43
.github/workflows/update_jekyll-anchor-heading.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: Update Vendor plugin - jekyll-anchor-headings
|
||||
on:
|
||||
# schedule:
|
||||
# # once per week
|
||||
# - cron: "0 15 * * 0"
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
update-deps:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Get latest release information
|
||||
id: latest-release
|
||||
uses: pozetroninc/github-action-get-latest-release@master
|
||||
with:
|
||||
owner: allejo
|
||||
repo: jekyll-anchor-headings
|
||||
excludes: prerelease, draft
|
||||
|
||||
- name: Update jekyll-anchor-headings
|
||||
id: update
|
||||
uses: suisei-cn/actions-download-file@v1.3.0
|
||||
with:
|
||||
url: "https://github.com/allejo/jekyll-anchor-headings/releases/download/${{ steps.latest-release.outputs.release }}/anchor_headings.html"
|
||||
target: _includes/vendor/
|
||||
|
||||
- name: Create PR
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
commit-message: "chore[dependency]: Update `jekyll-anchor-headings` to `${{ steps.latest-release.outputs.release }}`"
|
||||
title: "auto: Update `jekyll-anchor-headings` to `${{ steps.latest-release.outputs.release }}`"
|
||||
body: |
|
||||
Update `jekyll-anchor-headings` to `${{ steps.latest-release.outputs.release }}`
|
||||
This is an automated pull request.
|
||||
branch: update/vendor/jekyll-anchor-headings
|
||||
delete-branch: true
|
||||
labels: |
|
||||
kind/update
|
||||
area/dependency
|
||||
add-paths: |
|
||||
_includes/vendor/anchor_headings.html
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
90
CHANGELOG.md
90
CHANGELOG.md
@@ -16,12 +16,100 @@ 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.rc4` and `v0.3.3`!
|
||||
This website includes docs for some new features that are not available in `v0.4.0.rc5` and `v0.3.3`!
|
||||
|
||||
Changes to `main` that are *not* in the latest pre-release:
|
||||
|
||||
- n/a
|
||||
|
||||
## Pre-release v0.4.0.rc5
|
||||
|
||||
Hi everyone, we're so excited to finally release `v0.4.0`! For posterity's sake, we're going to release `v0.4.0.rc5` and then immediately re-release it as `v0.4.0`; this should make it more clear what changes were introduced in the lead up to the minor release.
|
||||
|
||||
This RC does not introduce any major user-facing features. It adds more customizability for custom SCSS variables (fixing a bug with callout introduction order), `lunr` indexing, and loading `mermaid` locally. In addition, it fixes bugs introduced in `.rc4`: incorrect CSS, inconsistencies with code block backgrounds in dark theme, and the copy code button. It also adds a migration guide for users coming from `v0.3.3`.
|
||||
|
||||
### Trying out pre-release `v0.4.0.rc5`
|
||||
|
||||
Simlar to the prior release, `v0.4.0.rc5` is a **release candidate** for the theme (i.e., a pre-release) with release `v0.4.0` following immediately after. While we don't anticipate many users using this RC, it is still possible to opt-in.
|
||||
|
||||
To use this RC explicitly as a remote theme:
|
||||
|
||||
```yml
|
||||
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
|
||||
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
|
||||
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
|
||||
```
|
||||
|
||||
### New Features
|
||||
|
||||
- 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 and Maintenance
|
||||
|
||||
- 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]
|
||||
|
||||
### Docs
|
||||
|
||||
- Docs: add a migration guide by [@pdmosses] in [#1059]
|
||||
- Docs: update `README` demo video by [@codewithfan] in [#1097]
|
||||
- Docs: update "View Typography Utilities" link by [@agabrys] in [#1130]
|
||||
- Docs: fix broken relative page links by [@mattxwang] in [#1106]
|
||||
- Docs: clarify steps to add custom `lunr` index code by [@diablodale] in [#1139]
|
||||
- Docs: label new features introduced in `v0.4` by [@mattxwang] in [#1138]
|
||||
|
||||
### New Contributors
|
||||
|
||||
- [@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]
|
||||
|
||||
[#1059]: https://github.com/just-the-docs/just-the-docs/pull/1059
|
||||
[#1068]: https://github.com/just-the-docs/just-the-docs/pull/1068
|
||||
[#1097]: https://github.com/just-the-docs/just-the-docs/pull/1097
|
||||
[#1106]: https://github.com/just-the-docs/just-the-docs/pull/1106
|
||||
[#1123]: https://github.com/just-the-docs/just-the-docs/pull/1123
|
||||
[#1124]: https://github.com/just-the-docs/just-the-docs/pull/1124
|
||||
[#1128]: https://github.com/just-the-docs/just-the-docs/pull/1128
|
||||
[#1130]: https://github.com/just-the-docs/just-the-docs/pull/1130
|
||||
[#1135]: https://github.com/just-the-docs/just-the-docs/pull/1135
|
||||
[#1138]: https://github.com/just-the-docs/just-the-docs/pull/1138
|
||||
[#1139]: https://github.com/just-the-docs/just-the-docs/pull/1139
|
||||
[#1142]: https://github.com/just-the-docs/just-the-docs/pull/1142
|
||||
[#1143]: https://github.com/just-the-docs/just-the-docs/pull/1143
|
||||
[#1153]: https://github.com/just-the-docs/just-the-docs/pull/1153
|
||||
|
||||
[@agabrys]: https://github.com/agabrys
|
||||
[@codewithfan]: https://github.com/codewithfan
|
||||
[@diablodale]: https://github.com/diablodale
|
||||
[@fabrik42]: https://github.com/fabrik42
|
||||
[@kevinlin1]: https://github.com/kevinlin1
|
||||
[@EricFromCanada]: https://github.com/EricFromCanada
|
||||
[@m-r-mccormick]: https://github.com/m-r-mccormick
|
||||
|
||||
## Pre-release v0.4.0.rc4
|
||||
|
||||
Happy new year! We're celebrating with another pre-release, with features that should help theme users better adapt to changes moving forward. **We aim to re-release this as `v0.4.0`, with only few changes**.
|
||||
|
404
MIGRATION.md
Normal file
404
MIGRATION.md
Normal file
@@ -0,0 +1,404 @@
|
||||
---
|
||||
title: Migration and Upgrading
|
||||
layout: default
|
||||
---
|
||||
|
||||
# Migrating and Upgrading
|
||||
|
||||
Summary
|
||||
: A site that uses `just-the-docs` (as a theme or as a remote them) automatically
|
||||
switches to a new release, unless it is pinned to a previous version.
|
||||
|
||||
This migration guide draws attention to:
|
||||
|
||||
- changes that might break your site,
|
||||
- features added in the latest release, and
|
||||
- features that have become deprecated (and are likely to be removed in a future release).
|
||||
|
||||
This document contains instructions on how to migrate and upgrade Just the Docs sites from every minor or major version bump, starting from `v0.3.3` to `v0.4.0`.
|
||||
|
||||
<details open markdown="block">
|
||||
<summary>
|
||||
Table of contents
|
||||
</summary>
|
||||
{: .text-delta }
|
||||
- TOC
|
||||
{:toc}
|
||||
</details>
|
||||
|
||||
{::options toc_levels="2..4" /}
|
||||
|
||||
{: .warning }
|
||||
> If your configuration states `remote_theme: just-the-docs/just-the-docs`, your
|
||||
> website is built using the current `main` branch of the theme, which may include
|
||||
> changes made after the latest release; see the [CHANGELOG].
|
||||
>
|
||||
> If your configuration states `theme: just the docs` and your `Gemfile` specifies
|
||||
> `gem "just-the-docs"`, your website is always built using the latest release.
|
||||
|
||||
{: .note }
|
||||
> If you have cloned/forked and customised the theme repo,
|
||||
> and pull the changes of a new release to your clone,
|
||||
> you may need to resolve merge conflicts.
|
||||
|
||||
[CHANGELOG]: {{ site.baseurl }}{% link CHANGELOG.md %}
|
||||
|
||||
## v0.3.3 … v0.4.x
|
||||
|
||||
### REPOSITORY CHANGES
|
||||
|
||||
#### Just the Docs
|
||||
|
||||
The theme repo is now at <https://github.com/just-the-docs/just-the-docs>.
|
||||
The name of its default branch is now `main`.
|
||||
|
||||
The theme docs website is now published at <https://just-the-docs.github.io/just-the-docs>.
|
||||
|
||||
GitHub provides access to previous versions of the theme repo.
|
||||
You can browse [previous versions of the theme docs website] on the [Internet Archive].
|
||||
|
||||
[previous versions of the theme docs website]: https://web.archive.org/web/20220000000000*/https://just-the-docs.github.io/just-the-docs
|
||||
[Internet Archive]: https://web.archive.org/
|
||||
|
||||
The [README] page on the theme repo repeats much of the information from the [home page],
|
||||
formatted for browsing on GitHub.
|
||||
It also explains how to install the theme as a Ruby Gem, without creating a new site.
|
||||
|
||||
[README]: https://github.com/just-the-docs/just-the-docs/blob/main/README.md
|
||||
[home page]: https://just-the-docs.github.io/just-the-docs
|
||||
|
||||
#### Deploy previews
|
||||
|
||||
When a PR builds successfully, Netlify provides a preview of how the theme docs website will look if the PR is merged.
|
||||
You can find links to the preview near the bottom of the Conversation tab of the PR.
|
||||
|
||||
#### Just the Docs Template
|
||||
|
||||
The template at <https://github.com/just-the-docs/just-the-docs-template>
|
||||
creates a repo with the minimal source files for a Just the Docs website.
|
||||
After configuring the relevant parameters, you can build and serve the website
|
||||
both locally and on GitHub Pages – using either Jekyll 3 or Jekyll 4!
|
||||
|
||||
#### Just the Docs Tests
|
||||
|
||||
The tests website at <https://just-the-docs.github.io/just-the-docs-tests>
|
||||
consists mainly of regression tests for bug fixes and new features.
|
||||
|
||||
The test source files at <https://github.com/just-the-docs/just-the-docs-tests>
|
||||
illustrate the use of many Markdown and Jekyll features,
|
||||
including some that are not included in the theme docs.
|
||||
|
||||
For example, see how to add support for rendering TeX/LaTeX [math formulas] with KaTeX and MathJax.
|
||||
|
||||
[math formulas]: https://just-the-docs.github.io/just-the-docs-tests/components/math/index/
|
||||
|
||||
### POTENTIALLY-BREAKING CHANGES in v0.4.0
|
||||
|
||||
If switching to a new release of the theme breaks your website,
|
||||
check that you don't have any files in the `_includes`, `_layouts`, and `_sass`
|
||||
directories with the same names as files provided by the theme.
|
||||
|
||||
If your repo has a customised copy of `_layouts/default.html` from a previous release,
|
||||
try removing it, or replace it by a fresh copy of the theme file.
|
||||
|
||||
{: .warning }
|
||||
The following changes made in v0.4.0 *might* break or adversely affect your website
|
||||
when you next rebuild it, unless you have pinned it!
|
||||
|
||||
#### New includes and SCSS
|
||||
|
||||
Version 0.4.0 introduces many new `_includes` files. If you already have an existing include with the same name as a new addition, you will need to migrate or update that include. The new files are (relative to the `_includes` folder):
|
||||
|
||||
- `mermaid_config.js`
|
||||
- `nav_footer_custom`
|
||||
- `search_placeholder_custom`
|
||||
- `toc_heading_custom`
|
||||
- the entire `components/` folder:
|
||||
- `aux_nav`, `breadcrumbs`, `children_nav`, `footer`, `header`, `mermaid`, `search_footer`, `search_header`, `sidebar`
|
||||
- the entire `icons/` folder
|
||||
- `code_copy`, `document`, `expand`, `external_link`, `icons`, `link`, `menu`, `search`
|
||||
- the entire `lunr/` folder
|
||||
- `custom-data.json`, `custom-index.js`
|
||||
|
||||
We have removed some code in `_sass/vendor` and added a new file at `_sass/custom/setup.scss`.
|
||||
|
||||
#### favicons
|
||||
|
||||
The file `_includes/favicon.html` is now ignored by the theme.
|
||||
If you're using it, your website's favicon is no longer displayed by browsers.
|
||||
|
||||
To fix: Move the content of `_includes/favicon.html` to `_includes/head_custom.html`.
|
||||
|
||||
#### Custom callout colors
|
||||
|
||||
The file `_sass/custom/custom.scss` is now imported last: _after_ the configuration of callouts.
|
||||
If you've defined custom color variables for callouts in `_sass/custom/custom.scss`
|
||||
(and used them when configuring your callouts in `_config.yml`)
|
||||
you will not be able to rebuild your website.
|
||||
|
||||
To fix: Move custom color variables for callouts in `_sass/custom/custom.scss` to `_sass/custom/variables.scss`.
|
||||
|
||||
#### Pages and collections
|
||||
|
||||
Links to ordinary pages now appear in the navigation on sites that use collections.
|
||||
You might want the navigation of your site to consist entirely of collections.
|
||||
|
||||
To fix: Add the front matter `nav_exclude: true` to pages that the navigation should not display.
|
||||
|
||||
#### Relative URLs
|
||||
|
||||
All generated URLs are now relative.
|
||||
This is a bug fix, and unlikely to break any site.
|
||||
|
||||
Relative links to pages within a website support deployment to different servers.
|
||||
|
||||
#### Navigation order
|
||||
|
||||
The order in which the navigation panel lists pages has been simplified.
|
||||
All pages with `nav_order` values now come before all pages that are ordered by `title`.
|
||||
|
||||
If your website has a group of *sibling* pages where some siblings have `nav_order`
|
||||
string values, and others are ordered by numerical `title` values,
|
||||
the former now come before the latter.
|
||||
|
||||
To fix: Add numerical `nav_order` values to the pages with numerical `title` values.
|
||||
|
||||
### DEPRECATIONS
|
||||
|
||||
{: .warning }
|
||||
The following features are deprecated, and to be removed in a future release.
|
||||
|
||||
#### Jekyll 3
|
||||
|
||||
You can still use Jekyll 3 (3.8.5 or later) to build websites using v0.4.0 of the theme.
|
||||
However, future releases of the theme may require the use of Jekyll 4.
|
||||
|
||||
You can already use Jekyll 4 to build your website *locally*.
|
||||
It should look exactly the same as when built with Jekyll 3.[^Jekyll4]
|
||||
|
||||
[^Jekyll4]:
|
||||
Jekyll 4 depends on more recent versions of other gems than Jekyll 3,
|
||||
and the differences between those versions may affect the files of your built site.
|
||||
|
||||
To use Jekyll 4 when building your website *on GitHub Pages*, you need to run GitHub Actions.
|
||||
The simplest way of setting that up in a new repo is to create the repo using the Just the Docs template.
|
||||
To start running Jekyll 4 to build an existing repo on GitHub Pages,
|
||||
you can create a new repo with the template, then copy its `.github/workflows` directory,
|
||||
and update your repo settings to use Actions.
|
||||
|
||||
#### Footer content configuration
|
||||
|
||||
Currently, if your configuration sets `footer_content` to some text,
|
||||
the theme displays that text at the bottom of the main section of each page.
|
||||
|
||||
The file `_includes/footer_custom.html` provides a more general way of customizing
|
||||
not only the text but also the markup for the page footer area.
|
||||
|
||||
You can replicate the current display of `TEXT` in the footer using the following markup:
|
||||
|
||||
```html
|
||||
<p class="text-small text-grey-dk-100 mb-0">TEXT</p>
|
||||
```
|
||||
|
||||
### THEME WEBSITE CHANGES
|
||||
|
||||
The website now uses *callouts*[^callouts] to draw attention to important information.
|
||||
|
||||
[^callouts]:
|
||||
The theme website configuration defines the callout titles and colors used there.
|
||||
Websites that use the theme have to configure their own callout titles and colors.
|
||||
|
||||
The theme uses [semantic versioning].
|
||||
A normal version number takes the form X.Y.Z,
|
||||
where X is the major version, Y is the minor version, and Z is the patch version.
|
||||
The theme uses version X.Y.Z.rcN for pre-release N of version X.Y.Z.
|
||||
When referring to version numbers on GitHub, we usually prefix them by 'v'.
|
||||
|
||||
[semantic versioning]: https://semver.org
|
||||
|
||||
Major version zero (0.Y.Z) is for initial development, where anything *may* change at any time.
|
||||
In practice, we increment the patch version Z for bug fixes and backwards compatible changes;
|
||||
we increment the minor version Y for changes that could break websites using the theme
|
||||
without pinning it to a specific version.
|
||||
|
||||
The label `NEW` in the theme website indicates a feature that has been changed or added
|
||||
since the release of the previous *minor* version.
|
||||
For example, after the release of v0.4.Z, the theme website should label `NEW` all features that
|
||||
we have changed or added since v0.3.0 – not just since v0.3.3.
|
||||
When we release v0.5.0, we will remove all those labels, and add labels on features since v0.4.0.
|
||||
|
||||
The theme docs website is not itself versioned.
|
||||
It changes incrementally, independently of theme releases.
|
||||
|
||||
#### Home page
|
||||
|
||||
The theme home page now focuses on the simplest ways of using the theme.
|
||||
It also notes the different behaviour of `theme` and `remote_theme` in connection
|
||||
with interim versions of the theme, such as pre-releases.
|
||||
|
||||
#### CHANGELOG
|
||||
|
||||
The CHANGELOG page lists the changes made in all previous releases and pre-releases of new versions of the theme gem.
|
||||
|
||||
It also lists changes made to the `main` branch of the theme since the latest release or pre-release.
|
||||
|
||||
For changes since v0.3.3, the log usually references the merged PR that made the change and its author.
|
||||
|
||||
### 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].
|
||||
- Aria-labels: improved `aria-label`s have been added to various site elements. PRs: [#950], ...
|
||||
- Other general improvements: gradual changes have improved tab focusability, contrast, and semantic elements. More work still to come. PRs: [#498], [#846]
|
||||
|
||||
#### Configuration
|
||||
|
||||
- Mermaid support: first-class support for [Mermaid](https://mermaid.js.org/) - a JavaScript-based diagram and charting tool supported by GitHub - has been added to the theme. **This feature is opt-in.** See the new doc subsections in [Configuration]({% link docs/configuration.md %}#mermaid-diagrams) and [Code]({% link docs/ui-components/code.md %}#mermaid-diagram-code-blocks) for more.
|
||||
- Multiple Google Analytics tags are now supported. PR: [#1029]
|
||||
|
||||
#### Customization
|
||||
|
||||
- all user-facing text is now customizable; previously, several elements (ex search placeholder) were hardwired into the theme. Now, users can blend custom includes and layouts to internationalize their sites.
|
||||
- we've clarified the role of `custom.scss` to be imported last; to allow users to define custom or override variables, we've added a new file `setup.scss`. PR: [#1135]
|
||||
|
||||
#### Custom Includes
|
||||
|
||||
We've added several custom `_includes` to provide users with more customization options for different site elements. We've also added a section to [Configuration]({% link docs/customization.md %}#override-includes) to outline these.
|
||||
|
||||
All of these are opt-in by default; however, **these may be breaking if you have existing `_includes` with the same name**.
|
||||
|
||||
Each item is listed with the relevant file and PR.
|
||||
|
||||
- TOC heading: `toc_heading_custom.html`, PR: [#980]
|
||||
- Navigation panel footer: `nav_footer_custom.html`, PR: [#474]
|
||||
- Search placeholder: `search_placeholder_custom.html`, PR: [#613]
|
||||
- Modular site components: `components/` and `icons/`, PR: [#1058]
|
||||
- Custom search indices: `lunr/`, PR: [#1068]
|
||||
|
||||
In a future (version 1) release, we may rename the custom include files.
|
||||
|
||||
#### Modular Components
|
||||
|
||||
We've broken up the default layout (`_layouts/default.html`) into multiple reusable components. This should have no impact on most users; however, it should make it easier to implement custom layouts.
|
||||
|
||||
For more, see [Custom layouts and includes]({% link docs/customization.md %}#custom-layouts-and-includes). PR: [#1058].
|
||||
|
||||
#### Navigation
|
||||
|
||||
- Collections: nav panel shows links to ordinary pages before collections
|
||||
- Collection folding; part of "Combination". PR: [#578]
|
||||
- Scrolling to show link to selected page. PR: [#639]
|
||||
- External nav links are now supported. PR: [#876]
|
||||
- Child nav order: sort navigation pages with `child_nav_order`. PR: [#726]
|
||||
- Order when mixing different ways of specifying nav order
|
||||
|
||||
#### Search
|
||||
|
||||
In addition to customizing the search placeholder, we've also added the ability to provide custom content to the search index. for more, see [Custom content for search index]({% link docs/search.md %}#custom-content-for-search-index). PR: [#1068].
|
||||
|
||||
#### Styling
|
||||
|
||||
- Code copying: code blocks now allow users to easily copy their contents. PR: [#945]
|
||||
- Blockquote: shows vertical bar on left. PR: [#965]
|
||||
- Links wrap. PR: [#905]
|
||||
- Callouts: a new component similar to alerts or banners. See [UI Components - Callouts]({% link docs/ui-components/callouts.md %}). PR: [#466]
|
||||
|
||||
----
|
||||
|
||||
[#856]: https://github.com/just-the-docs/just-the-docs/pull/856
|
||||
[#806]: https://github.com/just-the-docs/just-the-docs/pull/806
|
||||
[#555]: https://github.com/just-the-docs/just-the-docs/pull/555
|
||||
[#814]: https://github.com/just-the-docs/just-the-docs/pull/814
|
||||
[#778]: https://github.com/just-the-docs/just-the-docs/pull/778
|
||||
[#221]: https://github.com/just-the-docs/just-the-docs/pull/221
|
||||
[#782]: https://github.com/just-the-docs/just-the-docs/pull/782
|
||||
[#549]: https://github.com/just-the-docs/just-the-docs/pull/549
|
||||
[#554]: https://github.com/just-the-docs/just-the-docs/pull/554
|
||||
[#499]: https://github.com/just-the-docs/just-the-docs/pull/499
|
||||
[#473]: https://github.com/just-the-docs/just-the-docs/pull/473
|
||||
[#835]: https://github.com/just-the-docs/just-the-docs/pull/835
|
||||
[#891]: https://github.com/just-the-docs/just-the-docs/pull/891
|
||||
[#906]: https://github.com/just-the-docs/just-the-docs/pull/906
|
||||
|
||||
[#578]: https://github.com/just-the-docs/just-the-docs/pull/578
|
||||
[#463]: https://github.com/just-the-docs/just-the-docs/pull/463
|
||||
[#448]: https://github.com/just-the-docs/just-the-docs/pull/448
|
||||
[#466]: https://github.com/just-the-docs/just-the-docs/pull/466
|
||||
[#477]: https://github.com/just-the-docs/just-the-docs/pull/477
|
||||
[#495]: https://github.com/just-the-docs/just-the-docs/pull/495
|
||||
[#496]: https://github.com/just-the-docs/just-the-docs/pull/496
|
||||
[#498]: https://github.com/just-the-docs/just-the-docs/pull/498
|
||||
[#494]: https://github.com/just-the-docs/just-the-docs/pull/494
|
||||
[#639]: https://github.com/just-the-docs/just-the-docs/pull/639
|
||||
[#544]: https://github.com/just-the-docs/just-the-docs/pull/544
|
||||
[#364]: https://github.com/just-the-docs/just-the-docs/pull/364
|
||||
[#498]: https://github.com/just-the-docs/just-the-docs/pull/498
|
||||
[#613]: https://github.com/just-the-docs/just-the-docs/pull/613
|
||||
[#726]: https://github.com/just-the-docs/just-the-docs/pull/726
|
||||
[#474]: https://github.com/just-the-docs/just-the-docs/pull/474
|
||||
[#829]: https://github.com/just-the-docs/just-the-docs/pull/829
|
||||
[#857]: https://github.com/just-the-docs/just-the-docs/pull/857
|
||||
[#876]: https://github.com/just-the-docs/just-the-docs/pull/876
|
||||
[#909]: https://github.com/just-the-docs/just-the-docs/pull/909
|
||||
[#519]: https://github.com/just-the-docs/just-the-docs/pull/519
|
||||
[#855]: https://github.com/just-the-docs/just-the-docs/pull/855
|
||||
[#686]: https://github.com/just-the-docs/just-the-docs/pull/686
|
||||
[#495]: https://github.com/just-the-docs/just-the-docs/pull/495
|
||||
[#846]: https://github.com/just-the-docs/just-the-docs/pull/846
|
||||
[#727]: https://github.com/just-the-docs/just-the-docs/pull/727
|
||||
[#889]: https://github.com/just-the-docs/just-the-docs/pull/889
|
||||
[#893]: https://github.com/just-the-docs/just-the-docs/pull/893
|
||||
[#905]: https://github.com/just-the-docs/just-the-docs/pull/905
|
||||
[#898]: https://github.com/just-the-docs/just-the-docs/pull/898
|
||||
|
||||
[#950]: https://github.com/just-the-docs/just-the-docs/pull/950
|
||||
[#944]: https://github.com/just-the-docs/just-the-docs/pull/944
|
||||
[#939]: https://github.com/just-the-docs/just-the-docs/pull/939
|
||||
[#949]: https://github.com/just-the-docs/just-the-docs/pull/949
|
||||
[#941]: https://github.com/just-the-docs/just-the-docs/pull/941
|
||||
[#956]: https://github.com/just-the-docs/just-the-docs/pull/956
|
||||
[#935]: https://github.com/just-the-docs/just-the-docs/pull/935
|
||||
[#940]: https://github.com/just-the-docs/just-the-docs/pull/940
|
||||
[#951]: https://github.com/just-the-docs/just-the-docs/pull/951
|
||||
[#955]: https://github.com/just-the-docs/just-the-docs/pull/955
|
||||
[#937]: https://github.com/just-the-docs/just-the-docs/pull/937
|
||||
|
||||
[#965]: https://github.com/just-the-docs/just-the-docs/pull/965
|
||||
[#960]: https://github.com/just-the-docs/just-the-docs/pull/960
|
||||
[#962]: https://github.com/just-the-docs/just-the-docs/pull/962
|
||||
[#964]: https://github.com/just-the-docs/just-the-docs/pull/964
|
||||
[#967]: https://github.com/just-the-docs/just-the-docs/pull/967
|
||||
[#974]: https://github.com/just-the-docs/just-the-docs/pull/974
|
||||
[#980]: https://github.com/just-the-docs/just-the-docs/pull/980
|
||||
[#985]: https://github.com/just-the-docs/just-the-docs/pull/985
|
||||
[#986]: https://github.com/just-the-docs/just-the-docs/pull/986
|
||||
[#992]: https://github.com/just-the-docs/just-the-docs/pull/992
|
||||
|
||||
[#945]: https://github.com/just-the-docs/just-the-docs/pull/945
|
||||
[#999]: https://github.com/just-the-docs/just-the-docs/pull/999
|
||||
[#1000]: https://github.com/just-the-docs/just-the-docs/pull/1000
|
||||
[#1001]: https://github.com/just-the-docs/just-the-docs/pull/1001
|
||||
[#1010]: https://github.com/just-the-docs/just-the-docs/pull/1010
|
||||
[#1015]: https://github.com/just-the-docs/just-the-docs/pull/1015
|
||||
[#1018]: https://github.com/just-the-docs/just-the-docs/pull/1018
|
||||
[#1019]: https://github.com/just-the-docs/just-the-docs/pull/1019
|
||||
[#1021]: https://github.com/just-the-docs/just-the-docs/pull/1021
|
||||
[#1027]: https://github.com/just-the-docs/just-the-docs/pull/1027
|
||||
[#1029]: https://github.com/just-the-docs/just-the-docs/pull/1029
|
||||
[#1040]: https://github.com/just-the-docs/just-the-docs/pull/1040
|
||||
[#1061]: https://github.com/just-the-docs/just-the-docs/pull/1061
|
||||
[#1065]: https://github.com/just-the-docs/just-the-docs/pull/1065
|
||||
[#1071]: https://github.com/just-the-docs/just-the-docs/pull/1071
|
||||
[#1074]: https://github.com/just-the-docs/just-the-docs/pull/1074
|
||||
[#1076]: https://github.com/just-the-docs/just-the-docs/pull/1076
|
||||
[#1077]: https://github.com/just-the-docs/just-the-docs/pull/1077
|
||||
[#1090]: https://github.com/just-the-docs/just-the-docs/pull/1090
|
||||
[#1091]: https://github.com/just-the-docs/just-the-docs/pull/1091
|
||||
[#1092]: https://github.com/just-the-docs/just-the-docs/pull/1092
|
||||
[#1095]: https://github.com/just-the-docs/just-the-docs/pull/1095
|
||||
|
||||
[#1068]: https://github.com/just-the-docs/just-the-docs/pull/1068
|
||||
[#1135]: https://github.com/just-the-docs/just-the-docs/pull/1135
|
@@ -9,7 +9,9 @@
|
||||
<br><br><br>
|
||||
</p>
|
||||
|
||||

|
||||
<p align="center">A video walkthrough of various Just the Docs features</p>
|
||||
|
||||
https://user-images.githubusercontent.com/85418632/211225192-7e5d1116-2f4f-4305-bb9b-437fe47df071.mp4
|
||||
|
||||
## Installation
|
||||
|
||||
|
@@ -76,7 +76,7 @@ search:
|
||||
# For copy button on code
|
||||
enable_copy_code_button: true
|
||||
|
||||
# To disable support for mermaid diagrams (https://mermaid-js.github.io/mermaid/),
|
||||
# To disable support for mermaid diagrams (https://mermaid.js.org),
|
||||
# comment out the `mermaid` and `version` keys below
|
||||
# By default, consuming the theme as a gem leaves mermaid disabled; it is opt-in
|
||||
mermaid:
|
||||
@@ -85,6 +85,8 @@ mermaid:
|
||||
version: "9.1.6"
|
||||
# Put any additional configuration, such as setting the theme, in _includes/mermaid_config.js
|
||||
# See also docs/ui-components/code
|
||||
# To load mermaid from a local file use the `path` key to specify the location of the library instead; e.g.
|
||||
# path: "/assets/js/mermaid.min.js"
|
||||
|
||||
# Enable or disable heading anchors
|
||||
heading_anchors: true
|
||||
|
@@ -2,6 +2,7 @@
|
||||
$logo: "{{ site.logo | relative_url }}";
|
||||
{% endif %}
|
||||
@import "./support/support";
|
||||
@import "./custom/setup";
|
||||
@import "./color_schemes/light";
|
||||
@import "./color_schemes/{{ include.color_scheme }}";
|
||||
@import "./modules";
|
||||
|
@@ -23,8 +23,12 @@
|
||||
{% endif %}
|
||||
|
||||
{% if site.mermaid %}
|
||||
{% if site.mermaid.path %}
|
||||
<script src="{{ site.mermaid.path | relative_url }}"></script>
|
||||
{% else %}
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid@{{ site.mermaid.version }}/dist/mermaid.min.js"></script>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<script src="{{ '/assets/js/just-the-docs.js' | relative_url }}"></script>
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<!-- Feather. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md -->
|
||||
<!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md -->
|
||||
<symbol id="svg-copy" viewBox="0 0 16 16">
|
||||
<title>Copy</title>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16">
|
||||
|
0
_includes/lunr/custom-data.json
Normal file
0
_includes/lunr/custom-data.json
Normal file
0
_includes/lunr/custom-index.js
Normal file
0
_includes/lunr/custom-index.js
Normal file
@@ -174,7 +174,7 @@
|
||||
{%- if node.child_nav_order == 'desc' or node.child_nav_order == 'reversed' -%}
|
||||
{%- assign children_list = children_list | reverse -%}
|
||||
{%- endif -%}
|
||||
<ul class="nav-list ">
|
||||
<ul class="nav-list">
|
||||
{%- for child in children_list -%}
|
||||
{%- unless child.nav_exclude -%}
|
||||
<li class="nav-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
|
||||
|
@@ -207,4 +207,21 @@ code.language-mermaid {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
// Override OneDarkJekyll Colors for Code Blocks
|
||||
.highlight,
|
||||
pre.highlight {
|
||||
background: $code-background-color; // Code Background
|
||||
// For Backwards Compatibility Before $code-linenumber-color was added
|
||||
@if variable-exists(code-linenumber-color) {
|
||||
color: $code-linenumber-color; // Code Line Numbers
|
||||
} @else {
|
||||
color: $body-text-color; // Code Line Numbers
|
||||
}
|
||||
}
|
||||
|
||||
// Override OneDarkJekyll Colors for Code Blocks
|
||||
.highlight pre {
|
||||
background: $code-background-color; // Code Background
|
||||
}
|
||||
|
||||
// {% endraw %}
|
||||
|
@@ -15,14 +15,18 @@ $feedback-color: darken($sidebar-color, 3%);
|
||||
// The following highlight theme is more legible than that used for the light color scheme
|
||||
|
||||
// @import "./vendor/OneDarkJekyll/syntax-one-dark";
|
||||
// $code-background-color: #282c34;
|
||||
// $code-background-color: #282c34; // OneDarkJekyll default for syntax-one-dark
|
||||
// $code-linenumber-color: #abb2bf; // OneDarkJekyll .nf for syntax-one-dark
|
||||
|
||||
@import "./vendor/OneDarkJekyll/syntax-one-dark-vivid";
|
||||
|
||||
$code-background-color: #31343f;
|
||||
$code-background-color: #31343f; // OneDarkJekyll default for syntax-one-dark-vivid
|
||||
$code-linenumber-color: #dee2f7; // OneDarkJekyll .nf for syntax-one-dark-vivid
|
||||
|
||||
// @import "./vendor/OneDarkJekyll/syntax-firewatch";
|
||||
// $code-background-color: #282c34;
|
||||
// $code-background-color: #282c34; // OneDarkJekyll default for syntax-firewatch
|
||||
// $code-linenumber-color: #abb2bf; // OneDarkJekyll .nf for syntax-firewatch
|
||||
|
||||
// @import "./vendor/OneDarkJekyll/syntax-firewatch-green";
|
||||
// $code-background-color: #282c34;
|
||||
// $code-background-color: #282c34; // OneDarkJekyll default for syntax-firewatch-green
|
||||
// $code-linenumber-color: #abb2bf; // OneDarkJekyll .nf for syntax-firewatch-green
|
||||
|
@@ -1,4 +1 @@
|
||||
$pink-000: #f77ef1;
|
||||
$pink-100: #f967f1;
|
||||
$pink-200: #e94ee1;
|
||||
$pink-300: #dd2cd4;
|
||||
// custom SCSS (or CSS) goes here
|
||||
|
1
_sass/custom/setup.scss
Normal file
1
_sass/custom/setup.scss
Normal file
@@ -0,0 +1 @@
|
||||
// custom setup code goes here
|
@@ -123,7 +123,7 @@
|
||||
|
||||
.search-result {
|
||||
display: block;
|
||||
padding-top: $sp-1 $sp-3;
|
||||
padding: $sp-1 $sp-3;
|
||||
|
||||
&:hover,
|
||||
&.active {
|
||||
|
@@ -1,5 +1,4 @@
|
||||
// Typography
|
||||
|
||||
// stylelint-disable selector-no-type, selector-max-type, selector-max-specificity, selector-max-id
|
||||
|
||||
h1,
|
||||
|
@@ -87,6 +87,7 @@ function initSearch() {
|
||||
this.metadataWhitelist = ['position']
|
||||
|
||||
for (var i in docs) {
|
||||
{% include lunr/custom-index.js %}
|
||||
this.add({
|
||||
id: i,
|
||||
title: docs[i].title,
|
||||
@@ -503,7 +504,7 @@ jtd.onReady(function(){
|
||||
|
||||
copyButton.addEventListener('click', function () {
|
||||
if(timeout === null) {
|
||||
var code = codeBlock.querySelector('pre:not(.lineno)').innerText;
|
||||
var code = (codeBlock.querySelector('pre:not(.lineno, .highlight)') || codeBlock.querySelector('code')).innerText;
|
||||
window.navigator.clipboard.writeText(code);
|
||||
|
||||
copyButton.innerHTML = svgCopied;
|
||||
|
@@ -51,6 +51,7 @@ permalink: /assets/js/search-data.json
|
||||
"title": {{ title | jsonify }},
|
||||
"content": {{ content | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '<ul', ' . <ul' | replace: '</ul', ' . </ul' | replace: '<ol', ' . <ol' | replace: '</ol', ' . </ol' | replace: '</tr', ' . </tr' | replace: '<li', ' | <li' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | replace: '<td', ' | <td' | replace: '</th', ' | </th' | replace: '<th', ' | <th' | strip_html | remove: 'Table of contents' | normalize_whitespace | replace: '. . .', '.' | replace: '. .', '.' | replace: '| |', '|' | append: ' ' | jsonify }},
|
||||
"url": "{{ url | relative_url }}",
|
||||
{% include lunr/custom-data.json page=page %}
|
||||
"relUrl": "{{ url }}"
|
||||
}
|
||||
{%- assign i = i | plus: 1 -%}
|
||||
@@ -62,6 +63,7 @@ permalink: /assets/js/search-data.json
|
||||
"title": {{ page.title | jsonify }},
|
||||
"content": {{ parts[0] | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '<ul', ' . <ul' | replace: '</ul', ' . </ul' | replace: '<ol', ' . <ol' | replace: '</ol', ' . </ol' | replace: '</tr', ' . </tr' | replace: '<li', ' | <li' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | replace: '<td', ' | <td' | replace: '</th', ' | </th' | replace: '<th', ' | <th' | strip_html | remove: 'Table of contents' | normalize_whitespace | replace: '. . .', '.' | replace: '. .', '.' | replace: '| |', '|' | append: ' ' | jsonify }},
|
||||
"url": "{{ page.url | relative_url }}",
|
||||
{% include lunr/custom-data.json page=page %}
|
||||
"relUrl": "{{ page.url }}"
|
||||
}
|
||||
{%- assign i = i | plus: 1 -%}
|
||||
|
@@ -69,6 +69,10 @@ search:
|
||||
```
|
||||
|
||||
## Mermaid Diagrams
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
The minimum configuration requires the key for `version` ([from jsDelivr](https://cdn.jsdelivr.net/npm/mermaid/)) in `_config.yml`:
|
||||
|
||||
@@ -79,7 +83,9 @@ mermaid:
|
||||
version: "9.1.3"
|
||||
```
|
||||
|
||||
See [the Code documentation]({{ site.baseurl }}{% link docs/ui-components/code.md %}#mermaid-diagram-code-blocks) for more configuration options and information.
|
||||
Provide a `path` instead of a `version` key to load the mermaid library from a local file.
|
||||
|
||||
See [the Code documentation]({% link docs/ui-components/code.md %}#mermaid-diagram-code-blocks) for more configuration options and information.
|
||||
|
||||
## Aux links
|
||||
|
||||
@@ -104,9 +110,13 @@ heading_anchors: true
|
||||
```
|
||||
|
||||
## External navigation links
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
External links can be added to the navigation through the `nav_external_links` option.
|
||||
See [Navigation Structure]({{ site.baseurl }}{% link docs/navigation-structure.md %}#external-navigation-links) for more details.
|
||||
See [Navigation Structure]({% link docs/navigation-structure.md %}#external-navigation-links) for more details.
|
||||
|
||||
## Footer content
|
||||
|
||||
@@ -162,9 +172,13 @@ jtd.addEvent(toggleDarkMode, 'click', function(){
|
||||
});
|
||||
</script>
|
||||
|
||||
See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more information.
|
||||
See [Customization]({% link docs/customization.md %}) for more information.
|
||||
|
||||
## Callouts
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
To use this feature, you need to configure a `color` and (optionally) `title` for each kind of callout you want to use, e.g.:
|
||||
|
||||
@@ -185,7 +199,7 @@ A paragraph...
|
||||
[^dark]:
|
||||
If you use the `dark` color scheme, this callout uses `$red-300` for the background, and `$red-000` for the title.
|
||||
|
||||
The colors `grey-lt`, `grey-dk`, `purple`, `blue`, `green`, `yellow`, and `red` are predefined; to use a custom color, you need to define its `000` and `300` levels in your SCSS files. For example, to use `pink`, add the following to your `_sass/custom/custom.scss` file:
|
||||
The colors `grey-lt`, `grey-dk`, `purple`, `blue`, `green`, `yellow`, and `red` are predefined; to use a custom color, you need to define its `000` and `300` levels in your SCSS files. For example, to use `pink`, add the following to your `_sass/custom/setup.scss` file:
|
||||
|
||||
```scss
|
||||
$pink-000: #f77ef1;
|
||||
@@ -215,7 +229,7 @@ The value of `callouts_level` is either `quiet` or `loud`;
|
||||
The default level is `quiet` when using the `light` or custom color schemes,
|
||||
and `loud` when using the `dark color scheme.`
|
||||
|
||||
See [Callouts]({{ site.baseurl }}{% link docs/ui-components/callouts.md %}) for more information.
|
||||
See [Callouts]({% link docs/ui-components/callouts.md %}) for more information.
|
||||
|
||||
## Google Analytics
|
||||
|
||||
@@ -231,6 +245,12 @@ ga_tracking: UA-2709176-10
|
||||
ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (true/nil by default)
|
||||
```
|
||||
|
||||
### Multiple IDs
|
||||
{: .d-inline-block .no_toc }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
This theme supports multiple comma-separated tracking IDs. This helps seamlessly transition UA properties to GA4 properties by tracking both for a while.
|
||||
|
||||
```yaml
|
||||
@@ -267,7 +287,7 @@ just_the_docs:
|
||||
# nav_exclude: true
|
||||
# Fold the collection in the navigation
|
||||
# Supports true or false (default)
|
||||
# nav_fold: true
|
||||
# nav_fold: true # note: this option is new in v0.4
|
||||
# Exclude the collection from the search
|
||||
# Supports true or false (default)
|
||||
# search_exclude: true
|
||||
|
@@ -16,10 +16,6 @@ nav_order: 6
|
||||
---
|
||||
|
||||
## Color schemes
|
||||
{: .d-inline-block }
|
||||
|
||||
New
|
||||
{: .label .label-green }
|
||||
|
||||
Just the Docs supports two color schemes: light (default), and dark.
|
||||
|
||||
@@ -111,9 +107,29 @@ This allows you to switch the scheme via the following javascript.
|
||||
jtd.setTheme("foo")
|
||||
```
|
||||
|
||||
## Override and define new variables
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
To define new SCSS variables, functions, or override existing theme variables, place SCSS code in `_sass/custom/setup.scss`. This should *not* be used for defining custom styles (see the next section).
|
||||
|
||||
This is most commonly-used to define [custom callout colors]({% link docs/configuration.md %}#callouts). For example,
|
||||
|
||||
```scss
|
||||
// _sass/custom/setup.scss
|
||||
$pink-000: #f77ef1;
|
||||
$pink-100: #f967f1;
|
||||
$pink-200: #e94ee1;
|
||||
$pink-300: #dd2cd4;
|
||||
```
|
||||
|
||||
In particular: this file is imported *after* the theme's variables and functions are defined, but *before* any CSS classes are emitted.
|
||||
|
||||
## Override and completely custom styles
|
||||
|
||||
For styles that aren't defined as variables, you may want to modify specific CSS classes.
|
||||
For styles that aren't defined as SCSS variables, you may want to modify specific CSS classes.
|
||||
Additionally, you may want to add completely custom CSS specific to your content.
|
||||
To do this, put your styles in the file `_sass/custom/custom.scss`.
|
||||
This will allow for all overrides to be kept in a single file, and for any upstream changes to still be applied.
|
||||
@@ -146,10 +162,14 @@ To do this, create an `_includes` directory and make a copy of the specific file
|
||||
Just the Docs provides the following custom includes files:
|
||||
|
||||
### Custom TOC Heading
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
`_includes/toc_heading_custom.html`
|
||||
|
||||
If the page has any child pages, and `has_toc` is not set to `false`, this content appears as a heading above the [auto-generating list of child pages]({{ site.baseurl }}{% link docs/navigation-structure.md %}#auto-generating-table-of-contents) after the page's content.
|
||||
If the page has any child pages, and `has_toc` is not set to `false`, this content appears as a heading above the [auto-generating list of child pages]({% link docs/navigation-structure.md %}#auto-generating-table-of-contents) after the page's content.
|
||||
|
||||
#### Example
|
||||
{: .no_toc }
|
||||
@@ -165,7 +185,7 @@ The (optional) `text-delta` class makes the heading appear as **Contents**{:.tex
|
||||
|
||||
`_includes/footer_custom.html`
|
||||
|
||||
This content appears at the bottom of every page's main content. More info for this include can be found in the [Configuration - Footer content]({{ site.baseurl }}{% link docs/configuration.md %}#footer-content).
|
||||
This content appears at the bottom of every page's main content. More info for this include can be found in the [Configuration - Footer content]({% link docs/configuration.md %}#footer-content).
|
||||
|
||||
### Custom Head
|
||||
|
||||
@@ -182,12 +202,20 @@ The `<head>` tag automatically includes a link to an existing favicon if you set
|
||||
Content added to this file appears at the top of every page's main content between the site search and auxiliary links if they are enabled. If `search_enabled` were set to false and `aux_links` were removed, the content of `header_custom.html` would occupy the space at the top of every page.
|
||||
|
||||
### Custom Nav Footer
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
`_includes/nav_footer_custom.html`
|
||||
|
||||
Any content added to this file will appear at the bottom left of the page below the site's navigation. By default an attribution to Just the Docs is displayed which reads, `This site uses Just the Docs, a documentation theme for Jekyll.`.
|
||||
|
||||
### Custom Search Placeholder
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
`_includes/search_placeholder_custom.html`
|
||||
|
||||
|
@@ -145,6 +145,10 @@ nav_order: 2
|
||||
The Buttons page appears as a child of UI Components and appears second in the UI Components section.
|
||||
|
||||
### Ordering child pages
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
You can optionally add the following to the YAML front matter to reverse the default sort order of child pages:
|
||||
|
||||
@@ -235,7 +239,7 @@ Currently, the navigation structure is limited to 3 levels: grandchild pages can
|
||||
|
||||
## Auxiliary Links
|
||||
|
||||
To add auxiliary links to your site (in the upper right on all pages), add it to the `aux_links` [configuration option]({{ site.baseurl }}{% link docs/configuration.md %}#aux-links) in your site's `_config.yml` file.
|
||||
To add auxiliary links to your site (in the upper right on all pages), add it to the `aux_links` [configuration option]({% link docs/configuration.md %}#aux-links) in your site's `_config.yml` file.
|
||||
|
||||
#### Example
|
||||
{: .no_toc }
|
||||
@@ -251,7 +255,7 @@ aux_links:
|
||||
|
||||
## External Navigation Links
|
||||
|
||||
To add external links to the navigation, add them to the `nav_external_links` [configuration]({{ site.baseurl }}{% link docs/configuration.md %}) option in your site's `_config.yml` file.
|
||||
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.
|
||||
|
||||
#### Example
|
||||
|
@@ -96,7 +96,7 @@ search.button: true
|
||||
|
||||
## Hiding pages from search
|
||||
|
||||
Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g, a 404 page.
|
||||
Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g., a 404 page.
|
||||
To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter:
|
||||
|
||||
#### Example
|
||||
@@ -125,3 +125,43 @@ $ bundle exec just-the-docs rake search:init
|
||||
|
||||
This command creates the `assets/js/zzzz-search-data.json` file that Jekyll uses to create your search index.
|
||||
Alternatively, you can create the file manually with [this content]({{ site.github.repository_url }}/blob/main/assets/js/zzzz-search-data.json).
|
||||
|
||||
## Custom content for search index
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
Advanced
|
||||
{: .label .label-yellow }
|
||||
|
||||
By default, the search feature indexes a page's `.content`, `.title`, and *some* headers within the `.content`. Other data (e.g. front matter, files in `_data` and `assets`) is not indexed. Users can customize what is indexed.
|
||||
|
||||
{: .warning }
|
||||
> Customizing search indices is an advanced feature that requires Javascript and Liquid knowledge.
|
||||
|
||||
1. When Just the Docs is a local or gem theme, ensure `assets/js/zzzz-search-data.json` is up-to-date with [Generate search index when used as a gem](#generate-search-index-when-used-as-a-gem).
|
||||
2. Add a new file named `_includes/lunr/custom-data.json`. Insert custom Liquid code that reads your data (e.g. the page object at `include.page`) then generates custom Javascript fields that hold the custom data you want to index. Verify these fields in the generated `assets/js/search-data.json`.
|
||||
3. Add a new file named `_includes/lunr/custom-index.js`. Insert custom Javascript code that reads your custom Javascript fields and inserts them into the search index. You may want to inspect `assets/js/just-the-docs.js` to better understand the code.
|
||||
|
||||
#### Example
|
||||
|
||||
This example adds front matter `usage` and `examples` fields to the search index.
|
||||
|
||||
`_includes/lunr/custom-data.json` custom code reads the page `usage` and `examples` fields, normalizes the text, and writes the text to custom Javascript `myusage` and `myexamples` fields. Javascript fields are similar yet [not the same as JSON](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON#javascript_and_json_differences). `jsonify` will probably work for most scenarios.
|
||||
|
||||
{% raw %}
|
||||
```liquid
|
||||
{%- capture newline %}
|
||||
{% endcapture -%}
|
||||
"myusage": {{ include.page.usage | markdownify | replace:newline,' ' | strip_html | normalize_whitespace | strip | jsonify }},
|
||||
"myexamples": {{ include.page.examples | markdownify | replace:newline,' ' | strip_html | normalize_whitespace | strip | jsonify }},
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
`_includes/lunr/custom-index.js` custom code is inserted into the Javascript loop of `assets/js/just-the-docs.js`. All custom Javascript fields are accessed as fields of `docs[i]` such as `docs[i].myusage`. Finally, append your custom fields on to the already existing `docs[i].content`.
|
||||
|
||||
```javascript
|
||||
const content_to_merge = [docs[i].content, docs[i].myusage, docs[i].myexamples];
|
||||
docs[i].content = content_to_merge.join(' ');
|
||||
```
|
||||
|
@@ -56,7 +56,7 @@ GitHub Flavored Markdown does not support the `button` element, so you'll have t
|
||||
|
||||
### Button size
|
||||
|
||||
Wrap the button in a container that uses the [font-size utility classes]({{ site.baseurl }}{% link docs/utilities/typography.md %}) to scale buttons:
|
||||
Wrap the button in a container that uses the [font-size utility classes]({% link docs/utilities/typography.md %}) to scale buttons:
|
||||
|
||||
<div class="code-example" markdown="1">
|
||||
<span class="fs-6">
|
||||
@@ -79,7 +79,7 @@ Wrap the button in a container that uses the [font-size utility classes]({{ site
|
||||
|
||||
### Spacing between buttons
|
||||
|
||||
Use the [margin utility classes]({{ site.baseurl }}{% link docs/utilities/layout.md %}#spacing) to add spacing between two buttons in the same block.
|
||||
Use the [margin utility classes]({% link docs/utilities/layout.md %}#spacing) to add spacing between two buttons in the same block.
|
||||
|
||||
<div class="code-example" markdown="1">
|
||||
[Button with space](http://example.com/){: .btn .btn-purple .mr-2 }
|
||||
|
@@ -6,6 +6,10 @@ nav_order: 7
|
||||
---
|
||||
|
||||
# Callouts
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
Markdown does not include support for callouts. However, you can style text as a callout using a Markdown extension supported by kramdown: [*block IALs*](https://kramdown.gettalong.org/quickref.html#block-attributes).
|
||||
|
||||
@@ -14,7 +18,7 @@ Common kinds of callouts include `highlight`, `important`, `new`, `note`, and `w
|
||||
{: .warning }
|
||||
These callout names are *not* pre-defined by the theme: you need to define your own names.
|
||||
|
||||
When you have [configured]({{ site.baseurl }}{% link docs/configuration.md %}#callouts) the `color` and (optional) `title` for a callout, you can apply it to a paragraph, or to a block quote with several paragraphs, as illustrated below.[^postfix]
|
||||
When you have [configured]({% link docs/configuration.md %}#callouts) the `color` and (optional) `title` for a callout, you can apply it to a paragraph, or to a block quote with several paragraphs, as illustrated below.[^postfix]
|
||||
|
||||
[^postfix]:
|
||||
You can put the callout markup either before or after its content.
|
||||
|
@@ -90,6 +90,10 @@ To demonstrate front end code, sometimes it's useful to show a rendered example
|
||||
---
|
||||
|
||||
## Mermaid diagram code blocks
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
[Mermaid](https://mermaid-js.github.io/mermaid/) allows you to add diagrams and visualizations using Markdown code blocks. **It is disabled by default**. However, you can turn on support for mermaid by adding a `mermaid` key to your `_config.yml`.
|
||||
|
||||
@@ -144,7 +148,21 @@ graph TD;
|
||||
|
||||
*Note: for demonstration purposes, we've enabled mermaid on this site. It is still disabled by default, and users need to opt-in to use it.*
|
||||
|
||||
### Using a local mermaid library
|
||||
|
||||
In order to use a local version of the mermaid library instead of one provided by jsDelivr, you can specify a `path` key in the mermaid configuration instead of a `version` key.
|
||||
|
||||
```yaml
|
||||
mermaid:
|
||||
# To load mermaid from a local file use the `path` key to specify the location of the library instead; e.g.
|
||||
path: "/assets/js/mermaid.min.js"
|
||||
```
|
||||
|
||||
## Copy button
|
||||
{: .d-inline-block }
|
||||
|
||||
New (v0.4.0)
|
||||
{: .label .label-green }
|
||||
|
||||
The copy button for code blocks can be enabled or disabled via the `enable_copy_code_button` key in `_config.yml`. By default, the value of this key is `false`; users need to opt-in.
|
||||
|
||||
|
@@ -111,4 +111,4 @@ Text can be **bold**, _italic_, or ~~strikethrough~~.
|
||||
|
||||
There are a number of specific typographic CSS classes that allow you to override default styling for font size, font weight, line height, and capitalization.
|
||||
|
||||
[View typography utilities]({{ site.baseurl }}{% link docs/utilities/utilities.md %}#typography){: .btn .btn-outline }
|
||||
[View typography utilities]({% link docs/utilities/typography.md %}){: .btn .btn-outline }
|
||||
|
4
index.md
4
index.md
@@ -18,7 +18,7 @@ Just the Docs gives your documentation a jumpstart with a responsive Jekyll them
|
||||
---
|
||||
|
||||
{: .warning }
|
||||
> This website documents the features of the current `main` branch of the Just the Docs theme. See [the CHANGELOG]({{ site.baseurl }}{% link CHANGELOG.md %}) for a list of releases, new features, and bug fixes.
|
||||
> This website documents the features of the current `main` branch of the Just the Docs theme. See [the CHANGELOG]({% link CHANGELOG.md %}) for a list of releases, new features, and bug fixes.
|
||||
|
||||
Just the Docs is a theme for generating static websites with [Jekyll]. You can write source files for your web pages using [Markdown], the [Liquid] templating language, and HTML.[^1] Jekyll builds your site by converting all files that have [front matter] to HTML. Your [Jekyll configuration] file determines which theme to use, and sets general parameters for your site, such as the URL of its home page.
|
||||
|
||||
@@ -95,5 +95,5 @@ Just the Docs is committed to fostering a welcoming community.
|
||||
[GitHub Pages]: https://pages.github.com/
|
||||
[Template README]: https://github.com/just-the-docs/just-the-docs-template/blob/main/README.md
|
||||
[GitHub Pages / Actions workflow]: https://github.blog/changelog/2022-07-27-github-pages-custom-github-actions-workflows-beta/
|
||||
[customize]: {{ site.baseurl }}{% link docs/customization.md %}
|
||||
[customize]: {% link docs/customization.md %}
|
||||
[use the template]: https://github.com/just-the-docs/just-the-docs-template/generate
|
||||
|
@@ -2,11 +2,11 @@
|
||||
|
||||
Gem::Specification.new do |spec|
|
||||
spec.name = "just-the-docs"
|
||||
spec.version = "0.4.0.rc4"
|
||||
spec.version = "0.4.0.rc5"
|
||||
spec.authors = ["Patrick Marsceill", "Matthew Wang"]
|
||||
spec.email = ["patrick.marsceill@gmail.com", "matt@matthewwang.me"]
|
||||
|
||||
spec.summary = %q{A modern, highly customizable, and responsive Jekyll theme for documention with built-in search.}
|
||||
spec.summary = %q{A modern, highly customizable, and responsive Jekyll theme for documentation with built-in search.}
|
||||
spec.homepage = "https://github.com/just-the-docs/just-the-docs"
|
||||
spec.license = "MIT"
|
||||
spec.metadata = {
|
||||
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
||||
"source_code_uri" => "https://github.com/just-the-docs/just-the-docs",
|
||||
}
|
||||
|
||||
spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README|CHANGELOG|favicon)}i) }
|
||||
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"
|
||||
|
@@ -61,6 +61,7 @@ permalink: /assets/js/search-data.json
|
||||
"title": {{ title | jsonify }},
|
||||
"content": {{ content | replace: \'</h\', \' . </h\' | replace: \'<hr\', \' . <hr\' | replace: \'</p\', \' . </p\' | replace: \'<ul\', \' . <ul\' | replace: \'</ul\', \' . </ul\' | replace: \'<ol\', \' . <ol\' | replace: \'</ol\', \' . </ol\' | replace: \'</tr\', \' . </tr\' | replace: \'<li\', \' | <li\' | replace: \'</li\', \' | </li\' | replace: \'</td\', \' | </td\' | replace: \'<td\', \' | <td\' | replace: \'</th\', \' | </th\' | replace: \'<th\', \' | <th\' | strip_html | remove: \'Table of contents\' | normalize_whitespace | replace: \'. . .\', \'.\' | replace: \'. .\', \'.\' | replace: \'| |\', \'|\' | append: \' \' | jsonify }},
|
||||
"url": "{{ url | relative_url }}",
|
||||
{% include lunr/custom-data.json page=page %}
|
||||
"relUrl": "{{ url }}"
|
||||
}
|
||||
{%- assign i = i | plus: 1 -%}
|
||||
@@ -72,6 +73,7 @@ permalink: /assets/js/search-data.json
|
||||
"title": {{ page.title | jsonify }},
|
||||
"content": {{ parts[0] | replace: \'</h\', \' . </h\' | replace: \'<hr\', \' . <hr\' | replace: \'</p\', \' . </p\' | replace: \'<ul\', \' . <ul\' | replace: \'</ul\', \' . </ul\' | replace: \'<ol\', \' . <ol\' | replace: \'</ol\', \' . </ol\' | replace: \'</tr\', \' . </tr\' | replace: \'<li\', \' | <li\' | replace: \'</li\', \' | </li\' | replace: \'</td\', \' | </td\' | replace: \'<td\', \' | <td\' | replace: \'</th\', \' | </th\' | replace: \'<th\', \' | <th\' | strip_html | remove: \'Table of contents\' | normalize_whitespace | replace: \'. . .\', \'.\' | replace: \'. .\', \'.\' | replace: \'| |\', \'|\' | append: \' \' | jsonify }},
|
||||
"url": "{{ page.url | relative_url }}",
|
||||
{% include lunr/custom-data.json page=page %}
|
||||
"relUrl": "{{ page.url }}"
|
||||
}
|
||||
{%- assign i = i | plus: 1 -%}
|
||||
|
14
package-lock.json
generated
14
package-lock.json
generated
@@ -9,7 +9,7 @@
|
||||
"version": "0.3.3",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"prettier": "^2.8.1",
|
||||
"prettier": "^2.8.3",
|
||||
"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.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
|
||||
"integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
|
||||
"version": "2.8.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz",
|
||||
"integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"prettier": "bin-prettier.js"
|
||||
@@ -2997,9 +2997,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"prettier": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
|
||||
"integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
|
||||
"version": "2.8.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz",
|
||||
"integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==",
|
||||
"dev": true
|
||||
},
|
||||
"prettier-linter-helpers": {
|
||||
|
@@ -6,7 +6,7 @@
|
||||
"license": "MIT",
|
||||
"bugs": "https://github.com/just-the-docs/just-the-docs/issues",
|
||||
"devDependencies": {
|
||||
"prettier": "^2.8.1",
|
||||
"prettier": "^2.8.3",
|
||||
"stylelint": "^14.16.1",
|
||||
"stylelint-config-prettier-scss": "0.0.1",
|
||||
"stylelint-config-standard-scss": "^6.1.0",
|
||||
|
Reference in New Issue
Block a user