Skip to content
Snippets Groups Projects
  1. Sep 15, 2022
    • Peter Mosses's avatar
      Fix active grandchild link class (#962) · b3e3eaf9
      Peter Mosses authored
      An occurrence of `grandchild` was miss-spelled `grand_child` (!).
      That caused omission of the `active` class in the link in the nav panel for all grandchildren.
      
      This bug was discovered using `diff` to compare the generated sites built using v0.4.0.rc1 and commit  4396b6b1c836f354bb7aa7edc1a06a49f137d615 on the fix-nav-performance PR branch.
      Unverified
      b3e3eaf9
  2. Sep 12, 2022
    • Peter Mosses's avatar
      Improve build time of navigation panel (#956) · 457dce36
      Peter Mosses authored
      Fix #863.
      
      The current Liquid code to generate the navigation panel involves the inefficient extraction of a list of pages from a list of page groups (identified by @captn3m0 in his original [explanation of the performance issue](https://github.com/just-the-docs/just-the-docs/issues/863)). 
      
      The optimisation implemented by this PR generates navigation links directly from the list of page groups, thereby avoiding the extraction of a list of pages from it. The Liquid code is now a bit tedious, but I don't see a simpler solution. 
      
      The need for grouping pages arises because Jekyll doesn't provide a filter to sort a list of pages on the value of an arbitrary expression.
      
      Using Jekyll v4.2.2 (macOS 12.5, M2 MacBook Air, 16 GB memory), building https://github.com/endoflife-date/endoflife.date using https://github.com/pdmosses/just-the-docs/blob/fix-nav-performance/_includes/nav.html produced the following profile extract:
      
      Filename                                                    | Count |    Bytes |   Time
      ------------------------------------------------------------|-------|----------|-------
      | just-the-docs-0.4.0.rc1/_layouts/default.html                    |   130 |  3792.04K |  5.160 |
      | _includes/nav.html                                               |   130 |  1405.20K |  4.054 |
      | just-the-docs-0.4.0.rc1/_includes/head.html                      |   130 |   617.82K |  0.495 |
      | _layouts/product.html                                            |   127 |  1014.38K |  0.413 |
      | _includes/head_custom.html                                       |   130 |   427.83K |  0.393 |
      | assets/js/zzzz-search-data.json                                  |     1 |   149.31K |  0.050 |
      
      @nathancarter has tried adding the new `nav.html` to [a site with over 300 pages](https://nathancarter.github.io/how2data/site/), and reported that it improved the build time of more than 3 minutes to about 30 seconds.
      
      Further optimisation of navigation might be possible (e.g., using [Jekyll include caching](https://github.com/benbalter/jekyll-include-cache)), but the current optimisation should be sufficient for v0.4.0.
      
      To test that this PR does not appear to affect the navigation panel generated by v0.3.3:
      
      1. Clone https://github.com/just-the-docs/just-the-docs-tests.
      2. Update `_config.yml` and `Gemfile` to use this PR branch.
      3. Run `bundle update`.
      4. Inspect the rendering of the entire collection of navigation tests.
      
      (Many of the differences reported in the GitHub visualisation of the changes are due to shifting much of the code 2 spaces to the left, in connection with moving the first `ul` element to be close to its first item.)
      Unverified
      457dce36
  3. Sep 06, 2022
  4. Aug 12, 2022
    • Matt Wang's avatar
      `mermaid`: refactor config to use `mermaid_config.js` include, only require... · e2f1546c
      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!
      Unverified
      e2f1546c
  5. Jul 23, 2022
  6. Jul 13, 2022
  7. Jul 12, 2022
  8. Jul 04, 2022
  9. Oct 12, 2020
  10. Sep 28, 2020
    • PLanCompS's avatar
      List children also when excluded from main navigation · 09ab1c31
      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.
      09ab1c31
  11. Sep 12, 2020
  12. Aug 13, 2020
  13. Aug 11, 2020
    • PLanCompS's avatar
      Update nav.html · e4759dae
      PLanCompS authored
      Indentation adjusted
      e4759dae
    • PLanCompS's avatar
      Update nav.html · a7be52df
      PLanCompS authored
      a7be52df
    • PLanCompS's avatar
      Separate sorting of numbers and strings for navigation order · 4fc59a57
      PLanCompS authored
      The values of `title` and `nav_order` can be numbers or strings.
      Jekyll gives build failures when sorting on mixtures of different types,
      so numbers and strings need to be sorted separately.
      
      Here, numbers are sorted by their values, and come before all strings.
      An omitted `nav_order` value is equivalent to the page's `title` value
      (except that a numerical `title` value is treated as a string).
      
      The case-sensitivity of string sorting is determined by `site.nav_sort`.
      4fc59a57
  14. Aug 10, 2020
    • PLanCompS's avatar
      Ensure pages with nav_exclude are ignored by navigation · 83ec5533
      PLanCompS authored
      Pages with `nav_exclude: true` were included when sorting on `title` or `nav_order`. That could cause build failures when the type of value of the field differs from that on other pages, as reported in https://github.com/pmarsceill/just-the-docs/issues/406.
      
      Pages with `nav_exclude: true` or no `title` are never displayed in the navigation, so removing them from `pages_list` cannot break existing sites. This change also allows the removal of some tests in the code. (The indentation of the code should now be adjusted, but that has been deferred, to restrict the size of the diff for review.)
      
      For testing, the title of `404.html` has been changed to the number `404`,  the page `docs/untitled-test.md`  has been added, and `nav_sort_order` has been set to `case_sensitive`. Those updates give build failures with the current version of `_includes/nav.html`, but not after the suggested changes.
      
      It will still be possible for build failures to occur due to sorting fields of *non-excluded* pages with differing types of values (e.g., `nav_order`a mixture of numbers and strings). To make the code completely safe will require relatively complicated changes,.
      83ec5533
  15. Aug 04, 2020
  16. Aug 02, 2020
    • PLanCompS's avatar
      Update anchor_headings.html · 52588355
      PLanCompS authored
      Fixes a bug where content after headings in header elements disappeared.
      Header elements are not currently used in JtD, but could make the HTML more semantic.
      52588355
  17. Jul 25, 2020
  18. Jul 09, 2020
  19. Jul 06, 2020
  20. Jul 04, 2020
  21. Jun 29, 2020
  22. Jun 27, 2020
  23. Jun 26, 2020
  24. Apr 29, 2020
  25. Apr 28, 2020
  26. Apr 25, 2020
    • PLanCompS's avatar
      Made case-insenstive sorting the default · c46ccd34
      PLanCompS authored
      Added a configuration option to determine whether the sort order is case-sensitive.
      The default is case-insensitive.
      
      To test:
      - open `/just-the-docs/docs/utilities/` in the browser,
        and check that the navigation links in `Utilities` are sorted alphabetically;
      - in `docs/utilities/layout.md', change the preamble to `title: layout`,
        and check that the  links in `Utilities` are still sorted alphabetically;
      - add `nav_sort: case_sensitive` in the configuration file,
        and check that the link to `layout` is now listed last under `Utilities`.
      c46ccd34
  27. Apr 24, 2020
  28. Mar 23, 2020
  29. Feb 19, 2020
    • Scott V Kissinger's avatar
      Update nav.html for handling nav_exclude · 6f2065aa
      Scott V Kissinger authored
      It appears nav_exclude only works on top level navigation items. I needed it to work at the child level as well. I believe these changes accomplish that for the child and grand_child levels.
      
      Love this theme. I've used it a few times. Apologies if this pull request is not according to convention. This is the first time I've done it on someone else's code. Thanks!
      Unverified
      6f2065aa
  30. Feb 02, 2020
  31. Dec 01, 2019
  32. Nov 16, 2019
    • Peter Mosses's avatar
      Hides dispay of grandchildren · 94c1dc37
      Peter Mosses authored
      Display of grandchildren links in the navigation is now delayed until their parent is selected.
      
      To test, select the `Grandchildren test` node. Only the direct children should appear. Selecting one of them then shows its children.
      94c1dc37
  33. Nov 12, 2019
    • Alexey Averikhin's avatar
      Enable IP anonymization in Google Analytics (GDPR) · 25331a5f
      Alexey Averikhin authored
      - Introduced "ga_tracking_anonymize_ip" parameter to enable/disable Google Analytics IP anonymization (to comply with GDPR).
      
      (cherry picked from commit ce530f36fa0549c78ffe53ea6077f44f6f0b330f) (+1 squashed commit)
      Squashed commits:
      [69b7718] - enable GA anonymize_ip
      
      (cherry picked from commit f2b67c632af72b61dd634b9a337200781519691e)
      25331a5f
Loading