fix: wrap channel description in CDATA and escape CDATA terminators in item descriptions

This commit is contained in:
2025-06-04 15:28:47 +09:00
parent ef95bc1667
commit 9b601c27f4

View File

@ -33,7 +33,7 @@ export async function updatePodcastRSS() {
itemsXml += ` itemsXml += `
<item> <item>
<title><![CDATA[${ep.title}]]></title> <title><![CDATA[${ep.title}]]></title>
<description><![CDATA[${ep.title.replace(/\]\]>/g, "]]&gt;").replace(/&/g, "&amp;")}]]></description> <description><![CDATA[${ep.title.replace(/\]\]>/g, "]]&gt;").replace(/&/g, "&amp;").replace(/\]\]>/g, "]]&gt;")}]]></description>
<author>${channelAuthor}</author> <author>${channelAuthor}</author>
<category>${channelCategories}</category> <category>${channelCategories}</category>
<language>${channelLanguage}</language> <language>${channelLanguage}</language>
@ -89,7 +89,7 @@ export async function updatePodcastRSS() {
<channel> <channel>
<title>${channelTitle}</title> <title>${channelTitle}</title>
<link>${channelLink}</link> <link>${channelLink}</link>
<description>${channelDescription}]]></description> <description><![CDATA[${channelDescription}]]></description>
<lastBuildDate>${lastBuildDate}</lastBuildDate> <lastBuildDate>${lastBuildDate}</lastBuildDate>
${itemsXml} ${itemsXml}
</channel> </channel>