diff --git a/apps/svelte.dev/src/routes/blog/rss.xml/+server.js b/apps/svelte.dev/src/routes/blog/rss.xml/+server.js index 0695c2351e..ee994f9a4a 100644 --- a/apps/svelte.dev/src/routes/blog/rss.xml/+server.js +++ b/apps/svelte.dev/src/routes/blog/rss.xml/+server.js @@ -1,4 +1,5 @@ import { index } from '$lib/server/content'; +import { render_content } from '$lib/server/renderer'; export const prerender = false; // TODO @@ -25,8 +26,24 @@ function escapeHTML(html) { } /** @param {import('@sveltejs/site-kit').Document[]} posts */ -const get_rss = (posts) => +const get_rss = async (posts) => { + const renderedPosts = await Promise.all( + posts + .filter((post) => !post.metadata.draft) + .map( + async (post) => ` + + ${escapeHTML(post.metadata.title)} + https://svelte.dev/${post.slug} + ${escapeHTML(post.metadata.author)} + ${escapeHTML(await render_content(post.file, post.body))} + ${formatPubdate(/** @type {string} */ (post.file.split('/').pop()).slice(0, 10))} + ` + ) + ); + + return ` @@ -39,19 +56,7 @@ const get_rss = (posts) => Svelte https://svelte.dev/blog - ${posts - .filter((post) => !post.metadata.draft) - .map( - (post) => ` - - ${escapeHTML(post.metadata.title)} - https://svelte.dev/${post.slug} - ${escapeHTML(post.metadata.description)} - ${formatPubdate(/** @type {string} */ (post.file.split('/').pop()).slice(0, 10))} - - ` - ) - .join('')} + ${renderedPosts.join('')} @@ -59,9 +64,10 @@ const get_rss = (posts) => .replace(/>[^\S]+/gm, '>') .replace(/[^\S]+