Been swamped throughout the week with other stuff.
So, not too much desk time.

Goal

  • Taking it slow today and trying to get back into a work groove.
  • Get Bertuccio to work with Linier’s feed.

2025-01-17 10:33

  • Planned the day
  • Doing my French lessons now, since I’ve had a really slow start to today; I even burnt the veggies, I was boiling for my soup
  • Random thought, I should put quotes in my daily summaries
  • I now call my Hugo / Forgejo, rube goldberg, ci/cd experiment a grand success!
  • Ok, now to really go learn some French
  • Coffee Break
  • Wrote a blog post

2025-01-17 12:51

  • Client Meeting
  • In the meanwhile, revamped the name of all four Emby servers on the home network, so that I am no longer confused :)
  • Updated Forgejo on the private code server to v10.
  • 16:00, Client call done

2025-01-17 17:05

  • Going to try getting the latest Liniers comic for myself as an RSS feed
  • Was checking to see, if I could run a Python script inside my Huginn container. No dice.
  • 20:06, Break for dinner. I know I’m running long, but have made loads of progress. Be back to finish this tonight itself

2025-01-17 20:42

  • Back, let’s see if I can see this through
  • Anita Baker’s crooning, Plenty of Room, in my ears
  • 21:44, It’s finally done!

2025-01-17 21:44

  • What I finally need to do
    • I used Huginn’s xpath selectors in its Website agent to extract an image url as well as the canonical url for the post.
      The image was part of a source set. I learnt that xpath has functions which I used to select the first image from the list. "substring-before(substring-after(., 'url='), '&')"
      The post url, I just used xpath to search for the first canonical link and give it me. //link[@rel='canonical']/@href
    • While I got my paws on both urls, the image url was escaped, "https%3A%2F%2F …
      I used Liquid’s url_decode function in the next step (in a event formatting agent) to decode the image url string into a proper url. The Post URL was ok, so I just passed it through as is
    • My first thought was to pass the image as an enclosure element, but it didn’t quite do the trick for me. The image did not render directly in Reeder, while in Miniflux, it showed me an enclosure link, which then in turn showed me the image. No dice. My old method was as good then.
    • I went and looked up the RSS feeds of a couple of other sites I had subscribed to and then I saw it!
    • What they were doing was far simpler. They just put in the image link in the description of the feed in a figure element nested inside a div. So I tried apeing that approach and what do you know?! As soon as I opened the latest feed item in Reeder, the image loaded right up.
  • This was an tiny thorn that was long overdue for plucking.
  • This was fun, ranging over xpath, liquid templating and the rss spec, all to make an image show up in my RSS feed.

2025-01-17 22:07

  • Planning tomorrow. Then off to bed.
  • As usual, a couple of things are undone. Will schedule them over the coming days.


Feedback on this post?
Mail me at feedback at this domain.

P.S. Subscribe to my mailing list!
Forward these posts and letters to your friends and get them to subscribe!
P.P.S. Feed my insatiable reading habit.



  1. something, I’ve intentionally kept manual, so I can switch Hugo versions at will. ↩︎