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