Introducing hugo-planet The article describes the author's creation of a Hugo-based "planet" aggregator after migrating from WordPress, as existing planet software was outdated or difficult to implement. Using Anthropic's Claude Sonnet 3.5, the author built a Python script in 45 minutes that extracts the latest posts from multiple RSS feeds and outputs them as a markdown file for Hugo. The resulting page displays recent posts from the author's four blogs in a table format, styled to match the rest of the website. Months after migrating from Wordpress to Hugo, I’m still pretty happy about the switch. Whenever I read about a new Wordpress plugin vulnerability I don’t have to worry, and my pages load really fast. One function I was missing was the ability to create a “planet”. In the Before Times, back when people mainly communicated through blogs, a planet was a page that aggregated posts, usually about a single topic, from various blogs. It was an easy way to group posts together, and this blog was part of a number of planets: one for our open source project, one for our local Linux users group, etc. Planets have gone out of fashion, but I wanted to create one to group together my four blogs. There is this blog, which I consider my “professional” blog. There is my personal blog, a blog about cocktails and a blog about my “toy” car. For those of my three readers who don’t use RSS or a feed aggregator, a planet will provide a single page they can check to see what I have written recently. When I hosted this blog on Wordpress I used a plugin called PlanetPlanet. That was also the name of the website for the original planet software, but that software was most recently updated 24 years ago in 2006 and the site no longer exists. I figured it would be an easy job to find a current planet software project and I would use it to create my page. Then the hard work would be to skin it to match my website. Turns out the hard work was trying to find planet software that I could get to work. This is a long enough post without going over all of the projects I tried, but I spent an hour or so of my spare time over several days trying to get an existing planet to work. Since I work at AWS and I have access to amazing Generative AI tools, I finally just said “enough, I’ll create my own”. It took about 45 minutes. The model I chose was Anthropic’s Claude Sonnet 3.5. Why? It was the default that popped up. grin The first thing I did was look at the output from my RSS feed reader. It is XML that looks like this: