mirror of
https://github.com/thangisme/notes.git
synced 2025-01-13 14:56:35 -05:00
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`.
This commit is contained in:
parent
7e959f4b69
commit
c46ccd3484
@ -38,6 +38,10 @@ aux_links:
|
||||
"Just the Docs on GitHub":
|
||||
- "//github.com/pmarsceill/just-the-docs"
|
||||
|
||||
# Sort order for navigation links
|
||||
nav_sort: case_insensitive # default, equivalent to nil
|
||||
# nav_sort: case_sensitive # Capital letters sorted before lowercase
|
||||
|
||||
# Footer content appears at the bottom of every page's main content
|
||||
footer_content: "Copyright © 2017-2019 Patrick Marsceill. Distributed by an <a href=\"https://github.com/pmarsceill/just-the-docs/tree/master/LICENSE.txt\">MIT license.</a>"
|
||||
|
||||
|
@ -1,8 +1,15 @@
|
||||
<nav role="navigation" aria-label="Main navigation">
|
||||
<ul class="navigation-list">
|
||||
{%- assign ordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order != nil" | sort:"nav_order" -%}
|
||||
{%- assign unordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order == nil" | sort:"title" -%}
|
||||
{%- assign pages_list = ordered_pages_list | concat: unordered_pages_list -%}
|
||||
{%- assign ordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order != nil" -%}
|
||||
{%- assign unordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order == nil" -%}
|
||||
{%- if site.nav_sort == 'case_sensitive' -%}
|
||||
{%- assign sorted_ordered_pages_list = ordered_pages_list | sort:"nav_order" -%}
|
||||
{%- assign sorted_unordered_pages_list = unordered_pages_list | sort:"title" -%}
|
||||
{%- else -%}
|
||||
{%- assign sorted_ordered_pages_list = ordered_pages_list | sort_natural:"nav_order" -%}
|
||||
{%- assign sorted_unordered_pages_list = unordered_pages_list | sort_natural:"title" -%}
|
||||
{%- endif -%}
|
||||
{%- assign pages_list = sorted_ordered_pages_list | concat: sorted_unordered_pages_list -%}
|
||||
{%- for node in pages_list -%}
|
||||
{%- unless node.nav_exclude -%}
|
||||
{%- if node.parent == nil -%}
|
||||
|
@ -41,6 +41,8 @@ nav_order: 4
|
||||
The specified `nav_order` parameters on a site should be all integers or all strings.
|
||||
Pages without a `nav_order` parameter are ordered alphabetically by their `title`,
|
||||
and appear after the explicitly-ordered pages at each level.
|
||||
To sort all Capital letters before lowercase letters,
|
||||
add `nav_sort: case_sensitive` in the configuration file.
|
||||
|
||||
---
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user