taragen data({ title: "taragen", description: "Taragen is a fast, minimal static site generator in a single binary. Write pages in JSX, Markdown or Go templates; the folder is the configuration.", });
Taragen is a fast, minimal static site generator in a single binary. Write pages in JSX, Markdown or Go templates, arrange them in folders, and taragen turns the folder into a site. No config file, no Node.js, no node_modules.
{raw(`$ brew tap progrium/homebrew-taps
$ brew install taragen
$ taragen serve # http://localhost:8088, live reload`)}
{raw(`mysite/
_layout.jsx frame for every page
index.jsx → /
about.md → /about
blog/
hello.md → /blog/hello
feed.xml.jsx → /blog/feed.xml
[tag].jsx → /blog/go, /blog/plan9 …
_outputs/
txt.jsx → /about.txt, /blog/hello.txt …`)}
Every file is a page and every folder is a section. Underscored files are the machinery: layouts wrap pages, partials are components, and outputs add a .txt or a share card beside each page.
JSX runs in a JavaScript engine inside the binary and renders to plain HTML. Nothing is shipped to the browser.
Markdown for writing, JSX for pages with logic, Go templates if you like them, all in one site.
Layouts and partials in JSX, rendered to HTML at build time.
taragen serve notices every change and refreshes the browser for you.
Install it and you're done. Nothing to npm install, nothing to keep updated.