# RSS feed fixed

> I knew if I waited long enough Astro would do the heavy lifting for me.

> 28/31 daily posts as part of [WeblogPoMo2024](https://weblog.anniegreens.lol/weblog-posting-month-2024). Expect (and forgive) more words and less editing.

I am over the moon to announce that this site's RSS feed is now a first-class, fully-featured, all-singing-all-dancing full-text rich-image over-hyphenated feed!

This hasn't been the case, as those of you who follow the feed will know. I use [Astro](https://astro.build) to create this site, and where I need to do something a little special – my images, little blocks of JD content, and so on – I write Astro 'components'.

They're little bits of JavaScript that get built to the final HTML that you see. This is one of the reasons I love Astro[^staticsite] – I can use JavaScript to put it together, but you only get served static HTML.

That's why this page only uses about 500KB of data.[^firstload] Compare that with Australia's [Big W](https://bigw.com.au) which loads a whopping _9MB:_ 18x the size!

_But,_ these Astro components didn't render nicely to the RSS feed. I tried to catch most of the jankiness and replace it with a little apology and a link to the reason why, but a) that's still janky, and b) some slipped through.

I hated this. But fixing it myself was implausibly difficult and time consuming. And I knew that if I waited long enough the good folks at Astro would fix it for me (and the thousands others all clamouring for the same solution).

## Astro 4.9's Container API

With [Astro 4.9](https://astro.build/blog/astro-490/), there's now an experimental feature that fixes the issue. Thanks to [delucis](https://github.com/delucis/astro-blog-full-text-rss) on GitHub, after some tweaking of [their file](https://github.com/delucis/astro-blog-full-text-rss/blob/latest/src/pages/rss.xml.ts) to suit my site, the feed looks much better.

Images load inline. Footnotes render. And my own components at least _display,_ even if they don't look perfect. It's good enough for now.

[^staticsite]: Which is but one of a handful of '[static site generators](https://en.wikipedia.org/wiki/Static_site_generator)' that have come about in the last few years. [11ty](https://www.11ty.dev) is another that I have my eye on.

[^firstload]: On first load. Caching brings subsequent page loads down to about 50KB, depending on the page. That's very tiny indeed. :-)

### This is all free

It's worth noting that Astro is entirely free. For this, I am very grateful.

## It _shouldn't_ break your feed

I've tested it, all GUIDs and slugs remain the same, and for me, it's seamless. You shouldn't see a bunch of old stuff suddenly re-appear, or become marked as unread, or whatever.

But, y'know, something will inevitably break for someone. If that's you, I'm sorry.

## Prove it works

If you insist.

<JDImage
  alt="A photo of our three chickens, in a bush."
  folder="blog"
  src="0059-Ladies_in_a_bush-840x577.jpg"
  width={840}
  height={577}
  noInvert
/>

---

# What's RSS?

If you don't know what RSS is, [this page](https://aboutfeeds.com) is a great introduction.