diff --git a/.eleventy.js b/.eleventy.js
index d66f74e..f34ec57 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -1,4 +1,8 @@
+const pluginRss = require("@11ty/eleventy-plugin-rss");
+
module.exports = function(eleventyConfig) {
+ eleventyConfig.addPlugin(pluginRss);
+
eleventyConfig.addPassthroughCopy('icons')
eleventyConfig.addCollection('slashpages', function(collection) {
diff --git a/feed.njk b/feed.njk
new file mode 100644
index 0000000..1b1f7ce
--- /dev/null
+++ b/feed.njk
@@ -0,0 +1,33 @@
+---
+permalink: /feed.xml
+eleventyExcludeFromCollections: true
+metadata:
+ title: "slash pages"
+ subtitle: "A guide to common pages you can add to your website"
+ url: "https://slashpages.net"
+ feedUrl: "https://slashpages.net/feed.xml"
+ author:
+ name: "Robb Knight"
+---
+
+
+ {{ metadata.title }}
+ {{ metadata.subtitle }}
+
+
+ {{ collections.slashpages | getNewestCollectionItemDate | dateToRfc3339 }}
+ {{ metadata.url }}/
+
+ {{ metadata.author.name }}
+
+ {%- for post in collections.slashpages | reverse %}
+ {%- set absolutePostUrl = metadata.url + "/#" + post.data.title %}
+
+ /{{ post.data.title }}
+
+ {{ post.date | dateToRfc3339 }}
+ {{ absolutePostUrl }}
+ {{ post.data.description | htmlToAbsoluteUrls(absolutePostUrl) }}
+
+ {%- endfor %}
+
diff --git a/index.njk b/index.njk
index f5a9980..7c6fae3 100644
--- a/index.njk
+++ b/index.njk
@@ -22,6 +22,8 @@
+
+
diff --git a/package-lock.json b/package-lock.json
index 3dac99a..0730738 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,8 @@
"version": "1.0.0",
"license": "ISC",
"devDependencies": {
- "@11ty/eleventy": "^2.0.1"
+ "@11ty/eleventy": "^2.0.1",
+ "@11ty/eleventy-plugin-rss": "^1.2.0"
}
},
"node_modules/@11ty/dependency-tree": {
@@ -103,6 +104,22 @@
"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,
+ "license": "MIT",
+ "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",
@@ -596,12 +613,13 @@
}
},
"node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -1633,10 +1651,11 @@
"dev": true
},
"node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/multimatch": {
"version": "5.0.0",
diff --git a/package.json b/package.json
index b281c70..98afe27 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
"author": "",
"license": "ISC",
"devDependencies": {
- "@11ty/eleventy": "^2.0.1"
+ "@11ty/eleventy": "^2.0.1",
+ "@11ty/eleventy-plugin-rss": "^1.2.0"
}
}