- Jan 08, 2023
-
-
Matt Wang authored
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.
-
- Jan 05, 2023
-
-
Nemo authored
-
- Dec 27, 2022
-
-
Simone authored
Hello everyone, this is my implementation for the copy button on the snippet (requested in #924) The implementation is made 100% javascript as with or without a jekyll template modification you still have to execute some javascript code, and I consider it the best choice. the button only appears if the mouse is over it, to allow the entire line to be read the important CSS changes were made to make the copy button work even in the long code situation:  to avoid this:  Co-authored-by:
Matt Wang <matt@matthewwang.me>
-
- Nov 05, 2022
-
-
Peter Mosses authored
Fix #1020 - Move the display of nav external links from `_includes/nav.html` to `_layouts/default.html`. - Replace ` unless include.key` by `if site.nav_external_links`. - Wrap the body of `if site.nav_external_links` in `<ul class="nav-list">…</ul>`. To test this PR: 1. Add to `_config.yml`: ```yaml defaults: - scope: {path: ""} values: {nav_exclude: true} ``` 2. Check that the only link to appear in the nav panel is external. Co-authored-by:
Matt Wang <matt@matthewwang.me>
-
- Sep 26, 2022
-
-
Peter Mosses authored
Closes #961. Replays a previous attempt.
-
- Sep 15, 2022
-
-
Matt Wang authored
Closes #963. - redundant `role="navigation"` on nav elements - redundant `type="text/javascript"` on script tags - misplaced mermaid script tag Note that [running the validator on the deploy preview](https://validator.w3.org/nu/?doc=https%3A%2F%2Fdeploy-preview-964--just-the-docs.netlify.app%2F) has no errors now!
-
Henry Schreiner authored
Fixes #396.
-
- Sep 11, 2022
-
-
Jeremy Prevost authored
Why are these changes being introduced: * The current tab order requires keyboard or screenreader users to tab though all of the navigation links before they get to the main content of the page Relevant ticket(s): * Discussed as part of larger WCAG ticket https://github.com/just-the-docs/just-the-docs/issues/566 How does this address that need: * Introduces an off screen link as the first element in the tab order that will display when it has focus but remain off screen for users not using tab to navigate the document. * Introduces a new scss file with the required style elements and uses colors variables to ensure both light and dark mode are respected. Background information on this technique: - https://www.w3.org/TR/WCAG20-TECHS/G1.html - https://accessibility.oit.ncsu.edu/it-accessibility-at-nc-state/developers/accessibility-handbook/mouse-and-keyboard-events/skip-to-main-content/
-
- Aug 12, 2022
-
-
Matt Wang authored
`mermaid`: refactor config to use `mermaid_config.js` include, only require `mermaid.version` in `_config.yml` (#909) This PR has a bit of scope creep! This PR now: - changes the mermaid opt-in logic to only check for the existence of a `mermaid` key instead of `mermaid != false`: this resolves the follow-up in #857 - changes the behaviour of mermaid configuration - instead of using `mermaid_init.html` with default settings, makes the include `mermaid_config.js` - the include is loaded directly into the contents of `mermaid_initialize` - by default, it is an empty object (i.e. `{}`), triggering the defaults - updates docs - adds an example to the markdown kitchen sink It does significantly change the interface provided in #857, and I apologize for the confusion. However, given the discussion in this PR, I think it's the best move forward!
-
- Jul 13, 2022
-
-
- Jul 12, 2022
-
-
nascosto authored
Closes #825 Co-authored-by:
Matt Wang <matt@matthewwang.me>
-
- Jul 04, 2022
-
-
Nathan Jessen authored
**Rationale** I would like to customize the site footer content without needing to override the entire default layout. Ideally, I'd like to shorten the attribution to something like "Built with Just the Docs" **Implementation** Create a new `site_footer.html` include that users can override. **Possible changes** I debated whether or not the `<footer class="site-footer">` should be in/out of the include. I opted for placing it inside the include so I have the option of disabling the footer entirely by creating an empty site_footer file in my site. Co-authored-by:
Matt Wang <matt@matthewwang.me> Co-authored-by:
Patrick Marsceill <pmarsceill@users.noreply.github.com>
-
Matt Wang authored
* implements search placeholder configuration * changes implementation approach to use search_placeholder_custom Thanks to @pdmosses for the suggestion! * strips whitespace and HTML for both placeholder and aria-label
-
Peter Mosses authored
This PR combines (and resolves conflicts between) #448, #463, #466, #494, #495, #496, #498, and #572. The main aim is to facilitate use of several of the implemented features _together_, when using the fork as a remote theme. It should also simplify merging the included PRs into a future release. The branch [combination-rec-nav](https://github.com/pdmosses/just-the-docs/tree/combination-rec-nav) adds [multi-level navigation](https://github.com/pmarsceill/just-the-docs/pull/462) and (NEW:) [sibling links](https://github.com/pmarsceill/just-the-docs/pull/394) to the branch used for this PR. It includes updated [documentation for the navigation structure](https://pdmosses.github.io/just-the-docs/docs/navigation-structure/), and reorganised and extended [navigation tests](https://pdmosses.github.io/just-the-docs/tests/navigation/). The documentation and the tests can be browsed at the (temporary) [website published from the combination-rec-nav branch](https://pdmosses.github.io/just-the-docs/ ). _Caveat:_ The changes to v0.3.3 in this PR and #462 have not yet been reviewed or approved, and may need updating before merging into a release of the theme. If you use a branch from a PR as a remote theme, there is a risk of such updates affecting your website. Moreover, these branches are likely to be deleted after they have been merged. To avoid such problems, you could copy the branch that you want to use to your own fork of the theme. Co-authored-by:
Matt Wang <matt@matthewwang.me>
-
- Mar 03, 2022
-
-
Patrick Marsceill authored
-
- Dec 22, 2020
-
-
Alexandre Segura authored
-
- Sep 28, 2020
-
-
PLanCompS authored
- Limit the effect of `nav_exclude: true` to the main navigation. - Include links to excluded pages in auto-generating lists of child pages and in breadcrumbs. - Refactor implementation by moving assignment of `first_level_url` and `second_level_url` from `_includes/nav.html` to `_layouts/default.html`. - Clarify the effect of `nav_exclude` in the documentation.
-
- Aug 26, 2020
-
-
Phillip Cutter authored
-
Phillip Cutter authored
-
- Aug 03, 2020
-
-
PLanCompS authored
Correction suggested by @allejo in comment https://github.com/pmarsceill/just-the-docs/pull/399#discussion_r464128713. Also prevents losing the aria-labelledby attribute in future updates to this snippet.
-
- Jul 25, 2020
-
-
CodeSandwich authored
-
- Jul 12, 2020
-
-
Silvio Giebl authored
-
- Jul 10, 2020
-
-
Silvio Giebl authored
Renamed doc_collections to just-the-docs.collections
-
Silvio Giebl authored
-
- Jul 09, 2020
-
-
Silvio Giebl authored
-
Silvio Giebl authored
-
- Jun 26, 2020
-
-
Patrick Marsceill authored
-
- Jun 25, 2020
-
-
Silvio Giebl authored
-
- Jun 15, 2020
-
-
Silvio Giebl authored
-
Silvio Giebl authored
- font size 16px to prevent zooming on iOS Safari - search input is scrolled into view on iOS Safari - box-shadow is displayed correctly
-
- May 01, 2020
-
-
Patrick Marsceill authored
-
Patrick Marsceill authored
-
- Apr 28, 2020
-
-
Peter Mosses authored
-
- Apr 27, 2020
-
-
Patrick Marsceill authored
-
Patrick Marsceill authored
-
Patrick Marsceill authored
-
- Apr 24, 2020
-
-
Patrick Marsceill authored
-
Patrick Marsceill authored
-
- Jan 22, 2020
-
-
Matthew Wang authored
-
- Jan 12, 2020
-
-
Matthew Wang authored
-