Testing Live Content Collections in Astro V6

Yesterday, Astro V6 formally launched. I say "formally" as it’s been available to test for a little while, but with me still being pretty new to Astro I’ve kept to the main release only. Now that V6 is the default, I thought it was time to dig into it a bit. One feature in particular stood out as being really useful to me – live content collections. One of the reasons I’ve been digging Astro so much is that it nicely straddles the SSG world and Node.js server worlds. When building your app, you can make logical decisions about what should be done at build time versus what should be done dynamically. It’s like having Express and Eleventy rolled into one... more →
Posted in: JavaScript

Using Astro for a Combined RSS View and Generator

Ok, before I start, let me just clarify this demo is kind of a remix of my earlier post about building an RSS aggregator in Astro. I did run into some interesting issues this time around though and I figured it was worth a share. At Webflow, our developer docs are separated into different sections per product. For most of our developer products, we’ve got changelogs. So for example, here’s the changelog for our Data APIs and here’s one for our MCP server. We try to be good stewards of our developer community and ensure we document everything as clearly as possible. Each of our changelogs has an RSS feed as well so if you’re using a feed reader, it’s an easy to keep... more →
Posted in: JavaScript

I threw thousands of files at Astro and you won’t believe what happened next…

Ok, forgive me for the incredibly over the top title there. Yes, it’s clickbait, but I’m also tired after a very long week and feeling a little crazy, so just go with me here a bit, I promise it will be worth it. I was curious how well Astro could handle a large amount of data and I thought – what happens if I threw this blog (well, the Markdown files) at it and tried to render out a site? Here’s what I did wrong and what eventually worked (better than I expected). Round One I began by creating a soft link locally from my blog’s repo of posts to the src/pages/posts of a new Astro site. My blog currently has 6742 posts (all high quality I assure you). Each one looks... more →
Posted in: JavaScript

Building an RSS Aggregator with Astro

This weekend I had some fun building a little Astro site for RSS aggregation. It works by the individual user defining a set of feeds they care about and works with a server-side Astro route to handle getting and parsing the feeds. Here’s a quick example. On hitting the site, it notices you haven’t defined any feeds and prompts you to do so: Clicking "Manage Feeds" opens up a dialog (my first time using one with native web platform tech!) where you can add and delete RSS feeds: After you have some specified, the app then calls server-side to fetch and parse the feeds. Items are mixed together and returned sorted by date: Not too shabby looking, either. That’s... more →
Posted in: JavaScript

Turning Recipe Data into an Astro Content Collection

As I continue to dig into, and learn, Astro, I thought I’d take a look at creating custom content collections. Content collections are pretty much exactly how they sound – collection of content items you can use within your Astro site. If you go through the excellent Astro tutorial you will find this discussed at the end in the final optional step step. Content collections aren’t required – you can build dynamic sets of data just using file system operations (and that’s how the tutorial has you build the blog) – but they make it easier (imo) to re-use content throughout the site. I encourage you to check out the docs, but generally content collections come... more →
Posted in: JavaScript

An Astro site for my CSS Snippets

As I think I’ve mentioned a few times already, I’m learning Astro and attempting to build random stuff with it just as an excuse to help practice and learn. With that in mind, during the Christmas break and between marathon sessions of Baldur’s Gate 3, I built a little site I thought I’d share here on the blog. To be clear, this is nothing special, and doesn’t come close to using all of the possible Astro features of course, but it was a useful coding exercise for myself and fun to build. The web platform as a whole has gotten dramatically better over the past decade, and CSS improvements are a big part of that. There is a huge amount of new CSS features I’m... more →
Posted in: JavaScript