From 9e708c8c95be761034264fcc3c464d3074aa05d1 Mon Sep 17 00:00:00 2001 From: Joe Pavitt Date: Fri, 7 Jul 2023 21:44:56 +0100 Subject: [PATCH 1/4] Redirect support for group index & navOrder to control left nav option --- .eleventy.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.eleventy.js b/.eleventy.js index 3cac5cff8f..9ac346e5a1 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -372,7 +372,8 @@ module.exports = function(eleventyConfig) { if (!accumulator[currentValue]) { accumulator[currentValue] = { 'name': currentValue, - 'url': page.url, + 'url': page.data.redirect || page.url, + 'order': page.data.navOrder || 0, 'children': {} } if (page.data.navTitle) { @@ -439,7 +440,7 @@ module.exports = function(eleventyConfig) { function sortChildren (a, b) { // sort children by 'order', then alphabetical - return b.order - a.order || a.name.localeCompare(b.name) + return (b.order - a.order) || a.name.localeCompare(b.name) } nav[tag].groups = Object.values(groups).sort(sortChildren) From 8185c41c8c147bd231a482b9caeb4286cddb45d5 Mon Sep 17 00:00:00 2001 From: Joe Pavitt <99246719+joepavitt@users.noreply.github.com> Date: Fri, 7 Jul 2023 21:56:25 +0100 Subject: [PATCH 2/4] Reverse the order. 1 goes first. Co-authored-by: Zeger-Jan van de Weg --- .eleventy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eleventy.js b/.eleventy.js index 9ac346e5a1..4f1e4268d3 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -440,7 +440,7 @@ module.exports = function(eleventyConfig) { function sortChildren (a, b) { // sort children by 'order', then alphabetical - return (b.order - a.order) || a.name.localeCompare(b.name) + return (a.order - b.order) || a.name.localeCompare(b.name) } nav[tag].groups = Object.values(groups).sort(sortChildren) From b8a2bdd5ce2d3a07ce970b2d1007654617c5f23e Mon Sep 17 00:00:00 2001 From: Joe Pavitt <99246719+joepavitt@users.noreply.github.com> Date: Fri, 7 Jul 2023 21:56:47 +0100 Subject: [PATCH 3/4] Account for us now reversing order, by default to MAX_SAFE_INTEGERE Co-authored-by: Zeger-Jan van de Weg --- .eleventy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eleventy.js b/.eleventy.js index 4f1e4268d3..fb1bf00001 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -373,7 +373,7 @@ module.exports = function(eleventyConfig) { accumulator[currentValue] = { 'name': currentValue, 'url': page.data.redirect || page.url, - 'order': page.data.navOrder || 0, + 'order': page.data.navOrder || Number.MAX_SAFE_INTEGER, 'children': {} } if (page.data.navTitle) { From ab3315a3830ab78fbb583b9db252a56c74da3da9 Mon Sep 17 00:00:00 2001 From: Joe Pavitt Date: Fri, 7 Jul 2023 21:58:21 +0100 Subject: [PATCH 4/4] MAX_SAFE_INT for the "Other" fallback group --- .eleventy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eleventy.js b/.eleventy.js index fb1bf00001..5d4dd67b47 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -414,7 +414,7 @@ module.exports = function(eleventyConfig) { let groups = { 'Other': { name: 'Other', - order: -1, // always render last + order: Number.MAX_SAFE_INTEGER, // always render last children: [] } }