Feature/image desc #1

Merged
augustskare merged 3 commits from feature/image-desc into main 2023-03-10 12:15:00 +00:00
2 changed files with 8 additions and 4 deletions

View File

@ -17,6 +17,7 @@ export type Episode = {
titles: {
title: string,
description: string,
subtitle: string,
},
durationInSeconds: number,
date: string,

View File

@ -4,11 +4,12 @@ import { HandlerContext } from "$fresh/server.ts";
import { serialize, tag, declaration } from "https://deno.land/x/serializexml@v0.3.2/mod.ts";
function toItemTag(episode: Episode) {
const description = episode.titles.description || episode.titles.subtitle;
return tag("item", [
tag("title", episode.titles.title),
tag("link", episode.url),
tag("description", episode.titles.description),
tag("itunes:summary", episode.titles.description),
tag("description", description),
tag("itunes:summary", description),
tag("guid", episode.id, [["isPermaLink", "false"]]),
tag("pubDate", episode.date),
tag("enclosure", "", [
@ -22,7 +23,6 @@ function toItemTag(episode: Episode) {
async function buildFeed(seriesId: any) {
const serie = await nrkRadio.getSerieData(seriesId)
// Quickly adapted from https://raw.githubusercontent.com/olaven/paperpod/1cde9abd3174b26e126aa74fc5a3b63fd078c0fd/packages/converter/src/rss.ts
return serialize(
declaration([
@ -40,8 +40,11 @@ async function buildFeed(seriesId: any) {
serie.subtitle
),
tag("ttl", "60"), //60 minutes
tag("itunes:image", "", [
["href", serie.image.url],
]),
tag("image", [
tag("url", serie.image.uri),
tag("url", serie.image.url),
tag("title", serie.title),
]),
...serie.episodes.map(toItemTag),