From ab85f650447a0018310023c1009785a06eb75574 Mon Sep 17 00:00:00 2001 From: mr-boneman Date: Tue, 20 Aug 2024 17:50:20 +0200 Subject: [PATCH] title prefix support --- configs/releases.toml | 10 +++++++++- src/rss.nim | 10 ++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/configs/releases.toml b/configs/releases.toml index 6dad2db..8acc90b 100644 --- a/configs/releases.toml +++ b/configs/releases.toml @@ -3,12 +3,20 @@ name = "releases" [[feeds]] url = "https://github.com/nim-lang/Nim/releases.atom" kind = "Atom" +titlePrefix = "Nim: " [[feeds]] url = "https://github.com/fatedier/frp/releases.atom" kind = "Atom" +titlePrefix = "frp: " [[feeds]] url = "https://forgejo.org/releases/rss.xml" kind = "RSSv2" -timeFormat = "ddd',' dd MMM yyyy HH:mm:ss 'GMT'" \ No newline at end of file +titlePrefix = "Forgejo: " +timeFormat = "ddd',' dd MMM yyyy HH:mm:ss 'GMT'" + +[[feeds]] +url = "https://github.com/project-zot/zot/releases.atom" +titlePrefix = "zot: " +kind = "Atom" \ No newline at end of file diff --git a/src/rss.nim b/src/rss.nim index 29ed862..6dc3013 100644 --- a/src/rss.nim +++ b/src/rss.nim @@ -9,6 +9,7 @@ type RssFeed* = object url*: string kind*: FeedType timeFormat*: string + titlePrefix*: string proc parseAtomTime(s: string): DateTime = parse(s, atomTimeFormat) @@ -57,6 +58,15 @@ proc mixRssFeeds*(feeds: seq[RssFeed], name, id, link, authorName, description:s item ) + if feed.titlePrefix.len > 0: + entries[^1].items = entries[^1].items.mapIt( + block: + var item = it + if item.title.isSome(): + item.title = some(feed.titlePrefix&item.title.get()) + item + ) + for feed in entries: result.items.add feed.items