Commit Graph

32 Commits

Author SHA1 Message Date
PLanCompS 09ab1c3131 List children also when excluded from main navigation
- 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.
2020-09-28 17:06:06 +02:00
Peter Mosses 000da77ba2
Update _includes/nav.html
Correction needed for use of collections.

Co-authored-by: Kevin Lin <kevinl@cs.uw.edu>
2020-09-12 08:55:53 +02:00
PLanCompS cfbdee1168 Update nav.html
Fixed conversion of numeric titles to strings.
2020-08-13 16:47:58 +02:00
PLanCompS e4759daecf Update nav.html
Indentation adjusted
2020-08-11 18:31:54 +02:00
PLanCompS a7be52df3b Update nav.html 2020-08-11 18:26:34 +02:00
PLanCompS 4fc59a578f Separate sorting of numbers and strings for navigation order
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`.
2020-08-11 18:25:58 +02:00
PLanCompS 83ec553348 Ensure pages with nav_exclude are ignored by navigation
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,.
2020-08-10 15:58:42 +02:00
Silvio Giebl 51f15965f2 Merge branch 'feature/search-sections' into improvement/navigation-new
# Conflicts:
#	_includes/nav.html
#	_layouts/default.html
#	assets/js/search-data.json
#	docs/configuration.md
#	lib/tasks/search.rake
2020-06-15 22:06:16 +02:00
Silvio Giebl c7466e88a8 Merge branch 'improvement/navigation' into improvement/navigation-new
# Conflicts:
#	_includes/nav.html
#	_layouts/default.html
2020-06-15 21:23:03 +02:00
Silvio Giebl d7e57de985
Exclude pages without title from nav (e.g. redirects) 2020-04-29 14:44:51 -04:00
Patrick Marsceill 484563b297
Merge pull request #239 from KasparEtter/fix-duplicates-in-nav
Fix duplicate entries in nav.html and default.html
2020-04-28 17:52:35 -04:00
Peter Mosses e97b718f5d
Update nav.html
Changed `site.html_pages` to `pages_list`, to repeat the nav order of the grandchildren in the nav panel.
2020-04-28 18:07:50 +02:00
Peter Mosses 73ad860f8e
Update _includes/nav.html
Co-Authored-By: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2020-04-28 17:08:53 +02:00
Patrick Marsceill b7fe6e0318
Merge branch 'v0.2.9' into fix-duplicates-in-nav 2020-04-27 13:29:52 -04:00
Patrick Marsceill fad434bc74
Merge branch 'v0.2.9' into default-nav-order 2020-04-27 11:05:46 -04:00
PLanCompS c46ccd3484 Made case-insenstive sorting the default
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`.
2020-04-25 14:53:45 +02:00
Scott V Kissinger 6f2065aa57
Update nav.html for handling nav_exclude
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!
2020-02-19 16:01:50 +08:00
Silvio Giebl 672de29f2e Exclude pages without title from nav (e.g. redirects) 2020-02-02 20:54:02 +01:00
Silvio Giebl 5d87f3a9df Prefixed svg ids to not clash with normal ids 2019-12-01 15:51:48 +01:00
Kaspar Etter 102d74c782
Fix duplicate entries in nav.html
This commit resolves #207.
2019-10-16 17:42:30 +02:00
Peter Mosses 6660f442b0 Alphabetic navigation order
When `nav_order` is omitted, the order of nodes at each menu level (and in the auto-generated TOC) is alphabetical by `title`, instead of random.
Any nodes with a specified `nav_order` precede all nodes at that level where it is omitted.
Note that `nav_order` fields must have a uniform site-ide type: integers and strings cannot be mixed, otherwise Jekyll reports errors.
The implementation filters the ordered and unordered pages from `site.html_pages`, sorts them separately, and concatenates the resulting arrays.
2019-10-11 21:40:34 +01:00
Silvio Giebl 0ebbe4bb4e Improved navigation: folding, vsual feedback, optimization for mobile
(cherry picked from commit db50f282bab1e98397cc7434a811b8b7da2fe6dc)
2019-08-15 23:38:58 +02:00
Silvio Giebl 0a8138a6e0 Improved navigation
(cherry picked from commit 6684f7c7faa15d6d59df35fbff9ea6666634d754)
2019-08-15 23:30:34 +02:00
Silvio Giebl ee8b901bcb Simplified nav nesting
(cherry picked from commit eeb3f342b17a744d0c2b2f0360359fa3276f8abd)
2019-08-15 22:50:29 +02:00
Julien Duchesne 07982f681a Optimized nav generation
- Trimmed whitespace between html elements
  This reduced one of my files from 850KB to 115KB
- Do not sort the whole list of pages on every iteration
  This made build 3x faster
2019-07-18 15:52:11 -04:00
Patrick Marsceill a3ae6ad74e
A11y updates 2019-01-06 15:49:26 -05:00
Patrick Marsceill 960d347f68
Support 3 levels of pages 2018-11-19 13:28:59 -05:00
Patrick Marsceill 6540493df2
Add condition for nav exclude 2018-11-16 13:57:32 -05:00
Patrick Marsceill f7da9a9dd9
final shit for release 2017-04-08 18:51:14 -04:00
Patrick Marsceill e581397758
Initial commit 2017-03-26 21:09:19 -04:00
Patrick Marsceill 594385ae7b
initial commit 2017-03-24 09:47:37 -04:00
Patrick Marsceill b7b0d0d7bf
Initial commit 2017-03-09 13:16:08 -05:00