RSS feeds have better links and render HTML in markdown content

This commit is contained in:
Joe Carstairs
2024-06-05 17:03:04 +01:00
parent 81ef51422f
commit a9c8d7772a
2 changed files with 14 additions and 5 deletions

View File

@@ -1,9 +1,12 @@
import path from 'node:path';
import rss from '@astrojs/rss';
import type { APIContext } from 'astro';
import { getCollection } from 'astro:content';
import MarkdownIt from 'markdown-it';
const mdParser = new MarkdownIt();
const mdParser = new MarkdownIt({
html: true
});
export async function GET(context: APIContext) {
// `site` is guaranteed to exist because we define it in our Astro config
@@ -17,7 +20,7 @@ export async function GET(context: APIContext) {
<image>/images/headshot.webp</image>
<language>en-GB</language>
`,
site,
site: path.join(site.toString(), 'blog'),
trailingSlash: false,
items: posts.map((post) => ({
link: post.slug,

View File

@@ -1,6 +1,12 @@
import path from 'node:path';
import rss from '@astrojs/rss';
import type { APIContext } from 'astro';
import LINKS from '../../data/links.ts';
import MarkdownIt from 'markdown-it';
const mdParser = new MarkdownIt({
html: true
});
export async function GET(context: APIContext) {
// `site` is guaranteed to exist because we define it in our Astro config
@@ -13,14 +19,14 @@ export async function GET(context: APIContext) {
<image>/images/headshot.webp</image>
<language>en-GB</language>
`,
site,
site: path.join(site.toString(), 'links'),
trailingSlash: false,
items: LINKS.map((link) => ({
link: link.href,
title: link.title,
content: link.description,
content: mdParser.render(link.description),
pubDate: new Date(link.isoDateAdded),
description: link.description,
description: mdParser.render(link.description),
author: 'Joe Carstairs',
})),
})