mirror of
https://github.com/snachodog/just-the-docs.git
synced 2026-06-04 07:08:02 -06:00
Added regression tests for navigation
See the change to `_config.yml` for how to activate the tests.
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: default
|
||||
title: Excluded Child
|
||||
parent: Not Excluded
|
||||
nav_exclude: true
|
||||
---
|
||||
# Excluded Child
|
||||
|
||||
This child page is explicitly excluded, and should not appear in the navigation.
|
||||
|
||||
```yaml
|
||||
title: Excluded Child
|
||||
parent: Not Excluded
|
||||
nav_exclude: true
|
||||
```
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: default
|
||||
title: Excluded Grandchild
|
||||
parent: Non-excluded Child
|
||||
grand_parent: Non-excluded
|
||||
nav_exclude: true
|
||||
---
|
||||
# Excluded Grandchild
|
||||
|
||||
This grandchild page is explicitly excluded, and should not appear in the navigation.
|
||||
|
||||
```yaml
|
||||
title: Excluded Grandchild
|
||||
parent: Non-excluded Child
|
||||
grand_parent: Non-excluded
|
||||
nav_exclude: true
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: default
|
||||
title: Excluded
|
||||
has_children: true
|
||||
nav_exclude: true
|
||||
---
|
||||
# Excluded
|
||||
|
||||
This top-level page is explicitly excluded, and should not appear in the navigation. Any child pages are implicitly excluded.
|
||||
|
||||
```yaml
|
||||
title: Excluded
|
||||
has_children: true
|
||||
nav_exclude: true
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: default
|
||||
title: Non-excluded Child of Excluded
|
||||
parent: Excluded
|
||||
nav_exclude: false
|
||||
---
|
||||
# Non-excluded Child of Excluded
|
||||
|
||||
This child page is explicitly not excluded, but its parent page is excluded, so it should not appear in the navigation.
|
||||
|
||||
```yaml
|
||||
title: Non-excluded Child of Excluded
|
||||
parent: Excluded
|
||||
nav_exclude: false
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: Non-excluded Child
|
||||
parent: Non-excluded
|
||||
has_children: true
|
||||
nav_exclude: false
|
||||
---
|
||||
# Non-excluded Child
|
||||
|
||||
This child page is explicitly not excluded, and should appear in the navigation.
|
||||
|
||||
```yaml
|
||||
title: Non-excluded Child
|
||||
parent: Non-excluded
|
||||
nav_exclude: false
|
||||
```
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: default
|
||||
title: Non-excluded Grandchild of Excluded
|
||||
parent: Non-excluded Child
|
||||
grand_parent: Excluded
|
||||
nav_exclude: false
|
||||
---
|
||||
# Non-excluded Grandchild of Excluded
|
||||
|
||||
This grandchild page is explicitly not excluded, and neither is its parent page; but its grandparent page is excluded, so it should not appear in the navigation.
|
||||
|
||||
```yaml
|
||||
title: Non-excluded Grandchild of Excluded
|
||||
parent: Non-excluded Child
|
||||
grand_parent: Excluded
|
||||
nav_exclude: false
|
||||
```
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: default
|
||||
title: Non-excluded Grandchild
|
||||
parent: Non-excluded Child
|
||||
grand_parent: Non-excluded
|
||||
nav_exclude: false
|
||||
---
|
||||
# Non-excluded Grandchild
|
||||
|
||||
This grandchild page is explicitly not excluded, and neither is its parent page nor its grandparent page, so it should appear in the navigation.
|
||||
|
||||
```yaml
|
||||
title: Non-excluded Grandchild of Excluded
|
||||
parent: Non-excluded Child
|
||||
grand_parent: Excluded
|
||||
nav_exclude: false
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: Non-excluded
|
||||
has_children: true
|
||||
nav_exclude: false
|
||||
---
|
||||
# Non-excluded
|
||||
|
||||
This top-level page is explicitly not excluded, and should appear in the navigation.
|
||||
|
||||
```yaml
|
||||
title: Non-excluded
|
||||
nav_exclude: false
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
# Untitled
|
||||
|
||||
This page has no `title`, and should not appear in the navigation.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: A
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# A
|
||||
|
||||
A top-level page
|
||||
|
||||
```yaml
|
||||
title: A
|
||||
has_children: true
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: B
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# B
|
||||
|
||||
A top-level page
|
||||
|
||||
```yaml
|
||||
title: B
|
||||
has_children: true
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: C
|
||||
parent: A
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# C
|
||||
|
||||
A child of page A, and parent of page D
|
||||
|
||||
```yaml
|
||||
title: C
|
||||
parent: A
|
||||
has_children: true
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: C
|
||||
parent: B
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# C
|
||||
|
||||
A child of page B, and parent of page D
|
||||
|
||||
```yaml
|
||||
title: C
|
||||
parent: B
|
||||
has_children: true
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: D
|
||||
parent: C
|
||||
grand_parent: A
|
||||
---
|
||||
|
||||
# D
|
||||
|
||||
A grandchild of page A
|
||||
|
||||
```yaml
|
||||
title: D
|
||||
parent: C
|
||||
grand_parent: A
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: D
|
||||
parent: C
|
||||
grand_parent: B
|
||||
---
|
||||
|
||||
# D
|
||||
|
||||
A grandchild of page B
|
||||
|
||||
```yaml
|
||||
title: D
|
||||
parent: C
|
||||
grand_parent: B
|
||||
```
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
layout: default
|
||||
title: Navigation
|
||||
parent: Tests
|
||||
---
|
||||
|
||||
# Navigation
|
||||
|
||||
## Parent page disambiguation
|
||||
|
||||
- [Page A](grandparent/a/) has a child [page with title C](grandparent/ca/), and a grandchild [page with title D](grandparent/dca/).
|
||||
- [Page B](grandparent/b/) has a child [page with title C](grandparent/cb/), and a grandchild [page with title D](grandparent/dcb/).
|
||||
- The grandchild pages specify their parent and grandparent pages, so there is no ambiguity.
|
||||
|
||||
## Page exclusion
|
||||
|
||||
- An [untitled page](exclude/untitled/) is excluded from the navigation.
|
||||
- An excluded [top level page](exclude/excluded/), [child page](exclude/excluded-child/), or [grandchild page](exclude/excluded-grandchild/) does not appear.
|
||||
- A non-excluded [top level page](exclude/non-excluded/) appears; and a non-excluded [child page](exclude/non-excluded-child/) or [grandchild page](exclude/non-excluded-grandchild/) appears if its parent appears.
|
||||
- A non-excluded child page or grandchild page does not appear if its parent is excluded.
|
||||
|
||||
## Page order
|
||||
|
||||
- [Default](order/default/), using `title` instead of `nav_order` fields.
|
||||
- [Strings](order/strings/), lexicographically ordered, possibly case-insensitively.
|
||||
- [Integers](order/integers/), numerically ordered.
|
||||
- [Floats](order/floats/), numerically ordered.
|
||||
- [Mixture](order/mixture/), with numbers before strings.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: "10"
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 10
|
||||
|
||||
```yaml
|
||||
title: "10"
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: "2"
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 2
|
||||
|
||||
```yaml
|
||||
title: "2"
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: A
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# A
|
||||
|
||||
```yaml
|
||||
title: A
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: aa
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# aa
|
||||
|
||||
```yaml
|
||||
title: aa
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: Aa
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# Aa
|
||||
|
||||
```yaml
|
||||
title: Aa
|
||||
parent: Default
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: default
|
||||
title: Default
|
||||
parent: Order
|
||||
nav_order: 1
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Default Order
|
||||
|
||||
When `nav_order` fields are omitted, the pages are ordered alphabetically by their titles.
|
||||
|
||||
By default, all Capital letters come before all lowercase letters; you can add `nav_sort: case_insensitive` in the configuration file to ignore the case).
|
||||
|
||||
Digits precede letters, and numeric titles are ordered lexicographically: `10` precedes `2` (in contrast to explicit numeric `nav_order` values).
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "-1.1"
|
||||
nav_order: -1.1
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# -1.1
|
||||
|
||||
```yaml
|
||||
title: "-1.1"
|
||||
nav_order: -1.1
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "0.0"
|
||||
nav_order: 0.0
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 0.0
|
||||
|
||||
```yaml
|
||||
title: "0.0"
|
||||
nav_order: 0.0
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "10.0"
|
||||
nav_order: 10.0
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 10.0
|
||||
|
||||
```yaml
|
||||
title: "10.0"
|
||||
nav_order: 10.0
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "2.2222"
|
||||
nav_order: 2.2222
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 2.2222
|
||||
|
||||
```yaml
|
||||
title: "2.2222"
|
||||
nav_order: 2.2222
|
||||
parent: Floats
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: default
|
||||
title: Floats
|
||||
parent: Order
|
||||
nav_order: 4
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Floating-Point Order
|
||||
|
||||
When `nav_order` fields are floating-point numbers, the pages are ordered in increasing order of the numerical values.
|
||||
|
||||
Floats include `0.0` and negative values.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
layout: default
|
||||
title: Order
|
||||
has_children: true
|
||||
nav_order: 110
|
||||
---
|
||||
|
||||
# Order
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "-1"
|
||||
nav_order: -1
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# -1
|
||||
|
||||
```yaml
|
||||
title: "-1"
|
||||
nav_order: -1
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "0"
|
||||
nav_order: 0
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 0
|
||||
|
||||
```yaml
|
||||
title: "0"
|
||||
nav_order: 0
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "10"
|
||||
nav_order: 10
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 10
|
||||
|
||||
```yaml
|
||||
title: "10"
|
||||
nav_order: 10
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "2"
|
||||
nav_order: 2
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 2
|
||||
|
||||
```yaml
|
||||
title: "2"
|
||||
nav_order: 2
|
||||
parent: Integers
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: default
|
||||
title: Integers
|
||||
parent: Order
|
||||
nav_order: 3
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Integer Order
|
||||
|
||||
When `nav_order` fields are integers, the pages are ordered in increasing order of the numerical values.
|
||||
|
||||
Integers include `0` and negative values. Integers can be reused for top-level pages and for different sets of child pages.
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "-1.1"
|
||||
nav_order: -1.1
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# -1.1
|
||||
|
||||
```yaml
|
||||
title: "-1.1"
|
||||
nav_order: -1.1
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "-1"
|
||||
nav_order: -1
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# -1
|
||||
|
||||
```yaml
|
||||
title: "-1"
|
||||
nav_order: -1
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "0.0"
|
||||
nav_order: 0.0
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 0.0
|
||||
|
||||
```yaml
|
||||
title: "0.0"
|
||||
nav_order: 0.0
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "0"
|
||||
nav_order: 0
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 0
|
||||
|
||||
```yaml
|
||||
title: "0"
|
||||
nav_order: 0
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "10.0"
|
||||
nav_order: 10.0
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 10.0
|
||||
|
||||
```yaml
|
||||
title: "10.0"
|
||||
nav_order: 10.0
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: "10"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 10
|
||||
|
||||
```yaml
|
||||
title: "10"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "2.2222"
|
||||
nav_order: 2.2222
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 2.2222
|
||||
|
||||
```yaml
|
||||
title: "2.2222"
|
||||
nav_order: 2.2222
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: "2"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 2
|
||||
|
||||
```yaml
|
||||
title: "2"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
title: A
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# A
|
||||
|
||||
```yaml
|
||||
title: A
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: aa
|
||||
nav_order: "aa"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# aa
|
||||
|
||||
```yaml
|
||||
title: aa
|
||||
nav_order: "aa"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: Aa
|
||||
nav_order: "Aa"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# Aa
|
||||
|
||||
```yaml
|
||||
title: Aa
|
||||
nav_order: "Aa"
|
||||
parent: Mixture
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
layout: default
|
||||
title: Mixture
|
||||
parent: Order
|
||||
nav_order: 5
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Mixed Order
|
||||
|
||||
It seems unlikely that different types of `nav_order` values are needed for the children of the same parent.
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "10"
|
||||
nav_order: "10"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 10
|
||||
|
||||
```yaml
|
||||
title: "10"
|
||||
nav_order: "10"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: "2"
|
||||
nav_order: "2"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# 2
|
||||
|
||||
```yaml
|
||||
title: "2"
|
||||
nav_order: "2"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: A
|
||||
nav_order: A
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# A
|
||||
|
||||
```yaml
|
||||
title: A
|
||||
nav_order: A
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: aa
|
||||
nav_order: "aa"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# aa
|
||||
|
||||
```yaml
|
||||
title: aa
|
||||
nav_order: "aa"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
title: Aa
|
||||
nav_order: "Aa"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
---
|
||||
|
||||
# Aa
|
||||
|
||||
```yaml
|
||||
title: Aa
|
||||
nav_order: "Aa"
|
||||
parent: Strings
|
||||
grand_parent: Order
|
||||
```
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: default
|
||||
title: Strings
|
||||
parent: Order
|
||||
nav_order: 2
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# String Order
|
||||
|
||||
By default, all Capital letters come before all lowercase letters; you can add `nav_sort: case_insensitive` in the configuration file to ignore the case).
|
||||
|
||||
Digits precede letters, and numeric titles are ordered lexicographically: `"10"` precedes `"2"` (in contrast to explicit numeric `nav_order` values).
|
||||
Reference in New Issue
Block a user