summaryrefslogtreecommitdiffstats
path: root/src/gen/feedjson.11ty.js
blob: 7ddbf51688377a7803456a40da2a07ca018f8ad9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
module.exports = class {
	data() {
		return {
			permalink: "/feed.json"
		};
	}

	async render(data) {
		const out = {
				version: "https://jsonfeed.org/version/1.1",
				title: data.metadata.title,
				language: data.metadata.language,
				home_page_url: data.metadata.url,
				feed_url: data.page.url,
				description: data.metadata.description,
				author: {
					name: data.metadata.author.name,
					url: data.metadata.author.url
				},
				items: (data.collections.posts || []).map(
					async function (e) {
						const absolutePostUrl = this.absoluteUrl(this.url(e.url), data.metadata.url)
						return {
							id: absolutePostUrl,
							url: absolutePostUrl,
							title: e.data.title,
							date_published: this.dateToRfc3339(e.date),
							content_html: htmlToAbsoluteUrls(e.templateContent, absolutePostUrl),
						}
					}
				)
			}
		  return JSON.stringify(out)
		}
}