feat: add a firehose feed
This commit is contained in:
parent
c2b918a3c6
commit
6898c03c8f
6 changed files with 42 additions and 1 deletions
|
@ -86,6 +86,13 @@ export const filterFavourites = (collection) => {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const filterByTags = (collection, tags = []) => {
|
||||||
|
return collection.filter(
|
||||||
|
(item) =>
|
||||||
|
item.data.tags && !item.data.tags.every((tag) => tags.includes(tag)),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
export const isOld = (dateArg) => {
|
export const isOld = (dateArg) => {
|
||||||
const date = dayjs(dateArg);
|
const date = dayjs(dateArg);
|
||||||
const now = dayjs();
|
const now = dayjs();
|
||||||
|
|
|
@ -10,6 +10,7 @@ import {
|
||||||
allTagCounts,
|
allTagCounts,
|
||||||
entries,
|
entries,
|
||||||
filter,
|
filter,
|
||||||
|
filterByTags,
|
||||||
filterFavourites,
|
filterFavourites,
|
||||||
formatDate,
|
formatDate,
|
||||||
isOld,
|
isOld,
|
||||||
|
@ -51,6 +52,7 @@ export default function (eleventyConfig) {
|
||||||
eleventyConfig.addFilter("entries", entries);
|
eleventyConfig.addFilter("entries", entries);
|
||||||
eleventyConfig.addFilter("filter", filter);
|
eleventyConfig.addFilter("filter", filter);
|
||||||
eleventyConfig.addFilter("filterFavourites", filterFavourites);
|
eleventyConfig.addFilter("filterFavourites", filterFavourites);
|
||||||
|
eleventyConfig.addFilter("filterByTags", filterByTags);
|
||||||
eleventyConfig.addFilter("formatDate", formatDate);
|
eleventyConfig.addFilter("formatDate", formatDate);
|
||||||
eleventyConfig.addFilter("isOld", isOld);
|
eleventyConfig.addFilter("isOld", isOld);
|
||||||
eleventyConfig.addFilter("keys", keys);
|
eleventyConfig.addFilter("keys", keys);
|
||||||
|
|
|
@ -30,6 +30,7 @@ export default class {
|
||||||
return {
|
return {
|
||||||
permalink: `css/styles.css`,
|
permalink: `css/styles.css`,
|
||||||
excludeFromSitemap: true,
|
excludeFromSitemap: true,
|
||||||
|
eleventyExcludeFromCollections: true,
|
||||||
rawFilepath,
|
rawFilepath,
|
||||||
rawCss: css,
|
rawCss: css,
|
||||||
};
|
};
|
||||||
|
|
|
@ -24,4 +24,8 @@ description: Feed yourself a veritable bevy of feeds.
|
||||||
Feeding all watching content. Also available in <a href="/feeds/movies.xml">movies</a> and <a href="/feeds/shows.xml">shows</a> varieties.
|
Feeding all watching content. Also available in <a href="/feeds/movies.xml">movies</a> and <a href="/feeds/shows.xml">shows</a> varieties.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/feeds/all.xml">Firehose</a>
|
||||||
|
<p>The Firehose - you get everything!</p>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
27
src/pages/feeds/all.njk
Normal file
27
src/pages/feeds/all.njk
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
permalink: /feeds/all.xml
|
||||||
|
layout: null
|
||||||
|
eleventyExcludeFromCollections: true
|
||||||
|
excludeFromSitemap: true
|
||||||
|
---<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<title>{{ meta.siteName }}</title>
|
||||||
|
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||||
|
<link href="{{ meta.url }}/feeds/all.xml" rel="self" />
|
||||||
|
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||||
|
<id>{{ meta.url }}/</id>
|
||||||
|
<author>
|
||||||
|
<name>{{ meta.author }}</name>
|
||||||
|
</author>
|
||||||
|
{% for item in collections.all | filterByTags(["page"]) %}
|
||||||
|
<entry>
|
||||||
|
<id>{{ meta.url }}{{ item.url }}</id>
|
||||||
|
<title>{{ item.data.title | escape }}</title>
|
||||||
|
<link href="{{ item.url }}{{ post.url }}" />
|
||||||
|
<pubDate>{{ item.date }}</pubDate>
|
||||||
|
{# The first tag is always a type e.g. post, page, etc. #}
|
||||||
|
{%- for tag in item.data.tags %}{% if not loop.first %}<category term="{{ tag }}" />{% endif %}{%- endfor %}
|
||||||
|
<content type="html">{{ item.content | escape }}</content>
|
||||||
|
</entry>
|
||||||
|
{% endfor %}
|
||||||
|
</feed>
|
|
@ -5,7 +5,7 @@ eleventyExcludeFromCollections: true
|
||||||
excludeFromSitemap: true
|
excludeFromSitemap: true
|
||||||
---<?xml version="1.0" encoding="utf-8"?>
|
---<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
<title>{{ meta.siteName }}</title>
|
<title>Posts • {{ meta.siteName }}</title>
|
||||||
<subtitle>{{ meta.siteDescription }}</subtitle>
|
<subtitle>{{ meta.siteDescription }}</subtitle>
|
||||||
<link href="{{ meta.url }}/feeds/posts.xml" rel="self" />
|
<link href="{{ meta.url }}/feeds/posts.xml" rel="self" />
|
||||||
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
<link href="{{ meta.url }}/" rel="alternate" type="text/html" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue