forked from nyancrimew/maia.crimew.gay
add rss feed
This commit is contained in:
parent
399a7a6b85
commit
2a7e8353c6
6 changed files with 229 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight')
|
||||
const pluginRss = require('@11ty/eleventy-plugin-rss')
|
||||
|
||||
module.exports = function (eleventyConfig) {
|
||||
const parseDate = (str) => {
|
||||
|
@ -11,6 +12,7 @@ module.exports = function (eleventyConfig) {
|
|||
const formatPart = (part, date) =>
|
||||
new Intl.DateTimeFormat("en", part).format(date);
|
||||
|
||||
eleventyConfig.addPlugin(pluginRss)
|
||||
eleventyConfig.addPlugin(syntaxHighlight)
|
||||
|
||||
eleventyConfig.addPassthroughCopy({ "src/static": "/" });
|
||||
|
|
178
package-lock.json
generated
178
package-lock.json
generated
|
@ -9,6 +9,7 @@
|
|||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@11ty/eleventy": "^1.0.1",
|
||||
"@11ty/eleventy-plugin-rss": "^1.2.0",
|
||||
"@11ty/eleventy-plugin-syntaxhighlight": "^4.0.0"
|
||||
}
|
||||
},
|
||||
|
@ -68,6 +69,20 @@
|
|||
"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==",
|
||||
"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-plugin-syntaxhighlight": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-syntaxhighlight/-/eleventy-plugin-syntaxhighlight-4.0.0.tgz",
|
||||
|
@ -287,6 +302,11 @@
|
|||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/any-promise": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz",
|
||||
"integrity": "sha512-lqzY9o+BbeGHRCOyxQkt/Tgvz0IZhTmQiA+LxQW8wSNpcTbj8K+0cZiSEvbpNZZP9/11Gy7dnLO3GNWUXO4d1g=="
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
|
@ -1419,6 +1439,14 @@
|
|||
"url": "https://github.com/fb55/entities?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/http-equiv-refresh": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz",
|
||||
"integrity": "sha512-TScO04soylRN9i/QdOdgZyhydXg9z6XdaGzEyOgDKycePeDeTT4KvigjBcI+tgfTlieLWauGORMq5F1eIDa+1w==",
|
||||
"engines": {
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/http-errors": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
||||
|
@ -1564,6 +1592,11 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-json": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
|
||||
"integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA=="
|
||||
},
|
||||
"node_modules/is-number": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||
|
@ -1756,6 +1789,11 @@
|
|||
"url": "https://opencollective.com/liquidjs"
|
||||
}
|
||||
},
|
||||
"node_modules/list-to-array": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz",
|
||||
"integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g=="
|
||||
},
|
||||
"node_modules/localtunnel": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz",
|
||||
|
@ -2140,6 +2178,11 @@
|
|||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/parse-srcset": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
|
||||
"integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
|
||||
},
|
||||
"node_modules/parseurl": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||
|
@ -2222,6 +2265,54 @@
|
|||
"lodash": "^4.17.14"
|
||||
}
|
||||
},
|
||||
"node_modules/posthtml": {
|
||||
"version": "0.16.6",
|
||||
"resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz",
|
||||
"integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==",
|
||||
"dependencies": {
|
||||
"posthtml-parser": "^0.11.0",
|
||||
"posthtml-render": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/posthtml-parser": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
|
||||
"integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
|
||||
"dependencies": {
|
||||
"htmlparser2": "^7.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/posthtml-render": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
|
||||
"integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
|
||||
"dependencies": {
|
||||
"is-json": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/posthtml-urls": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-urls/-/posthtml-urls-1.0.0.tgz",
|
||||
"integrity": "sha512-CMJ0L009sGQVUuYM/g6WJdscsq6ooAwhUuF6CDlYPMLxKp2rmCYVebEU+wZGxnQstGJhZPMvXsRhtqekILd5/w==",
|
||||
"dependencies": {
|
||||
"http-equiv-refresh": "^1.0.0",
|
||||
"list-to-array": "^1.1.0",
|
||||
"parse-srcset": "^1.0.2",
|
||||
"promise-each": "^2.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 4"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz",
|
||||
|
@ -2251,6 +2342,14 @@
|
|||
"asap": "~2.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/promise-each": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz",
|
||||
"integrity": "sha512-67roqt1k3QDA41DZ8xi0V+rF3GoaMiX7QilbXu0vXimut+9RcKBNZ/t60xCRgcsihmNUsEjh48xLfNqOrKblUg==",
|
||||
"dependencies": {
|
||||
"any-promise": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/proto-list": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
|
||||
|
@ -3350,6 +3449,16 @@
|
|||
"slugify": "^1.6.5"
|
||||
}
|
||||
},
|
||||
"@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==",
|
||||
"requires": {
|
||||
"debug": "^4.3.4",
|
||||
"posthtml": "^0.16.6",
|
||||
"posthtml-urls": "1.0.0"
|
||||
}
|
||||
},
|
||||
"@11ty/eleventy-plugin-syntaxhighlight": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-syntaxhighlight/-/eleventy-plugin-syntaxhighlight-4.0.0.tgz",
|
||||
|
@ -3506,6 +3615,11 @@
|
|||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"any-promise": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz",
|
||||
"integrity": "sha512-lqzY9o+BbeGHRCOyxQkt/Tgvz0IZhTmQiA+LxQW8wSNpcTbj8K+0cZiSEvbpNZZP9/11Gy7dnLO3GNWUXO4d1g=="
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
|
@ -4362,6 +4476,11 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"http-equiv-refresh": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz",
|
||||
"integrity": "sha512-TScO04soylRN9i/QdOdgZyhydXg9z6XdaGzEyOgDKycePeDeTT4KvigjBcI+tgfTlieLWauGORMq5F1eIDa+1w=="
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
||||
|
@ -4476,6 +4595,11 @@
|
|||
"is-extglob": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"is-json": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
|
||||
"integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA=="
|
||||
},
|
||||
"is-number": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||
|
@ -4616,6 +4740,11 @@
|
|||
"resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-9.37.0.tgz",
|
||||
"integrity": "sha512-qDj9iiNdB+QNZTR4iKjiQzoHQma7V8Itx5oZG/ZCP7xjebh1LI+s5IG2ZYUbs1ALO6hBzmW36Ptd8RR4eohuDA=="
|
||||
},
|
||||
"list-to-array": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz",
|
||||
"integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g=="
|
||||
},
|
||||
"localtunnel": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz",
|
||||
|
@ -4900,6 +5029,11 @@
|
|||
"is-wsl": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"parse-srcset": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
|
||||
"integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
|
||||
},
|
||||
"parseurl": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||
|
@ -4962,6 +5096,42 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"posthtml": {
|
||||
"version": "0.16.6",
|
||||
"resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz",
|
||||
"integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==",
|
||||
"requires": {
|
||||
"posthtml-parser": "^0.11.0",
|
||||
"posthtml-render": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"posthtml-parser": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
|
||||
"integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
|
||||
"requires": {
|
||||
"htmlparser2": "^7.1.1"
|
||||
}
|
||||
},
|
||||
"posthtml-render": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
|
||||
"integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
|
||||
"requires": {
|
||||
"is-json": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"posthtml-urls": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-urls/-/posthtml-urls-1.0.0.tgz",
|
||||
"integrity": "sha512-CMJ0L009sGQVUuYM/g6WJdscsq6ooAwhUuF6CDlYPMLxKp2rmCYVebEU+wZGxnQstGJhZPMvXsRhtqekILd5/w==",
|
||||
"requires": {
|
||||
"http-equiv-refresh": "^1.0.0",
|
||||
"list-to-array": "^1.1.0",
|
||||
"parse-srcset": "^1.0.2",
|
||||
"promise-each": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"pretty": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz",
|
||||
|
@ -4985,6 +5155,14 @@
|
|||
"asap": "~2.0.3"
|
||||
}
|
||||
},
|
||||
"promise-each": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz",
|
||||
"integrity": "sha512-67roqt1k3QDA41DZ8xi0V+rF3GoaMiX7QilbXu0vXimut+9RcKBNZ/t60xCRgcsihmNUsEjh48xLfNqOrKblUg==",
|
||||
"requires": {
|
||||
"any-promise": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"proto-list": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@11ty/eleventy": "^1.0.1",
|
||||
"@11ty/eleventy-plugin-rss": "^1.2.0",
|
||||
"@11ty/eleventy-plugin-syntaxhighlight": "^4.0.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{
|
||||
"links": [
|
||||
{
|
||||
"name": "rss feed",
|
||||
"link": "https://crimew.gay/feed.xml"
|
||||
},
|
||||
{
|
||||
"name": "birded site",
|
||||
"link": "https://twitter.com/_nyancrimew"
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
|
||||
<link rel="shortcut icon" href="/favicon.ico">
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="/feed.xml" />
|
||||
</head>
|
||||
<body>
|
||||
<header id="site_header">
|
||||
|
|
42
src/feed.njk
Normal file
42
src/feed.njk
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
permalink: feed.xml
|
||||
metadata:
|
||||
title: maia blog
|
||||
url: https://maia.crimew.gay
|
||||
author:
|
||||
name: maia arson crimew
|
||||
email: maia@crimew.gay
|
||||
feed:
|
||||
subtitle: the maia blog :3
|
||||
filename: feed.xml
|
||||
path: feed/feed.xml
|
||||
url: https://maia.crimew.gay/feed.xml
|
||||
id: https://maia.crimew.gay/
|
||||
---
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>{{ metadata.title }}</title>
|
||||
<subtitle>{{ metadata.feed.subtitle }}</subtitle>
|
||||
<link href="{{ metadata.feed.url }}" rel="self"/>
|
||||
<link href="{{ metadata.url }}"/>
|
||||
<updated>{{ collections.posts | rssLastUpdatedDate }}</updated>
|
||||
<id>{{ metadata.feed.id }}</id>
|
||||
<author>
|
||||
<name>{{ metadata.author.name }}</name>
|
||||
<email>{{ metadata.author.email }}</email>
|
||||
</author>
|
||||
{%- for post in collections.posts %}
|
||||
{% set absolutePostUrl %}{{ post.url | url | absoluteUrl(metadata.url) }}{% endset %}
|
||||
<entry>
|
||||
<title>{{ post.data.title }}</title>
|
||||
{% if post.data.link %}
|
||||
<link href="{{ post.data.link }}"/>
|
||||
{% else %}
|
||||
<link href="{{ absolutePostUrl }}"/>
|
||||
{% endif %}
|
||||
<updated>{{ post.date | rssDate }}</updated>
|
||||
<id>{{ absolutePostUrl }}</id>
|
||||
<content type="html">{{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }}</content>
|
||||
</entry>
|
||||
{%- endfor %}
|
||||
</feed>
|
Loading…
Reference in a new issue