Ink
Purpose-built static site generator. Write your content in Markdown, bring your own templates, and deploy anywhere.
$curl -fsSL
https://raw.githubusercontent.com/aureliushq/ink/main/install.sh |
sh
01 · Features
Everything a content site needs, nothing it doesn't.
- 1 Markdown contentWrite content in Markdown. Both CommonMark and GitHub-flavored Markdown are supported. Raw HTML passes through untouched.
- 2 Bring your own templatesA theme is just base, index, page, list, and single. Override any one or all by dropping a same-named file into a layouts folder — no forking the theme.
- 3 Built-in themesInk ships with a few themes. Content is all you need for a presentable site. Reach for your own HTML and CSS only when you want to.
- 4 CollectionsRegister a folder as a collection and its index page automatically receives every page inside it to list. Glob patterns scale the same idea to many folders at once. For blog posts, docs, etc.
- 5 SeriesGroup posts into a series with a shared id and an order. Ink generates the per-series index and the index of all series for you.
- 6 DraftsMark a page as a draft and it stays out of the build until you flip drafts on. Nothing half-finished leaks to production.
- 7 CI-friendlyA bundled GitHub Action fetches the release binary and runs the build from your repo root, so publishing on every push is a single line of YAML.
- 8 Host anywhereThe output is just HTML, CSS, and assets — no server, no runtime. Ship it to GitHub Pages, Netlify, Cloudflare Pages, S3, or your own box.
02 · Usage
Up and running in under a minute.
Free and open source. One dependency-free binary — no account, no
build service. Only an ink.toml and a content directory
are ever required.
-
Install the binary
Linux and macOS.
$ curl -fsSL https://raw.githubusercontent.com/aureliushq/ink/main/install.sh | shOr run
go install github.com/aureliushq/ink@latest, or download a prebuilt binary for your platform from the releases page. -
Add a config file
Create an
ink.tomlat the root. No template needed to start — the built-in default theme renders a presentable site on its own. More themes, coming soon.[site] title = "My Site" subtitle = "A short tagline" base_url = "https://example.com" author = "Your Name" [theme] name = "default" [build] collections = ["articles", "projects/*"] content = "content" output = "public" drafts = false
-
Add content
Drop Markdown files into
content/. A frontmatter block at the top of each file carries the title, description, tags, draft status, and series position — no sidecar files, no database.--- title: My First Post description: A short summary used in listings and meta. tags: - go - tutorial status: published created_at: 2025-01-06 updated_at: 2025-01-06 published_at: 2025-01-06 series_id: build-your-own-redis series_order: 1 --- Your Markdown content goes here.
-
Build and preview
ink buildwrites the static site topublic/.ink servepreviews it locally athttp://localhost:8782.$ ink build ✓ read content/ 14 pages, 2 drafts skipped ✓ rendered → public/ ✓ assets copied static/ ✓ tailwind compiled static/main.css built in 84ms $ ink serve serving public/ on http://localhost:8782
The demo/ directory in the repo is a complete working
example — or read the
full documentation.