Skip to content

aureliushq/ink

Repository files navigation

Ink

Ink is yet another static site generator, cuz what's one more. Write content in markdown, bring your own HTML+CSS templates, deploy anywhere. Supports CommonMark and GFM. Comes with syntax highlighting, footnotes and margin notes, and more out-of-the-box.

Features

  • Markdown content
  • TOML/YAML frontmatter
  • Bring your own templates
  • Built-in themes
  • Collections
  • Drafts
  • Local dev server
  • Single dependency-free binary
  • CI-friendly
  • Series
  • Tags
  • Syntax highlighting
  • Footnotes and margin notes
  • Live reload
  • RSS feed
  • SEO meta tags
  • Open Graph & Twitter cards
  • Sitemap
  • robots.txt
  • Structured data

Installation

Install script (Linux / macOS)

curl -fsSL https://raw.githubusercontent.com/aureliushq/ink/main/install.sh | sh

Install a specific version or change the install directory with environment variables:

INK_VERSION=v1.2.3 INK_INSTALL="$HOME/.local/bin" \
  curl -fsSL https://raw.githubusercontent.com/aureliushq/ink/main/install.sh | sh

Prebuilt binaries

Download the binary for your platform from the releases page, then make it executable and put it on your PATH:

chmod +x ink_*_linux_amd64
mv ink_*_linux_amd64 /usr/local/bin/ink

On Windows, download the .exe and place it somewhere on your PATH.

Go install

go install github.com/aureliushq/ink@latest

Usage

Build a site

Run from your site's root directory (where ink.toml lives):

ink build

This reads content/, applies your templates, and writes the static site to the output directory (public/ by default).

Serve locally (live reload coming soon)

ink serve

Serves the site at http://localhost:8782. Override the host and port:

ink serve --host 0.0.0.0 --port 3000

Version

ink version      # version, commit, and build date
ink --version    # short version line (also: ink -v)

GitHub Action

Build your site in CI with a single step. The action downloads the prebuilt binary for the runner and runs ink build from your repo root.

- uses: aureliushq/ink@v1
  with:
    version: latest # release tag (e.g. v1.2.3) or "latest"
    method: binary # "binary" (default) or "go-install"
    args: "" # extra args passed to `ink build`
    working-directory: . # site root

See RELEASE.md for the release and distribution details.

Documentation

See DOCUMENTATION.md for the full guide on configuring Ink, writing content, collections, series, themes/templates, and deployment.

About

Yet another static site generator but I'm building it anyway to get better at Go.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors