@StrangeAstronomer
@lemmy.mlMost entries in lemmy's RSS feed have a <link> that points to the relevant lemmy post eg
Title: Any DE or distro without touch support?
Author: https://lemmy.ml/u/tarius
Date: Wed, 15 May 2024 01:24:59 AEST
Feed: Lemmy - linux
Link: https://lemmy.ml/post/15632012
That makes sense - clicking the link takes me to the conversation.
Other entries however, include a link to the subject of the conversation eg
Title: Wayland usage has overtaken X11
Author: https://lemmy.world/u/KISSmyOSFeddit
Date: Tue, 14 May 2024 03:30:46 AEST
Feed: Lemmy - linux
Link: https://lemmy.world/pictrs/image/a71c1b49-fb63-420d-8afc-d40661ffd79c.png
The feed I'm using is https://lemmy.ml/feeds/c/linux.xml
This is unfortunate as clicking the link in my reader (elfeed) does not show the conversation - I rely on the <link> to take me there.
elfeed being built in elisp in emacs, I have been able to concoct a fix especially for lemmy - but it really feels like a bug in lemmy as no other feed needs it. Where can I report it or discuss it?
... more an annoyance really, and not elfeed's fault at all but ...
[first posted on reddit/r/emacs but probably more interesting here]
lemmy RSS feeds (such as "https://lemmy.ml/feeds/c/emacs.xml") often (but not always) have mis-guided "Link:" elements which target an external link, an image file or other material instead of the lemmy post itself. Consequently, hitting 'b' elfeed-search-browse-url may send one on a surprising if not always useful journey.
eg
Title: Keymacs, a program to generate Emacs keybindings | Plain DrOps
Author: https://feddit.de/u/DrOps
Date: Tue, 23 Apr 2024 23:35:25 AEST
Feed: Lemmy - emacs
Tags: emacs, lemmy
Link: https://plaindrops.de/blog/2024/keymacs/
submitted by DrOps to emacs
8 points | 2 comments
https://plaindrops.de/blog/2024/keymacs/
In this case, the link to lemmy itself is in the "2 comments" => https://lemmy.ml/post/14798221
Here's a little hook to fix it up - it also marks the entry with the tag 'lemmy-fixed' ...
(defun elfeed-fix-lemmy-link (entry)
"Fix lemmy.ml RSS feed links in elfeed."
(when-let ((url-base-regexp "https://lemmy\\.ml/")
(feed (elfeed-entry-feed entry))
(feed-url (elfeed-feed-url feed))
((string-match-p (concat url-base-regexp "feeds/c/") feed-url))
(entry-link (elfeed-entry-link entry))
(link-url-regexp (concat url-base-regexp "post/[0-9]+"))
((not (string-match-p link-url-regexp entry-link))))
(when-let ((content (elfeed-deref (elfeed-entry-content entry))))
(let ((lines (split-string content "\n")))
(dolist (line lines)
(when (string-match link-url-regexp line)
(let ((post-link (substring line (match-beginning 0) (match-end 0))))
(setf (elfeed-entry-link entry) post-link)
(elfeed-tag entry 'lemmy-fixed)
(message "Fixed lemmy link in elfeed: %s" post-link)
(cl-return))))))))
(add-hook 'elfeed-new-entry-hook #'elfeed-fix-lemmy-link)
Thanks to u/karthik for getting me started with this. The crappy elisp is mine not his (roast me!)