An [OPML](https://en.wikipedia.org/wiki/OPML) feed is a way for how to integrate many feeds into one, sort of like merging many feeds into one. ## Possible implementation A OPML feed can be imported the same way as a normal feed... ```ts const feed = await extract("https://example.com/feeds.opml"); ``` ...and can almost be read the same too... ```ts interface OPMLData { title: String; feeds: OPMLFeed[]; entries: OPMLEntry[]; } interface OPMLFeed { title: String; link: String; } interface OPMLEntry { id: String; feed: String; title: String; link: String; description: String; published: ISO Datetime String; } ``` A mock OPML feed can be made by passing an array of feed URLs to the `extract` function... ```ts const feed = await extract([ "https://example.com/feed.rss", "https://foobar.com/feed.atom" ]); ``` ## Things that would be done post-implementation - The `extractFromOpml` API would need to be introduced. - The existing APIs (`extractFromJson` and `extractFromXml`) would need to be updated to support the mock OPML generation support.
Activity
ndaidong commentedon Jun 15, 2024
@theycallhermax thank you for your recommendation. This is really useful feature. I will have plan to try implementing.
ndaidong commentedon May 3, 2026
I close this issue because it's out of scope of this library.
Maybe create a new package for something like OPML (@extractus/feed-aggregator)