A static site generator written in Swift. Write markdown, run one command, get a fast plain-HTML site you can host anywhere. It started as a blog tool and grew into a general publishing tool — it now drives blogs, portfolios, and multilingual sites.
brew install KristopherGBaker/tap/inkwellOr run from source:
git clone https://github.com/KristopherGBaker/inkwell.git
cd inkwell
swift run inkwell --helpinkwell init # scaffold a new site in the current directory
inkwell post new "Hello World" # create a draft post
inkwell serve --watch # preview locally, rebuilds + live-reloads on save
inkwell build # write the site to docs/
inkwell check # validate content, links, and assets before deployingThat's a working blog. To publish it, the output is a plain static directory — push it to any host, or run inkwell deploy setup github-pages to generate a GitHub Pages workflow.
- Blogs and portfolios. Posts out of the box; add content collections (projects, case studies, updates, …) for portfolio sites, each with its own routes and taxonomies.
- Pages and data files. Standalone pages from
content/pages/, and YAML/JSON indata/available to every template — drives data-driven pages like a résumé. - Two bundled themes.
defaultfor blogs,quietfor portfolios. Override any single template file in your project without copying the whole theme. - Multi-language. Opt-in i18n:
foo.mdplusfoo.ja.mdpairs translations automatically, with sensible URLs, hreflang tags, a language switcher, and graceful fallback. - Markdown that just works. GitHub-flavored markdown, Mermaid diagrams, and code highlighting (client-side by default, build-time Shiki optionally).
- SEO and feeds. Canonical URLs, Open Graph, sitemap, robots.txt, and RSS/Atom/JSON feeds with zero configuration.
- Getting started — a longer walkthrough: collections, pages, data files, analytics
- CLI reference — every command, plus GitHub Pages deployment
- Concepts — project layout, collections, pages, data files, themes
- Building a portfolio — the
quiettheme, case studies, and a data-driven résumé - Multi-language — translations, URLs, and fallback behavior
- Feeds — RSS/Atom/JSON, per-collection and combined feeds
- Code highlighting — enabling build-time Shiki
- Roadmap — what's shipped vs. deferred
- Contributing — building, testing, and releasing Inkwell itself