From c136e47748e70c82e7c5be66c44b5b9d62fd1122 Mon Sep 17 00:00:00 2001 From: Zed Date: Sun, 21 Jun 2026 07:27:59 +0200 Subject: [PATCH] Add link preview text to RSS feed Fixes #679 --- src/views/rss.nimf | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/src/views/rss.nimf b/src/views/rss.nimf index 4c1a86f..218c082 100644 --- a/src/views/rss.nimf +++ b/src/views/rss.nimf @@ -34,6 +34,12 @@ # end case # end if #end if +#if result.len == 0 and tweet.card.isSome: +# let card = tweet.card.get() +# if card.kind notin {hidden, unknown} and card.title.len > 0: +# result = prefix & xmltree.escape(card.title) +# end if +#end if #end proc # #proc getDescription(desc: string; cfg: Config): string = @@ -60,6 +66,32 @@ Twitter feed for: ${desc}. Generated by ${getUrlPrefix(cfg)} #end case #end proc # +#proc renderRssCard(card: Card; prefs: Prefs; urlPrefix: string): string = +#let cardLink = if card.url.startsWith("/"): urlPrefix & card.url else: replaceUrls(card.url, prefs) +#let title = xmltree.escape(card.title) +#if cardLink.len > 0: + +#end if +#if card.image.len > 0: + +#end if +#if title.len > 0: +# if card.image.len > 0: +
+# end if +${title} +#end if +#if cardLink.len > 0: +
+#end if +#if card.text.len > 0: +

${xmltree.escape(card.text)}

+#end if +#if card.dest.len > 0: +${xmltree.escape(card.dest)} +#end if +#end proc +# #proc getTweetsWithPinned(profile: Profile): seq[Tweets] = #result = profile.tweets.content #if profile.pinned.isSome and result.len > 0: @@ -87,11 +119,8 @@ Twitter feed for: ${desc}. Generated by ${getUrlPrefix(cfg)} # for media in tweet.media: ${renderRssMedia(media, tweet, urlPrefix)} # end for -#elif tweet.card.isSome: -# let card = tweet.card.get() -# if card.image.len > 0: - -# end if +#elif tweet.card.isSome and tweet.card.get().kind notin {hidden, unknown}: +${renderRssCard(tweet.card.get(), prefs, urlPrefix)} #end if #if tweet.note.len > 0 and not prefs.hideCommunityNotes:

Community note: ${replaceUrls(tweet.note, prefs, absolute=urlPrefix)}