Update on the end of the year to-do list

A list of tags for this post.

Not long after writing about the status of Horse Racing Datasets and how, after a couple of weeks of fiddling with a proof of concept, I had decided to transition it to use markdown files instead of Airtable, I decided to give Airtable a proper shot. And in a surprising turn of events figured out how to get it to work.

Surprising because I’m not very good at Javascript, and there aren’t any articles that I could find on using Airtable with Eleventy. I did find a single repository which was the breakthrough moment I needed. I cloned it, played around with it and got my Airtable base to work with it. And thanks to this Github issue and specifically this comment I was able to make some improvements. This was all very exciting!

I learned quite a bit too, and now I have an apples to apples comparison between using markdown and remote data. If I were starting Horse Racing Datasets from scratch I would probably go with markdown to take full advantage of collections in Eleventy, especially considering that Airtable is functioning more like a spreadsheet than a database for this project (and you can always turn a collection into a JSON feed to easily share or back-up the data). Admittedly having beginner level Javascript skills certainly tips it towards markdown, but being able to natively use tags and easily control display order is a huge bonus using markdown.

Since I spent last week working on Airtable instead of design I’m pushing back my self-imposed soft deadline of the end of the year. I think mid-Feburary is more likely to have the site redesign fully implemented. But I’m going to add an article on using Airtable with Eleventy to the end-of-the-year list to make up for it.

I did figure out how to filter on the data, using a combination Nunjucks and markdown files to create tag pages. I also figured how to do an API call to grab a single, random record (because I’m not yet good enough at Javascript to figure out how to grab a random record from the data in the initial API call 🤓). Displaying a random item is another thing that’s a little easier using collections, or at least easier to find helpful resources).

More to come on all this!

A list of tags for this post.

Back to top