35 lines
1.1 KiB
Plaintext
35 lines
1.1 KiB
Plaintext
<%#
|
|
/**
|
|
* index.ejs - Generates a JSON feed
|
|
* Expects: data.vods = [{ id, title, url, description, publishedAt, ... }]
|
|
*/
|
|
%>
|
|
|
|
<%
|
|
const feed = {
|
|
version: "https://jsonfeed.org/version/1",
|
|
title: `${meta('title')} VODs`,
|
|
home_page_url: "https://futureporn.net",
|
|
feed_url: "https://futureporn.net/vods/feed.json",
|
|
description: meta('description'),
|
|
icon: "https://futureporn.net/assets/logo.png",
|
|
author: {
|
|
name: "CJ_Clippy",
|
|
url: "https://futureporn.net"
|
|
},
|
|
items: data.vods.map(vod => ({
|
|
content_html: `VOD ${vod.get('id')} featuring ${vod.get('expand').vtubers.map((vt) => vt.get('displayName')).join(', ')} streamed on ${vod.get('streamDate')}`,
|
|
notes: vod.get('notes'),
|
|
url: `https://futureporn.net/vods/${vod.id}`,
|
|
title: vod.title,
|
|
announceUrl: vod.get('announceUrl'),
|
|
id: vod.get('id'),
|
|
ipfsCid: vod.get('ipfsCid'),
|
|
magnetLink: vod.get('magnetLink'),
|
|
image: vod.get('thumbnail'),
|
|
date_modified: vod.get('updated'),
|
|
streamDate: vod.get('streamDate'),
|
|
vtubers: vod.get('expand').vtubers.map((vt) => vt.get('displayName')).join(', ')
|
|
}))
|
|
};
|
|
%><%- JSON.stringify(feed, null, 2) %> |