diff --git a/eleventy.config.js b/eleventy.config.js index 1f6bb32..12eba7d 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -22,20 +22,11 @@ export default function(eleventyConfig) { }); // Fix page sorting. By default this is by file created date? We want it to be by filename. - eleventyConfig.addCollection('pages', (collection) => (collection - .getFilteredByGlob(['site-source/index.md', 'site-source/page-*.md']) - .map(page => { - let number; - if (page.fileSlug == 'index') { - number = 0; - } else { - number = Number(page.fileSlug.slice('page-'.length)); - } - return { page, number }; - }) - .sort((a, b) => a.number - b.number) - .map(p => p.page) - )); + eleventyConfig.addCollection('pages', (collection) => { + const comparator = Intl.Collator(undefined, { numeric: true, sensitivity: 'base' }); + const compareSlugs = (a, b) => comparator.compare(a.fileSlug, b.fileSlug); + return collection.getFilteredByTag('pages').sort(compareSlugs); + }); return { markdownTemplateEngine: 'njk',