Looking back at four years of Saga

I started building Saga, my own static site generator written in Swift, four years ago. Let’s look at the state of the project.

Saga 1.0.0 has been released

About ten months ago I wrote that I was confident that the API of Saga wasn't going to change a lot anymore, and that I'd release 1.0.0. Well, it's taken a little bit longer than I expected back then, but 1.0.0 has finally been released!

A review of Markdown parsers for Swift

A hugely important part of any static site generator is of course the parsing of Markdown content. The default parser for Saga is Parsley, a custom wrapper around a cmark fork. While I am generally quite happy with it, there are some problems.

Building my own static site generator, part 7: updates & the road to 1.0.0

In the past few days I’ve made some pretty substantial improvements to Saga, to make it work for me and my website, which is now built using Saga.

Building my own static site generator, part 6: replacing SwiftMarkdown

I've already replaced my own SwiftMarkdown package...

Building my own static site generator, part 5: replacing Ink and Splash

I've replaced the Ink and Splash dependencies with my own SwiftMarkdown package.

Building my own static site generator, part 4: a complete redesign

An unexpectedly quick fourth article about Saga, after a complete redesign of the API.

Building my own static site generator, part 3: thoughts so far

In the third and final part of this series about Saga I'm looking at the pros and cons of the current system and what I might want to change.

Building my own static site generator, part 2: API design

Part 2, where I'm looking back at the current API of Saga.

Building my own static site generator, part 1: inspiration & goals

In part 1 of a series of articles I'm looking at the inspiration behind my static site generator Saga, now available on Github.

Swift generics and arrays

I’m in the very early stages of building my own static site generator in Swift. I want the library to provide a basic Page type, that the user can then extend with custom metadata, and I need to be able to put Pages with different kinds of metadata...