前回の投稿から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;
とはいえサイト側はまだ他のコンテンツが揃っていないので、まずそっちを片付けないといけないかな。