From aae457a6118eccca2ef96b487b6af9b8b83402d8 Mon Sep 17 00:00:00 2001 From: Devin Haska Date: Mon, 19 Feb 2024 21:33:33 -0800 Subject: [PATCH] feat: add rss feed --- eleventy.config.js | 5 +++++ package-lock.json | 27 +++++++++++++++++++++++++++ package.json | 1 + src/content/pages/rss.njk | 29 +++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 src/content/pages/rss.njk diff --git a/eleventy.config.js b/eleventy.config.js index aca6539..9d10f37 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -1,3 +1,5 @@ +const pluginRss = require("@11ty/eleventy-plugin-rss"); + const { postsByTag, catalogueByType, @@ -22,6 +24,9 @@ const liteYoutube = require("./config/shortcodes/youtube.js"); module.exports = (eleventyConfig) => { eleventyConfig.addWatchTarget("./src/assets"); + // --------------------- Plugins --------------------- + eleventyConfig.addPlugin(pluginRss); + // --------------------- Custom Template Languages --------------------- eleventyConfig.addPlugin( require("./config/template-languages/css-config.js"), diff --git a/package-lock.json b/package-lock.json index 74f4625..49bc229 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "devDependencies": { "@11ty/eleventy": "^2.0.1", "@11ty/eleventy-img": "^3.1.8", + "@11ty/eleventy-plugin-rss": "^1.2.0", "autoprefixer": "^10.4.17", "cssnano": "^6.0.3", "dayjs": "^1.11.10", @@ -162,6 +163,21 @@ "url": "https://opencollective.com/11ty" } }, + "node_modules/@11ty/eleventy-plugin-rss": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-rss/-/eleventy-plugin-rss-1.2.0.tgz", + "integrity": "sha512-YzFnSH/5pObcFnqZ2sAQ782WmpOZHj1+xB9ydY/0j7BZ2jUNahn53VmwCB/sBRwXA/Fbwwj90q1MLo01Ru0UaQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "posthtml": "^0.16.6", + "posthtml-urls": "1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, "node_modules/@11ty/eleventy-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.2.tgz", @@ -5321,6 +5337,17 @@ "sharp": "^0.32.6" } }, + "@11ty/eleventy-plugin-rss": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-rss/-/eleventy-plugin-rss-1.2.0.tgz", + "integrity": "sha512-YzFnSH/5pObcFnqZ2sAQ782WmpOZHj1+xB9ydY/0j7BZ2jUNahn53VmwCB/sBRwXA/Fbwwj90q1MLo01Ru0UaQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "posthtml": "^0.16.6", + "posthtml-urls": "1.0.0" + } + }, "@11ty/eleventy-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.2.tgz", diff --git a/package.json b/package.json index db7f0d5..6a5859e 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "devDependencies": { "@11ty/eleventy": "^2.0.1", "@11ty/eleventy-img": "^3.1.8", + "@11ty/eleventy-plugin-rss": "^1.2.0", "autoprefixer": "^10.4.17", "cssnano": "^6.0.3", "dayjs": "^1.11.10", diff --git a/src/content/pages/rss.njk b/src/content/pages/rss.njk new file mode 100644 index 0000000..8d84eae --- /dev/null +++ b/src/content/pages/rss.njk @@ -0,0 +1,29 @@ +--- +permalink: /rss.xml +layout: null +eleventyExcludeFromCollections: true +excludeFromSitemap: true +--- + + + {{ meta.siteName }} + {{ meta.siteDescription }} + + + {{ meta.url }}/ + + {{ meta.author }} + + {% for post in collections.post %} + + {{ meta.url }}{{ post.url }} + {{ post.data.title | escape }} + + {{ post.date }} + {%- for tag in post.data.tags %} + + {%- endfor %} + {{ post.content | escape }} + + {% endfor %} +