From 9fa93e40cb1170de9a0c77f158d357788dcaa548 Mon Sep 17 00:00:00 2001 From: M Sarmad Qadeer Date: Mon, 24 Apr 2023 23:31:59 +0500 Subject: [PATCH] website: add atom feeds for blogs (#2233) * website: add atom feeds for blogs * update front-matter * website: add atom and rss feeds for blogs * include full blog content --------- Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> --- website/.eleventy.js | 4 ++++ website/package.json | 1 + website/src/blogs-atom-feed.njk | 37 +++++++++++++++++++++++++++++++++ website/src/blogs-rss-feed.njk | 35 +++++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 website/src/blogs-atom-feed.njk create mode 100644 website/src/blogs-rss-feed.njk diff --git a/website/.eleventy.js b/website/.eleventy.js index febbd7781..7dc872b6a 100644 --- a/website/.eleventy.js +++ b/website/.eleventy.js @@ -6,6 +6,8 @@ const uri = require('fast-uri') const i18n = require('eleventy-plugin-i18n'); const fs = require("fs"); const path = require("path"); +const pluginRss = require('@11ty/eleventy-plugin-rss'); + const globalConfig = { onionLocation: "http://isdb4l77sjqoy2qq7ipum6x3at6hyn3jmxfx4zdhc72ufbmuq4ilwkqd.onion", @@ -63,6 +65,8 @@ module.exports = function (ty) { } }) + ty.addPlugin(pluginRss); + ty.addPlugin(i18n, { translations, fallbackLocales: { diff --git a/website/package.json b/website/package.json index a6096764f..5560e7bec 100644 --- a/website/package.json +++ b/website/package.json @@ -17,6 +17,7 @@ "license": "ISC", "devDependencies": { "@11ty/eleventy": "^1.0.1", + "@11ty/eleventy-plugin-rss": "^1.2.0", "@simplex-chat/webrtc": "^0.1.1", "common-tags": "^1.8.2", "fast-uri": "^2.1.0", diff --git a/website/src/blogs-atom-feed.njk b/website/src/blogs-atom-feed.njk new file mode 100644 index 000000000..ea58fa2d1 --- /dev/null +++ b/website/src/blogs-atom-feed.njk @@ -0,0 +1,37 @@ +--- +permalink: feed.atom +eleventyExcludeFromCollections: true +metadata: + title: SimpleX Chat Blog + subtitle: It allows you to stay up to date with the latest Blogs from SimpleX Chat. + language: en + url: https://simplex.chat/, + author: + name: SimpleX Chat + email: chat@simplex.chat +--- + + + {{ metadata.title }} + {{ metadata.subtitle }} + + + {{ collections.blogs | getNewestCollectionItemDate | dateToRfc3339 }} + {{ metadata.url }} + + {{ metadata.author.name }} + {{ metadata.author.email }} + + {%- for blog in collections.blogs | reverse %} + {%- set absolutePostUrl = blog.url | absoluteUrl(metadata.url) %} + + {{ blog.data.title }} + + {# {{ blog.date | dateToRfc3339 }} #} + {{ blog.data.date.toUTCString().split(' ').slice(1, 4).join(' ') }} + {{ absolutePostUrl }} + {{ blog.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }} + {# {{ blog.templateContent | striptags | truncate(200) }} #} + + {%- endfor %} + \ No newline at end of file diff --git a/website/src/blogs-rss-feed.njk b/website/src/blogs-rss-feed.njk new file mode 100644 index 000000000..5163a7520 --- /dev/null +++ b/website/src/blogs-rss-feed.njk @@ -0,0 +1,35 @@ +--- +permalink: feed.rss +eleventyExcludeFromCollections: true +metadata: + title: SimpleX Chat Blog + subtitle: It allows you to stay up to date with the latest Blogs from SimpleX Chat. + language: en + url: https://simplex.chat/, + author: + name: SimpleX Chat + email: chat@simplex.chat +--- + + + + {{ metadata.title }} + {{ metadata.url }} + + {{ metadata.subtitle }} + {{ metadata.language }} + {%- for blog in collections.blogs %} + {%- set absolutePostUrl = blog.url | absoluteUrl(metadata.url) %} + + {{ blog.data.title }} + {{ absolutePostUrl }} + {{ blog.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }} + {# {{ blog.templateContent | striptags | truncate(200) }} #} + {# {{ blog.data.date | dateToRfc822 }} #} + {{ blog.data.date.toUTCString().split(' ').slice(1, 4).join(' ') }} + {{ metadata.author.name }} + {{ absolutePostUrl }} + + {%- endfor %} + + \ No newline at end of file