Skip to main content

News Workflow

@svendowideit/news-workflowv2026.08.12.1· 13d agoWORKFLOWS
01README

Full news feedback loop — gathers feedback from a queue server, fetches feeds from the catalog, deduplicates articles by URL, generates an HTML summary ranked by user preferences, discovers new RSS feeds from article URLs, upserts them into the catalog, and renders a feeds.html catalog listing.

02Workflows1
@svendowideit/newsf04794eb-33d9-443f-a582-3f12699c54e1

Full news feedback loop — gathers feedback from the queue server, fetches feeds from the catalog, generates an HTML summary ranked by your preferences, then discovers new RSS feeds from the article URLs and upserts them into the catalog for the next run, finally rendering feeds.html (a duplicate-grouped catalog listing). Loop: gather-feedback → dedupe (flag duplicate catalog feeds) → fetch → dedupe-articles (merge duplicate articles by URL) → filter by age (default: last 3 days) → generate HTML

mainGather feedback, fetch feeds, filter by age, generate HTML, discover new feeds for next run.
1.gather-feedbacknews-reader.gatherFeedback— Poll the feedback queue server and import any pending feedback entries into preferences.
2.dedupefeed-catalog.dedupe— Fetch each catalog feed, group by content identity, and mark duplicate feeds so fetch skips them.
3.gather-feed-statefeed-catalog.gatherFeedState— Poll the feedback server's /api/feed endpoint, apply enabled/disabled state to the catalog, and delete processed entries.
4.fetchnews-reader.fetch— Fetch RSS feeds from the feed-catalog (or from --input feeds if provided), skipping feeds marked duplicate by the dedupe step.
5.dedupe-articlesnews-reader.dedupeArticles— Group articles by URL, mark duplicates, and annotate primary articles with duplicate source info so the filter step skips them and the HTML shows cross-feed indicators.
6.filternews-reader.filterByAge— Filter articles by age (default: last 3 days).
7.generatenews-reader.generate— Generate HTML report from filtered articles, ranked by preferences.
8.generate-feeds-htmlfeed-catalog.generateFeedsHtml— Render a static feeds.html listing all catalog feeds, grouped by duplicates, with per-feed seen/read/interested/ignored article counts and a cross-link back to the news summary.
9.discoverfeed-discovery.discover— Discover new RSS feeds from article URLs.
10.upsert-feedfeed-catalog.add— Add each discovered feed to the feed-catalog.
11.gather-pagesnews-reader.gatherPages— Poll the pages queue server and collect queued page URLs into a data resource.
12.analyze-pagesfeed-analysis.analyzePages— Analyze each gathered page and discover RSS/Atom feeds, writing a page-discovery-result resource.
13.upsert-page[${{ self.feed.title }}]feed-catalog.add— Add each discovered page feed to the feed-catalog.
03Previous Versions2
2026.08.08.2
2026.08.08.1
04Stats
A
92 / 100
Downloads
0
Archive size
12.7 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared0/1missing
  • Verified public repository2/2earned
05Platforms