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 ---