前回の投稿から20日くらい経ってしまいましたが、ようやくSvelteKit製のサイト側にRSSフィードを表示することができるようになりました。
npmで見つけたfeed-extractorというパッケージを使ったらRSSフィード自体の取得は簡単にできたので、あとはページにどんな感じに表示するかを考えるだけだった気がします。
SvelteKit側では$libに以下の2つのファイル(feed.js / feed.d.ts)を置いて、route側のブログ記事一覧のページから呼び出して使っています。
import { extract } from '@extractus/feed-extractor';
/** @type {(feed_url:string) => FeedList} */
export async function getFeedList(feed_url) {
const result = await extract(feed_url);
return result;
}
export type FeedItem = {
id: string,
title: string,
link: string,
description: string,
published: string
}
export type FeedList = {
title: string,
link: string,
description: string,
generator: string,
language: string,
published: string,
entries: FeedItem[]
}
export async function getFeedList(string: feed_url): FeedList;
とはいえサイト側はまだ他のコンテンツが揃っていないので、まずそっちを片付けないといけないかな。