1425 Commits

Author SHA1 Message Date
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 v0.4.0 2023-02-05 16:20:14 -08:00
Matthew Wang
86dbc2d4d7
Prep for v0.4.0.rc5; update gemspec and CHANGELOG v0.4.0.rc5 2023-02-05 15:14:02 -08:00
Matt Wang
c7c99992f9
Update CHANGELOG.md 2023-02-05 15:00:01 -08:00
Matt Wang
8894630659
Fix copy code button interaction with kramdown line numbers (#1143)
Co-authored-by: Simone <26844016+simonebortolin@users.noreply.github.com>
2023-02-05 14:58:56 -08:00
Matt Wang
4a7fbbca92
Update CHANGELOG.md 2023-02-05 14:53:21 -08:00
Christian Bäuerlein
b2bbdb7040
Add configuration key to load a local version of mermaid (#1153)
Hi there!

Thank you for the great theme! I am a happy user and was delighted to see that mermaid support has landed.

In some cases the usage of jsDelivr might not be possible for technical or compliance reasons.

This commit adds a second way to include the mermaid lib by specifying a path in the mermaid config. This way a local version of the lib can be used.

It should be fully backwards compatible, not requiring any action by users that already include the lib from the CDN.

I already added some documentation, but I am also happy to extend this, if this change is generally well-received.

Cheers,
Christian
2023-02-05 14:51:48 -08:00
Matt Wang
cf72c436d9
Update CHANGELOG.md 2023-01-29 17:51:17 -08:00
M. R. McCormick
6cdd4f76b5
Fix dark theme's code block background, line number colors (#1124)
When customizing `$code-background-color` in `dark.scss`, the result is a multi-color background. (see https://github.com/just-the-docs/just-the-docs/issues/1121#issuecomment-1374976843)

This makes OneDarkJekyll code block colors the same as the specified `$code-background-color`, and uses the `$default-body-color` as the line number text color, which can otherwise be invisible due to the default being black and is hard to see on a very dark code block background.
2023-01-29 17:50:02 -08:00
Matt Wang
c13a5d2cdf
Update CHANGELOG.md 2023-01-29 17:49:20 -08:00
Matt Wang
5f91e326c7
docs: label new features introduced in v0.4 (#1138)
In #1058, I noted:

> Tangentially related work:
> ...
> - better annotate new features (motivated by writing these docs)
>     - we should add "New" to new features :) 
>     - we should note when a feature was introduced (I think this is a core part of most software documentation)
>     - we should annotate things that are "Advanced" in so far as the average Just the Docs user will not use them / they require significant Jekyll knowledge
> 

This came up again in https://github.com/just-the-docs/just-the-docs/discussions/1136#discussioncomment-4716253, so I think it's best for us to resolve this sooner rather than later.

This PR is me doing that. I:

- have added a headings-level "New" label to every new heading introduced since `v0.3`
- added, when possible, inline YAML comments when new configuration options have been introduced

I did this by scanning through the CHANGELOG and selecting each feature that is either tagged with `Add` and has documentation.

I may have also missed any new features, so some double-checking would be helpful!
2023-01-29 17:48:22 -08:00
Flo
975aec0791
ci: Add workflow for updating jekyll-anchor-headings automatically (#1075) 2023-01-23 23:08:41 +01:00
Matt Wang
3ce3dc74e0
Update CHANGELOG.md 2023-01-23 11:00:48 -08:00
Dale Phurrough
c7bdfe5456
docs: clarify steps to add custom lunr index code (#1139) 2023-01-23 10:57:35 -08:00
Peter Mosses
81d7e13277
Docs: add a migration guide (#1059)
The migration guide is intended to help those using Just the Docs (as a theme or a remote theme) switch from v0.3.3 to v0.4.0.

Co-authored-by: Matt Wang <matt@matthewwang.me>
2023-01-23 10:25:40 -08:00
Matt Wang
3de6c589aa
Update CHANGELOG.md 2023-01-22 23:36:24 -08:00
M. R. McCormick
3335b9791d
Exclude images from being bundled with gem (#1142)
Co-authored-by: m-r-mccormick <m-r-mccormick@users.noreply.github.com>
2023-01-22 23:35:21 -08:00
Matt Wang
73a7e7cb33
Update CHANGELOG.md 2023-01-18 11:17:01 -08:00
Matt Wang
d423c96d7a
Add new _sass/custom/setup.scss for variable definition (#1135)
This is an alternative PR that resolves #1011. Unlike #1013, this PR defines a *new* SASS file, `_sass/custom/setup.scss`, specifically designed for new custom variables (and other SASS-only constructs). It's imported after our `support` SASS files are (functions, variables), but otherwise is imported before all other files (ex, when CSS is emitted).

So, custom callout colors can now be defined in this file. I also move the custom callout colors present in `custom.scss` to the right location.

I've added some docs that briefly explain how to use the feature. Feedback is welcome!

---

As an aside, I chose not to add a `_includes/css` file that imports this, and then import that file. I think that's only necessary if we're trying to render liquid somehow in the SASS file; since we're not trying to do that for `setup.scss`, I've opted to not include it. If we think this is relevant, I can re-add it.

Co-authored-by: Peter Mosses <18308236+pdmosses@users.noreply.github.com>
2023-01-18 11:13:30 -08:00
dependabot[bot]
eeb89e56f0
Merge pull request #1134 from just-the-docs/dependabot/npm_and_yarn/prettier-2.8.3 2023-01-16 10:27:03 +00:00
dependabot[bot]
1de6260d57
Bump prettier from 2.8.2 to 2.8.3
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.2 to 2.8.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.2...2.8.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 10:13:53 +00:00
Matt Wang
70e55f1d7b
Update CHANGELOG.md 2023-01-13 19:09:57 -08:00
Dale Phurrough
7a01ef1a59
add options for custom lunr Liquid and JS code (#1068)
This is a prototype for review and discussion. My use and testing of this PR is on top of 6d9d41359c46882d9b64a446d5a83fac5b3e20a7. The changes are trival to rebase to `main` and I'm happy to do so if this prototype moves forward.


* Feature request details in linked issue, fixes just-the-docs/just-the-docs#1067
* I welcome feedback and all discussion
* A draft doc site of mine using this PR is at https://docs.hidale.com/

To use the prototype, the two include files need to be customized. Here are mine from the draft website 9c0d836408

Co-authored-by: Matt Wang <matt@matthewwang.me>
2023-01-13 19:08:33 -08:00
Matt Wang
5e7a481258
Update CHANGELOG.md 2023-01-13 15:59:06 -08:00
Matt Wang
a789198b20
docs: fix broken relative page links (#1106)
In touching up the migration guide, I noticed that many of our documentation site links are broken! For example, on the homepage, this link:

<img width="782" alt="screenshot of homepage; code snippet is in next block" src="https://user-images.githubusercontent.com/14893287/210462690-31aa7bf5-dd79-4e8f-a3c5-1213e73771c4.png">

which has the following href

```code
<a href="/just-the-docs/just-the-docs/CHANGELOG/">the CHANGELOG</a>
```

duplicates the `baseurl` twice. There are 14 such broken links across the site. Each link duplicates the `baseurl` and `link` tags, which has since been resolved with links being relative by default (there's a set of PRs that document this - I can't find the exact paper trail right now).

To resolve this, I:

- find and replace site-wide `{{ site.baseurl }}{% link` with `{% link`
- tested each link, which now works properly locally *and* on the deploy preview

I'm surprised we didn't catch this earlier! I also could be missing something else, in which case feedback on this PR is certainly welcome.
2023-01-13 15:56:05 -08:00
Adam Gabryś
ee178d7bdf
Update view typography utilities button link (#1130)
The typography utilities page has been moved sopme time ago, but the button URL was not updated. This commit fixes the broken link.
2023-01-11 13:56:27 +01:00
Matt Wang
0df627058b
Update CHANGELOG.md 2023-01-10 11:25:03 -08:00
Eric Knibbe
49d004f271
Fixes minor spacing and comment nits (#1128)
This PR simply fixes a few spacing and comment nits I found.
2023-01-10 11:23:21 -08:00
dependabot[bot]
c296f914af
Bump prettier from 2.8.1 to 2.8.2 (#1125)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.1...2.8.2)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 02:51:20 -08:00
Matt Wang
c1b944bc3a
Update CHANGELOG.md 2023-01-08 22:14:42 -08:00
Matt Wang
f84e524400
Update CHANGELOG.md 2023-01-08 22:14:21 -08:00
Stefan Taitano
52b43417b4
Update README demo video (#1097) 2023-01-08 22:08:32 -08:00
Kevin Lin
2691ff8a25
Fix incorrect padding property value pair in search.scss (#1123)
This PR corrects the change to `/_sass/search.scss` made in 551398f. This change tried to set the `padding-**top**` property to **two** values rather than set the `padding` property to these values (to represent the vertical and horizontal padding values).

I just reviewed 551398f and believe that this should be the other half of the fix proposed by just-the-docs/just-the-docs#1104.
2023-01-08 22:05:16 -08:00
Matthew Wang
7b29f62b49
gemspec: fix typo 2023-01-07 17:52:08 -08:00
Matthew Wang
91c4b7e3d1
update Ruby version for publish action v0.4.0.rc4 2023-01-07 17:46:15 -08:00
Matthew Wang
dd4d489f29
bump gemspec 2023-01-07 17:44:38 -08:00
Matthew Wang
ed20aed824
Update CHANGELOG 2023-01-07 17:41:04 -08:00
Matt Wang
c4bae1efb8
disables Google Analytics on docs site (#1113)
This is a follow-up from a private maintainer discussion (https://github.com/orgs/just-the-docs/teams/maintainers/discussions/11?from_comment=12). The cliff's notes for the public are: we believe we are not currently GDPR-compliant in how the docs site itself serves analytics.

For now, we'll disable analytics; we don't use them anyways. We will then:

- add analytics and the relevant banner to the regression test repository
- in the future, workshop a built-in solution for JtD users to be GDPR compliant
- optionally, clarify the role of users of this theme (their responsibility is to make their sites GDPR compliant)(
2023-01-07 17:39:34 -08:00
Matthew Wang
56448e86f0
reformat changelog for upcoming release 2023-01-07 17:35:10 -08:00
Matt Wang
ad490360ba
Update CHANGELOG.md 2023-01-07 16:19:57 -08:00
Matt Wang
2495d3e6bb
refactor: modularize site components (#1058)
Hi everyone, this is a large refactoring PR that looks to **modularize site components** following the discussion in #959. At the top-level, it:

- moves icons, the sidebar, header (navbar, search, aux links), footer, and mermaid components of the `default` layout into their own `_includes`
- creates a new `minimal` layout that does not render the header or sidebar as a proof-of-concept for the composability of components
- documents all existing and new layouts (including vendor code) in the "Customization" section 

An important goal of this PR is for it to be **just code motion and flexibility**: there should be **zero impact** on the average end user that only consumes the `default` theme.

The next few sections go in-depth on each of the listed changes.

### new components

The `default` layout contains a "list" of all relevant components. Importantly, some of these components have sub-components:

- the header is split into the search bar, custom code, and aux links
- the icons include imports different icon components, some of which are conditionally imported by feature guards

There are also candidates for future splits and joins:

- the sidebar could be split into navigation, collections, external link, and header/footer code
- the "search footer" could be joined with other search code, which would make it easier to "include search" in one go; *however, this is a markup change*
- @kevinlin1 has pointed out that there is some leakage between the sidebar (which computes parents/grandparents) and the breadcrumbs (which needs them to render). He's graciously added a bandaid fix to `minimal` (which does not render the sidebar). However, in the long term, we should either:
    - calculate this in a parent and pass the information to both components
    - change how this works entirely (which may happen with multi-level navigation)

@pdmosses has done a great job outlining this and more in his [Modular Layouts test site](https://pdmosses.github.io/modular-layouts/docs/main/).

### minimal layout

Based on @kevinlin1's use-case in just-the-class (see: his [Winter 2023 CSE 373 site](https://courses.cs.washington.edu/courses/cse373/23wi/)), we've created a first-class `minimal` layout that does not render the sidebar or header.

In a [comment](https://github.com/just-the-docs/just-the-docs/pull/1058#discussion_r1057015039), Kevin has indicated that we can re-add the search bar in the minimal layout; however, it seems like this would be a code change. I think we should punt this to a future issue/PR.

@pdmosses has also discussed the confusion of `minimal` as a layout and its meaning in inheritance. I've added a note in documentation to clarify the (lack of) inheritance relationship.

### documentation

I've written documentation in the "Customization" page / [Custom layouts and includes](https://deploy-preview-1058--just-the-docs.netlify.app/docs/customization/#custom-layouts-and-includes) section explaining:

- generally, that we use includes/layouts (and pointing to docs)
- the `default` layout and its constituent components (with a warning about name collisions)
- creating alternative layouts with `minimal` as an example
- the inheritance chain of layouts and the vendor layouts that we consume

I've also created (and linked to) a [minimal layout test](https://deploy-preview-1058--just-the-docs.netlify.app/docs/minimal-test/) that is currently a copy of the markdown kitchen sink but with the minimal layout. I think there's room to improve this in the future.

### future work

I think there's a lot we can do. Let me break this into various sections.

Potential follow-ups before `v0.4.0`:

- re-including search in `minimal` (anticipating a minor code change)
- fixing the leakage of parent/grandparent information between the sidebar and breadcrumbs (anticipating no end-user code change, but good to evaluate separately and discuss)
- heavily document this in the migration guide (#1059) and in our RC4 release docs
- improve semantic markup for components (ex `main`, `nav`)

Related work in later minor versions:

- split up components into smaller components
- allow users to easily customize new layouts using frontmatter (see @kevinlin1's [comment in #959](https://github.com/just-the-docs/just-the-docs/issues/959#issuecomment-1249755249))

Related work for `v1.0` (i.e. a major breaking change):

- rename and better categorize existing includes
    - standardizing the "custom" includes
    - moving other components to the `components/` folder (ex `head`, `nav`)
    - potentially: less confusing naming for various components
- potentially separate the search and header as components, so that they are completely independent 

Tangentially related work:

- more flexible grid (see @JPrevost's [comment in this PR thread](https://github.com/just-the-docs/just-the-docs/pull/1058#issuecomment-1363314610))
- a formal [feature model](https://en.wikipedia.org/wiki/Feature_model) of JTD, documenting feature dependence (see @pdmosses's [comment in this PR thread](https://github.com/just-the-docs/just-the-docs/pull/1058#issuecomment-1365414023))
- better annotate new features (motivated by writing these docs)
    - we should add "New" to new features :) 
    - we should note when a feature was introduced (I think this is a core part of most software documentation)
    - we should annotate things that are "Advanced" in so far as the average Just the Docs user will not use them / they require significant Jekyll knowledge


--- 

Closes #959.
2023-01-07 16:08:45 -08:00
Matt Wang
4469f45cbd
Update CHANGELOG.md 2023-01-04 20:29:31 -08:00
Nemo
b909e083fe
Replace inline styling for <svg> icons (#1110) 2023-01-04 20:27:24 -08:00
Matt Wang
4d6cb767a9
analytics: adds new GA tag for JtD account (#1105)
Context: https://github.com/just-the-docs/just-the-docs/pull/1029#issuecomment-1369613443.
2023-01-03 14:53:47 -08:00
Matt Wang
89b5f4987b
Update CHANGELOG.md 2023-01-03 14:45:54 -08:00
Simone
3d1f926a68
Fixes various bugs with copy code button (#1096)
This PR fixes three bugs:

# first bug

When revising my last PR #1086 I realised a slight bug in the code-copy PR #945 , my change to the css ignored a case. This PR is a hotfix and

Before PR #945:
![image](https://user-images.githubusercontent.com/26844016/209864912-2fe8e5a9-f21e-40c7-aa0d-65050196f4ee.png)

![image](https://user-images.githubusercontent.com/26844016/209864950-c315cef1-36ee-4356-91b2-db159cf3806f.png)

After PR #945:
![image](https://user-images.githubusercontent.com/26844016/209864524-70a8b095-056a-464b-9ff7-fd31397492ba.png)

![image](https://user-images.githubusercontent.com/26844016/209864558-9fd7a5d3-a965-4aa4-af62-a56846e331b3.png)

Fix:
![image](https://user-images.githubusercontent.com/26844016/209865514-a9921096-b852-4402-8272-b76908851ad6.png)

![image](https://user-images.githubusercontent.com/26844016/209865550-d7842507-74fc-4f21-b407-9b8917df1fd8.png)

# second bug

> @simonebortolin @mattxwang I'm trying to write some regression tests for this feature.
> 
> If I use GitHub's copy button to copy the following plain text, it preserves all the spaces:
> 
> ```
>  1 leading space
>   2 leading spaces and 2 trailing spaces  
> 3   internal spaces
> 4 trailing spaces    
> ```
> 
> Using the new copy button with the same text in this PR branch of JTD gives this:
> 
> ```
> 1 leading space
>    2 leading spaces and 2 trailing spaces  
>  3   internal spaces
>  4 trailing spaces
> ```
> 
> It appears that the leading space from line 1 has been removed, and inserted on all the other lines. Moreover, the 4 trailing spaces have been removed.
> 
> BTW, #924 didn't give a precise requirements spec, but mentioned the Microsoft docs UI; @mattxwang mentioned also the GitHub UI. It would be helpful to add a functional spec of what the JTD copy button is supposed to do, as a basis for regression tests.
> 
> I'm not aiming at a rigorous test for the UI. Personally (using Safari at the default mag) I find the clipboard icon too small: it just looks like a box, and I can hardly see that there is a clip at the top. But I don't have a suggestion for a better icon.

# third bug

When I re-read the code after the second bug, I noticed a bug that it does not always select the text field to be copied correctly  (in case there are also line numbers) is copied:

```
1
2
3
4

	
# Ruby code with syntax highlighting and fixed line numbers using Liquid
GitHubPages::Dependencies.gems.each do |gem, version|
  s.add_dependency(gem, "= #{version}")
end
```
instead of 
```
# Ruby code with syntax highlighting and fixed line numbers using Liquid
GitHubPages::Dependencies.gems.each do |gem, version|
  s.add_dependency(gem, "= #{version}")
end
```

Co-authored-by: Matt Wang <matt@matthewwang.me>
2023-01-03 14:44:26 -08:00
Matt Wang
3ba32c5cba
Update CHANGELOG.md 2023-01-02 22:04:32 -08:00
Steven Conaway
5471214cda
Fix incorrect padding property value pair in labels.scss (#1104)
This PR corrects the change to `/_sass/labels.scss` made in 551398f92fc125f4692e49d636d2625ca2bf3819. This change tried to set the `padding-**top**` property to **two** values rather than set the `padding` property to these values (to represent the vertical and horizontal padding values).
2023-01-02 22:03:06 -08:00
Matt Wang
9e553b3486
Update CHANGELOG.md 2022-12-31 00:59:17 -08:00
Simone
551398f92f
Standardize SCSS:declaration-block-no-redundant-longhand-properties (#1102)
* Fix stylelint "declaration-block-no-redundant-longhand-properties"

Co-authored-by: Matt Wang <matt@matthewwang.me>
2022-12-31 00:51:54 -08:00