From c448283d700e3cbeb31a8fc3baec1faaa6ca47d0 Mon Sep 17 00:00:00 2001 From: Garrett Mills Date: Sun, 8 Mar 2026 11:17:16 -0500 Subject: [PATCH] Sort OPML feeds list + link to the HTML version by default --- package.json | 3 ++- scripts/eleventy/blog.js | 14 +++++++++++++- src/blog/feeds.njk | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 2639291..69dc8f8 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "docker:build": "pnpm run build && docker build -t ${DOCKER_REGISTRY}/garrettmills/www-ssg .", "docker:run": "pnpm run docker:build && docker run --rm -p 8080:80 ${DOCKER_REGISTRY}/garrettmills/www-ssg", "docker:sh": "pnpm run docker:build && docker run --rm -it -p 8080:80 ${DOCKER_REGISTRY}/garrettmills/www-ssg sh", - "docker:push": "docker push ${DOCKER_REGISTRY}/garrettmills/www-ssg" + "docker:push": "docker push ${DOCKER_REGISTRY}/garrettmills/www-ssg", + "deploy": "pnpm run docker:build && pnpm run docker:push && kubectl rollout restart deployment garrettmills-dev" }, "keywords": [], "author": "", diff --git a/scripts/eleventy/blog.js b/scripts/eleventy/blog.js index 32f2650..f3441ce 100644 --- a/scripts/eleventy/blog.js +++ b/scripts/eleventy/blog.js @@ -1,6 +1,15 @@ import fs from "fs"; import * as opml from "opml"; +const sortArrayOfObjectsByProperty = (arr, prop, desc=false) => { + const direction = desc ? -1 : 1 + return arr.sort((a, b) => { + if ( a[prop] < b[prop] ) return -1 * direction + if ( a[prop] > b[prop] ) return 1 * direction + return 0 + }) +} + export const setupBlogCollections = eleventyConfig => { eleventyConfig.addCollection("blogByYear", api => { const postsByYear = {} @@ -45,6 +54,9 @@ export const setupBlogCollections = eleventyConfig => { opml.parse(xml, (err, doc) => err ? rej(err) : res(doc)) }) - return parsed.opml.body.subs + let subs = parsed.opml.body.subs + subs = sortArrayOfObjectsByProperty(subs, 'title') + subs.forEach(cat => cat.subs = sortArrayOfObjectsByProperty(cat.subs, 'title')) + return subs }) } diff --git a/src/blog/feeds.njk b/src/blog/feeds.njk index 1adef4e..2fdabe7 100644 --- a/src/blog/feeds.njk +++ b/src/blog/feeds.njk @@ -18,7 +18,7 @@ This list is also available in the standard {% for sub in cat.subs %} -
  • {{ sub.title }}
  • +
  • {{ sub.title }}
  • {% endfor %} {% endfor %}