Hakyll

Haskell SSG. Pandoc-powered, programmable rules engine, niche.

VISIT HAKYLL

Key takeaway: The audience is Haskell developers building their own site, and for them the appeal is honest: the site is a program, not a config file. For everyone else the toolchain cost is out of proportion to the output. If you want Pandoc's document conversion without learning Haskell, Quarto gets you most of the same power with far less setup.

Quick facts

  • LanguageHaskell
  • CategoryHaskell
  • LicenseBSD-3-Clause
  • Created2010
  • GitHub stars2.7k
  • Statusactive

Templating: Custom (Hakyll templates) Markdown reStructuredText

What it is

Hakyll is a Haskell SSG. Programmable build rules, Pandoc-powered conversion, strongly typed. Niche but loved by the Haskell community for personal sites.

Best for

  • Haskell developers writing personal sites
  • Sites that benefit from Pandoc's document conversion

When not to pick it

For non-Haskell teams the toolchain cost is significant. Pick a JS or Go SSG instead.

My take

A statement piece for Haskell developers. Outside that audience, you are paying the Haskell tax for a static site.

A build system you program rather than configure

Hakyll is a library, not an application. You write a Haskell program that declares rules: match these files, run them through these compilers, route the output there. Because the rules are ordinary code, you can express pipelines that would need a custom plugin anywhere else, and the compiler catches whole classes of mistake before a build ever runs. Pandoc sits underneath, so Markdown, reStructuredText, LaTeX, and a long tail of other formats come in for free, along with citations, bibliographies, and mathematics that render properly rather than approximately. A dependency-tracking store keeps incremental rebuilds honest, so only what changed gets redone. For an academic writing a personal site with heavy notation and a bespoke publishing workflow, this is a well-fitted tool rather than a novelty, and the type system genuinely earns its keep.

The toolchain tax is the whole objection

You need GHC and either Stack or Cabal installed, a first build that compiles your site generator before it generates anything, and patience for Haskell dependency resolution when a package bound needs relaxing. That is a slow first hour and an occasional slow afternoon later on. There is no theme ecosystem, so the design is yours from scratch, and there is no editing interface, which rules out any workflow involving a non-technical author. CI is heavier than a single-binary generator because you are compiling a program before you build a site. Compare honestly: Quarto gives you Pandoc and executable code without the compiler, and Eleventy or Hugo give you a working blog in an afternoon. Hakyll wins when writing the site in Haskell is itself part of the point, which is a legitimate reason but not a professional one.

Frequently asked questions

Do I need to know Haskell to use Hakyll?

Yes. The site configuration is a Haskell program, and any customisation beyond the starter template means reading and writing real Haskell, including monadic code. There is no configuration-file escape hatch. If you are not already comfortable in the language, the learning curve will dominate the entire project.

Hakyll or Quarto for academic writing?

Quarto for almost everyone. Both sit on Pandoc, so citations, cross-references, and mathematics work well in each, but Quarto adds executable code blocks, multiple output formats including books and PDF, and needs no Haskell toolchain. Choose Hakyll only if you already write Haskell and want programmable build rules.

Is Hakyll suitable for a company website?

Rarely. There is no editor interface for content authors, no theme ecosystem, and a hiring pool small enough that maintenance depends on whoever built it. For a company site, a generator paired with a Git-backed CMS layer or a hosted headless CMS will serve the team far better than a Haskell build program.

Links

Similar tools you should also consider

If Hakyll is your pick, the next conversation is short

The 30-min call is where your project gets a real architecture, an SEO transport plan, and a price range you can take to your team. Describe your site, your timeline, your existing content. I tell you whether Hakyll is genuinely the right call for you, and what the build actually looks like.