1
0
Fork 0
This commit is contained in:
Ava Gaiety Wroten 2022-01-09 21:01:19 -06:00
parent 982ec954a4
commit 2b547cef88
4 changed files with 347 additions and 0 deletions

View file

@ -1,8 +1,10 @@
const emojiReadTime = require("@11tyrocks/eleventy-plugin-emoji-readtime");
const pluginRss = require("@11ty/eleventy-plugin-rss");
module.exports = function(eleventyConfig) {
eleventyConfig.addPassthroughCopy("./content/images");
eleventyConfig.addPlugin(emojiReadTime);
eleventyConfig.addPlugin(pluginRss);
return {
htmlTemplateEngine: "njk",

39
content/feed.njk Normal file
View file

@ -0,0 +1,39 @@
---json
{
"permalink": "feed.xml",
"eleventyExcludeFromCollections": true,
"metadata": {
"title": "Gaiety's Life",
"subtitle": "Programming, art, design, and other queer things.",
"url": "https://gaiety.life/",
"feedUrl": "https://gaiety.life/feed.xml",
"author": {
"name": "Ava Gaiety Wroten",
"email": "ava@wroten.me"
}
}
}
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>{{ metadata.title }}</title>
<subtitle>{{ metadata.subtitle }}</subtitle>
<link href="{{ metadata.feedUrl }}" rel="self"/>
<link href="{{ metadata.url }}"/>
<updated>{{ collections.all | getNewestCollectionItemDate | dateToRfc3339 }}</updated>
<id>{{ metadata.url }}</id>
<author>
<name>{{ metadata.author.name }}</name>
<email>{{ metadata.author.email }}</email>
</author>
{%- for post in collections.all %}
{% set absolutePostUrl %}{{ post.url | url | absoluteUrl(metadata.url) }}{% endset %}
<entry>
<title>{{ post.data.title }}</title>
<link href="{{ absolutePostUrl }}"/>
<updated>{{ post.date | dateToRfc3339 }}</updated>
<id>{{ absolutePostUrl }}</id>
<content type="html">{{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }}</content>
</entry>
{%- endfor %}
</feed>

305
package-lock.json generated
View file

@ -10,6 +10,7 @@
"license": "The Unlicense",
"devDependencies": {
"@11ty/eleventy": "^1.0.0",
"@11ty/eleventy-plugin-rss": "^1.1.2",
"@11tyrocks/eleventy-plugin-emoji-readtime": "^1.0.1",
"@tailwindcss/typography": "^0.5.0",
"concurrently": "^7.0.0",
@ -72,6 +73,21 @@
"url": "https://opencollective.com/11ty"
}
},
"node_modules/@11ty/eleventy-plugin-rss": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-rss/-/eleventy-plugin-rss-1.1.2.tgz",
"integrity": "sha512-QdXMl29MzMtyMj9Y1lYijPX4vGMnBDo4Peyi4GCJznCO4+eryAZiyVYciLBCek893EXL3RLOuVSshYo+jvjZ0w==",
"dev": true,
"dependencies": {
"debug": "^4.3.1",
"posthtml": "^0.15.1",
"posthtml-urls": "1.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/11ty"
}
},
"node_modules/@11tyrocks/eleventy-plugin-emoji-readtime": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@11tyrocks/eleventy-plugin-emoji-readtime/-/eleventy-plugin-emoji-readtime-1.0.1.tgz",
@ -331,6 +347,12 @@
"node": ">=4"
}
},
"node_modules/any-promise": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz",
"integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=",
"dev": true
},
"node_modules/anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
@ -1270,6 +1292,61 @@
"integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
"dev": true
},
"node_modules/dom-serializer": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
"integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
"dev": true,
"dependencies": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
"entities": "^2.0.0"
},
"funding": {
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
"node_modules/domelementtype": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
]
},
"node_modules/domhandler": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
"dev": true,
"dependencies": {
"domelementtype": "^2.2.0"
},
"engines": {
"node": ">= 4"
},
"funding": {
"url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
"node_modules/domutils": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"dev": true,
"dependencies": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
"domhandler": "^4.2.0"
},
"funding": {
"url": "https://github.com/fb55/domutils?sponsor=1"
}
},
"node_modules/easy-extender": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
@ -1935,6 +2012,34 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"dev": true,
"funding": [
"https://github.com/fb55/htmlparser2?sponsor=1",
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
],
"dependencies": {
"domelementtype": "^2.0.1",
"domhandler": "^4.0.0",
"domutils": "^2.5.2",
"entities": "^2.0.0"
}
},
"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": "sha1-jsU4hmBCvl8/evpzfRmNlL6xsHs=",
"dev": true,
"engines": {
"node": ">= 0.10"
}
},
"node_modules/http-errors": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
@ -2383,6 +2488,12 @@
"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": "sha1-yn3/ZAYGQzysdcvoRGrNhksVv28=",
"dev": true
},
"node_modules/localtunnel": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz",
@ -3006,6 +3117,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/parse-srcset": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
"integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=",
"dev": true
},
"node_modules/parseqs": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
@ -3251,6 +3368,55 @@
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
"node_modules/posthtml": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.15.2.tgz",
"integrity": "sha512-YugEJ5ze/0DLRIVBjCpDwANWL4pPj1kHJ/2llY8xuInr0nbkon3qTiMPe5LQa+cCwNjxS7nAZZTp+1M+6mT4Zg==",
"dev": true,
"dependencies": {
"posthtml-parser": "^0.7.2",
"posthtml-render": "^1.3.1"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/posthtml-parser": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.7.2.tgz",
"integrity": "sha512-LjEEG/3fNcWZtBfsOE3Gbyg1Li4CmsZRkH1UmbMR7nKdMXVMYI3B4/ZMiCpaq8aI1Aym4FRMMW9SAOLSwOnNsQ==",
"dev": true,
"dependencies": {
"htmlparser2": "^6.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/posthtml-render": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz",
"integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"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==",
"dev": true,
"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",
@ -3274,6 +3440,15 @@
"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": "sha1-M1MXTv8mlEgQN+BOAfd6oPttG2A=",
"dev": true,
"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",
@ -4700,6 +4875,17 @@
"slugify": "^1.6.5"
}
},
"@11ty/eleventy-plugin-rss": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-rss/-/eleventy-plugin-rss-1.1.2.tgz",
"integrity": "sha512-QdXMl29MzMtyMj9Y1lYijPX4vGMnBDo4Peyi4GCJznCO4+eryAZiyVYciLBCek893EXL3RLOuVSshYo+jvjZ0w==",
"dev": true,
"requires": {
"debug": "^4.3.1",
"posthtml": "^0.15.1",
"posthtml-urls": "1.0.0"
}
},
"@11tyrocks/eleventy-plugin-emoji-readtime": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@11tyrocks/eleventy-plugin-emoji-readtime/-/eleventy-plugin-emoji-readtime-1.0.1.tgz",
@ -4898,6 +5084,12 @@
"color-convert": "^1.9.0"
}
},
"any-promise": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz",
"integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=",
"dev": true
},
"anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
@ -5635,6 +5827,43 @@
"integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
"dev": true
},
"dom-serializer": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
"integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
"dev": true,
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
"entities": "^2.0.0"
}
},
"domelementtype": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
"dev": true
},
"domhandler": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
"dev": true,
"requires": {
"domelementtype": "^2.2.0"
}
},
"domutils": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"dev": true,
"requires": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
"domhandler": "^4.2.0"
}
},
"easy-extender": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
@ -6157,6 +6386,24 @@
"has-symbols": "^1.0.2"
}
},
"htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"dev": true,
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.0.0",
"domutils": "^2.5.2",
"entities": "^2.0.0"
}
},
"http-equiv-refresh": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz",
"integrity": "sha1-jsU4hmBCvl8/evpzfRmNlL6xsHs=",
"dev": true
},
"http-errors": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
@ -6504,6 +6751,12 @@
"integrity": "sha512-Sy3WfHMZgI3VKQdkwjVOE9JIqe0AujnSbb6OFbH5FnpKruHC/byI7r4SiaVvKV+3CaidU1XudyM/gEEUBXVklg==",
"dev": true
},
"list-to-array": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz",
"integrity": "sha1-yn3/ZAYGQzysdcvoRGrNhksVv28=",
"dev": true
},
"localtunnel": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz",
@ -6976,6 +7229,12 @@
"lines-and-columns": "^1.1.6"
}
},
"parse-srcset": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
"integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=",
"dev": true
},
"parseqs": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
@ -7147,6 +7406,43 @@
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
"posthtml": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.15.2.tgz",
"integrity": "sha512-YugEJ5ze/0DLRIVBjCpDwANWL4pPj1kHJ/2llY8xuInr0nbkon3qTiMPe5LQa+cCwNjxS7nAZZTp+1M+6mT4Zg==",
"dev": true,
"requires": {
"posthtml-parser": "^0.7.2",
"posthtml-render": "^1.3.1"
}
},
"posthtml-parser": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.7.2.tgz",
"integrity": "sha512-LjEEG/3fNcWZtBfsOE3Gbyg1Li4CmsZRkH1UmbMR7nKdMXVMYI3B4/ZMiCpaq8aI1Aym4FRMMW9SAOLSwOnNsQ==",
"dev": true,
"requires": {
"htmlparser2": "^6.0.0"
}
},
"posthtml-render": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz",
"integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==",
"dev": true
},
"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==",
"dev": true,
"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",
@ -7167,6 +7463,15 @@
"asap": "~2.0.3"
}
},
"promise-each": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz",
"integrity": "sha1-M1MXTv8mlEgQN+BOAfd6oPttG2A=",
"dev": true,
"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",

View file

@ -27,6 +27,7 @@
"homepage": "https://gitlab.com/gaiety/gaiety-life#readme",
"devDependencies": {
"@11ty/eleventy": "^1.0.0",
"@11ty/eleventy-plugin-rss": "^1.1.2",
"@11tyrocks/eleventy-plugin-emoji-readtime": "^1.0.1",
"@tailwindcss/typography": "^0.5.0",
"concurrently": "^7.0.0",