Inspired by Dave Winer (the father of RSS) I have been “link blogging” for the last three years. My links get posted to links.lon.tv which is powered by the open source tool “Shaarli.”
I chose Shaarli because it’s a very low impact PHP app that can run on my shared webhost. It also provides an RSS feed of my links. From that RSS feed I then push out individual posts to X, BlueSky, Threads, Facebook, Mastodon and a few others too. I use Zapier to automate the process and Buffer to space out my posts so I’m not too “noisy” when I dump a bunch of links into the linkblog.
But I’ve never been happy with the way Shaarli looks.. It’s just blah.. Shaarli does have a neat daily digest output but I wanted to have something that could consolidate multiple days of links on a single page. Enter the “Lon Report!”
Yes this looks a lot like the “Drudge Report” but as far as linkblogs go the Drudge style is the gold standard. Unlike Drudge’s site which is largely edited by hand, mine is totally dynamically generated from the Shaarli RSS feed.
It takes the first link and makes that the main headline, pulling the thumbnail image from the article. Once a new link gets posted the headline position will switch to the new link and the prior headline will become the first link on the left hand column. Each new link pushes everything down. The last link on the third column is the last link in the RSS feed.
I also have it pull thumbnails for the middle links on the left and right hand columns along with the first link in the center column.
When you visit the LonReport you’ll notice that the page loads incredible fast. That’s because it’s running off a single HTML file that gets rendered via a Python script. The images are not stored on my server but pulled from the source.
I initially tried to have it all run in PHP but it was pretty sluggish and I didn’t want to add the complexity of coding in a caching system. So instead I have a script that runs on my Synology NAS every 15 minutes and uploads the HTML file to my web host.
The craziest part? The Python code was whipped up in an afternoon via Google’s Gemini Advance. It actually worked on the first execution! Google’s AI is very good at coding and it was pretty amazing to see how quickly this thing came together. Even more amazing is that I gave it a screenshot of the Drudge report and asked it to build the site around that image.
I don’t plan to spend much time on this but I finally have a linkblog that I’m happy with (for now). I’ll probably tweak things every so often so stay tuned!