Colophon

Just how exactly is this site built?

In a gist, it's static web site built with .NET and hosted on Azure.

Static Site Generator

I built the generator for this website myself. It's a .NET 6 console application built with F#. The application depends on a few libraries:

Tooling

The main tool for developing the static site generator as well as to author posts is Visual Studio Code. It gives me the flexibility of a lightweight text editor for authoring with rich features like built-in markdown preview. At the same time, I can use the debugger and the Ionide extension for writing and debugging F# code.

In cases when I want to quickly make updates, mainly to articles, I use github.dev. I get the same Visual Studio Code editing environment in the browser. Therefore I can author and update content from anywhere.

Publishing

Although I can manually run the console application to generate the site, I have automated the publishing process using GitHub actions.

The GitHub action performs the following steps.

Hosting

Code

The code for this website is hosted on GitHub. You can find the source code in the lqdev/luisquintanilla.me repository. Having version control for both authored content as well as the static site generator makes it easy to safely apply new changes as well as roll back changes in case something breaks.

Application

The code is hosted on Azure. Specifically I use Azure Static Web Apps. That service is built on Azure Blob Storage which hosts the static files generated by the static site generator. In addition, I use Azure CDN to distribute my site.

Syndication

The main form of syndication for content on this site is RSS. I have several feeds that are generally organized based on the type of content. The RSS files are generated as part of the build process by the static site generator.

An additional syndication practice I follow for this site is Publish (on your) Own Site, Syndicate Everywhere (POSSE). I try to have my site be the single source of truth and home for my content. From there, I can share with other applications and services. I use Azure Logic Apps for my main feed to automate syndication to Twitter and Mastodon. The Azure Logic App constantly polls the main feed's RSS for new changes. Then, it posts them on Twitter and Mastodon.