diff --git a/src/routes/rss/+server.ts b/src/routes/rss/+server.ts index 33d312b..43b360b 100644 --- a/src/routes/rss/+server.ts +++ b/src/routes/rss/+server.ts @@ -22,56 +22,7 @@ function convertContentToHTML(content: any): string { return `
${escapeXML(content)}
` } - // Handle TipTap/EditorJS JSON format - if (content.blocks && Array.isArray(content.blocks)) { - return content.blocks - .map((block: any) => { - switch (block.type) { - case 'paragraph': - // Handle both data.text and content formats - const paragraphText = block.data?.text || block.content || '' - return paragraphText ? `${escapeXML(paragraphText)}
` : '' - case 'heading': - case 'header': - const level = block.data?.level || block.level || 2 - const headingText = block.data?.text || block.content || '' - return headingText ? `${escapeXML(code)}` : ''
- case 'quote':
- case 'blockquote':
- const quoteText = block.data?.text || block.content || ''
- const citation = block.data?.caption || ''
- if (!quoteText) return ''
- return `${escapeXML(quoteText)}${citation ? `${escapeXML(citation)}` : ''}` - default: - // Fallback for unknown block types - const defaultText = block.data?.text || block.content || '' - return defaultText ? `
${escapeXML(defaultText)}
` : '' - } - }) - .filter((html: string) => html) // Remove empty blocks - .join('\n') - } - - // Handle TipTap format with doc root + // Handle TipTap/Edra format with doc root if (content.type === 'doc' && content.content && Array.isArray(content.content)) { return content.content .map((node: any) => { @@ -151,15 +102,7 @@ function extractTextSummary(content: any, maxLength: number = 300): string { if (typeof content === 'string') { text = content } - // Handle EditorJS format - else if (content.blocks && Array.isArray(content.blocks)) { - text = content.blocks - .filter((block: any) => block.type === 'paragraph') - .map((block: any) => block.data?.text || block.content || '') - .filter((t: string) => t) - .join(' ') - } - // Handle TipTap format + // Handle TipTap/Edra format else if (content.type === 'doc' && content.content && Array.isArray(content.content)) { text = content.content .filter((node: any) => node.type === 'paragraph')