diff --git a/.eleventy.js b/.eleventy.js
index 28d6a46c9..3b66574cb 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -8,6 +8,7 @@ const markdownIt = require('markdown-it');
const markdownItAnchor = require('markdown-it-anchor');
const sitemap = require('@quasibit/eleventy-plugin-sitemap');
const translations = require('./src/_data/i18n');
+const rssPlugin = require('@11ty/eleventy-plugin-rss');
module.exports = function (eleventyConfig) {
console.log(process.env.NODE_ENV);
@@ -100,6 +101,8 @@ module.exports = function (eleventyConfig) {
hostname: build.isProduction ? 'https://ceph.io' : 'https://develop.ceph.io',
},
});
+ eleventyConfig.addPlugin(rssPlugin);
+
// Markdown overrides
let markdownLibrary = markdownIt({
html: true,
diff --git a/package-lock.json b/package-lock.json
index 2d5cca91c..7931a7137 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,7 @@
"devDependencies": {
"@11ty/eleventy": "2.0.1",
"@11ty/eleventy-navigation": "0.3.5",
+ "@11ty/eleventy-plugin-rss": "^1.2.0",
"@babel/core": "^7.13.8",
"@babel/preset-env": "^7.26.0",
"@fullhuman/postcss-purgecss": "^3.0.0",
@@ -182,6 +183,22 @@
"node": ">= 0.6.0"
}
},
+ "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-server-browsersync": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-server-browsersync/-/eleventy-server-browsersync-1.0.2.tgz",
diff --git a/package.json b/package.json
index 726eb0893..4870c4ec2 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,7 @@
"devDependencies": {
"@11ty/eleventy": "2.0.1",
"@11ty/eleventy-navigation": "0.3.5",
+ "@11ty/eleventy-plugin-rss": "^1.2.0",
"@babel/core": "^7.13.8",
"@babel/preset-env": "^7.26.0",
"@fullhuman/postcss-purgecss": "^3.0.0",
diff --git a/src/_includes/layouts/_base.njk b/src/_includes/layouts/_base.njk
index bac79823b..a1012ac21 100644
--- a/src/_includes/layouts/_base.njk
+++ b/src/_includes/layouts/_base.njk
@@ -47,6 +47,10 @@
{%- endfor -%}
+ {%- if atom -%}
+
+ {%- endif -%}
+
{# Stylesheet #}
diff --git a/src/en/news/blog/feed.njk b/src/en/news/blog/feed.njk
new file mode 100644
index 000000000..3c8e92b56
--- /dev/null
+++ b/src/en/news/blog/feed.njk
@@ -0,0 +1,34 @@
+---
+layout: null
+permalink: /en/news/blog/feed.xml
+eleventyExcludeFromCollections: true
+override:tags: []
+title: Ceph Blog
+base: https://ceph.io
+url: /en/news/blog/
+collection: en-blog-post
+---
+
+
+ {{ title }}
+
+
+ {{ collections[collection] | getNewestCollectionItemDate | dateToRfc3339 }}
+ {{ url | absoluteUrl(base) }}
+ {%- for post in collections[collection] | reverse | getItems(20) %}
+ {%- set absolutePostUrl = post.page.url | absoluteUrl(base) %}
+
+ {{ post.data.title }}
+
+ {{ post.page.date | dateToRfc3339 }}
+ {{ absolutePostUrl }}
+
+ {{ post.data.author }}
+
+ {%- for tag in post.data.tags %}
+
+ {%- endfor %}
+ {{ post.content }}
+
+ {%- endfor %}
+
diff --git a/src/en/news/blog/index.html b/src/en/news/blog/index.html
index ba6c1db9d..e8efdd393 100644
--- a/src/en/news/blog/index.html
+++ b/src/en/news/blog/index.html
@@ -5,4 +5,5 @@
override:tags: []
pagination:
data: collections.en-blog-post
+atom: /en/news/blog/feed.xml
---