finds.dev← search

// the find

JohnSundell/Publish

★ 4,969 · Swift · MIT · updated Jul 2024

A static site generator for Swift developers

Publish is a static site generator where your entire website is a Swift package — content model, theme, and pipeline all defined in Swift code. It's aimed squarely at Swift developers who want type-safe site generation and are comfortable writing code instead of editing YAML files. The author runs swiftbysundell.com on it, which gives it some real-world credibility.

The type-safe metadata model is genuinely useful — your custom fields are structs, not stringly-typed YAML blobs, so a typo is a compile error. The pipeline model (an ordered list of steps, each receiving a mutable context) is clean and composable; you can inject your own steps anywhere without monkey-patching. Plot (the HTML DSL underneath) means your templates are also type-checked Swift, not a separate template language. The plugin system follows the same pattern, so community plugins slot in without magic.

Last meaningful commit was mid-2024 and the repo explicitly disabled GitHub Issues — that combination signals the project is in maintenance-only mode at best. The Foundation theme is openly described as a placeholder; you're writing your own HTML factory from day one, which is a real time investment before you have a working site. There is no incremental build — every publish run regenerates everything, which gets slow on larger sites. Narrowly Swift-only by design, so you're locked out of the entire JS/Rust/Go static site ecosystem and its tooling (image pipelines, bundlers, etc.).

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →