Kiln — a zero-config, single-binary SSG that renders your vault as-is (canvas, wikilinks, math, graphs, and all)

Hey everyone,

I’ve been working on Kiln, an open-source static site generator built specifically for Obsidian. The idea behind it is simple: if it works in Obsidian, it should work on your website — no rewrites, no workarounds.

Github page

Documentation

What makes it different?

Kiln is a single Go binary. No Node.js, no Ruby, no dependency trees. You download it, point it at your vault, and run two commands:


kiln generate --input ./my-vault --output ./public

kiln serve ./public

That’s it. No config file required to get started.

Parity-first rendering

The core philosophy is what I call “Parity First.” Kiln natively renders the Obsidian features that other SSGs tend to break or skip:

  • Canvases — rendered as interactive, zoomable/pannable diagrams

  • Bases — statically generated from the first view

  • Wikilinks & embeds — full support, no need to convert to standard markdown links

  • Callouts — including collapsible ones

  • LaTeX / MathJax

  • Mermaid diagrams

  • Syntax-highlighted code blocks

Built-in UI & navigation

Out of the box you get a global graph, local graph on each note, file explorer, full-text search, tag browsing, backlinks, table of contents, and client-side navigation powered by HTMX (so pages load instantly without full refreshes).

Theming & customization

There’s a large collection of built-in themes (all with light/dark mode), bundled fonts, accent color control, and multiple layout options — all configurable via flags or a config file. You can even decide the accent color if you want.

SEO handled for you

Meta tags, Open Graph, sitemap.xml, robots.txt, canonical URLs, structured data, and RSS feed are all generated automatically.

Custom Mode

Pass --mode "custom" and you can use your Obsidian vault as a headless CMS — write your own HTML templates, define collections, use environment variables. Essentially you get full control over the output while still writing content in Obsidian. There’s a quick start guide if you want to try building a blog with it. Is still a WIP, but is there.

Other things worth mentioning

Incremental builds, image optimization, i18n support, link previews, and a doctor command that scans your vault for broken links before publishing.

Deploy anywhere — Kiln outputs standard HTML/CSS/JS. There are step-by-step guides for Cloudflare Pages, GitHub Pages, Netlify, Vercel, and traditional web servers.

The project is MIT licensed. You can check out the docs (which are themselves a Kiln site) at [kiln.talesign.com](https://kiln.talesign.com) and the source at github.com/otaleghani/kiln.

Would love to hear your feedback, and happy to answer any questions!

2 Likes

Windows Defender flags kiln_windows_amd64.exe as a threat FYI.

VirusTotal

1 Like

Thanks for flagging this! This is a known issue with unsigned Go binaries — Windows Defender uses a reputation-based system called SmartScreen, so any new executable it hasn’t seen before tends to get flagged as suspicious. The binary is compiled directly from source via GitHub Actions (you can check the workflow in the repo), so it’s a clean go build with no funny business.

If you want to be extra safe, you can build it yourself from source with go install github.com/otaleghani/kiln/cmd/kiln@latest — that way you don’t have to trust the precompiled binary at all.

I’ll look into code signing for future releases to avoid this.

1 Like

Thanks for clarifying!
I was really excited to try out this tool as soon as I read your post, and your explanation’s reassuring.

I reckon I’ll clone and build myself, just to be safe, but I look forward to having a play with kiln!

If I have any further feedback, do you prefer to receive that on this forum post or on the github repo?

1 Like

I’m glad, let me know how it goes!

The repo is better, I’m usually always on github!