2025-11-12 07:54:01 -08:00

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) %>