Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
I

ink

> 编程语言
Open source

An elegant static blog generator

1.1K stars0 likes0 views
WebsiteGitHub

About

An elegant static blog generator

Introduction

InkPaper is a static blog generator developed in Golang. No dependencies, cross platform, easy to use, fast building times and an elegant theme.

Features

  • YAML format configuration
  • Markdown format articles
  • No dependencies, cross platform
  • Super fast build times
  • Continuously improving theme and typography
  • Multiple article authors support
  • Archive and tag generation
  • Real-time preview when saving
  • Offline full-text keyword search
  • $\LaTeX$ style math formula support (MathJax):

$$ \int_{-\infty}^\infty g(x) dx = \frac{1}{2\pi i} \oint_{\gamma} \frac{f(z)}{z-g(x)} dz $$

Quick Start

  • Download & Extract Ink and run ink preview

    Tip:Linux/macOS, use ./ink preview

  • Open http://localhost:8000 in your browser to preview

Website Configuration

Edit config.yml, use this format:

…

Blog Writing

Create a .md file in the source directory (Supports subdirectories). Use this format:

…

Publish

  • Run ink publish in the blog directory to automatically build and publish
  • Or run ink build to manually deploy generated public directory

Tips: When files changed, ink preview will automatically rebuild the blog. Refresh browser to update.

Customization

Modifying The Theme

The default theme is placed in the theme folder, run npm install and npm run build to rebuild in this folder.

page page.html (article list) and article.html (article), use variable with Golang Template syntax.

New Page

Created any .html file will be copied to source directory, could use all variables on site field in config.yml.

Define Custom Variables

InkPaper supports defining custom variables in pages, which must be placed under site.config in config.yaml, such as:

site:
    config:
        MyVar: "Hello World"

The variable can be referenced in the page by {{.Site.Config.MyVar}}.

Note

Although the field names in other parts of config.yaml are all lowercase, the name of the custom variable must be used correctly. Otherwises, such a variable:

site:
    config:
        MYVAR_aAa: "Hello World"

must be referenced in the page as {{.Site.Config.MYVAR_aAa}}.

Use Functions (Experimental)

InkPaper defines a minimal set of functions that can be used in HTML pages (except for .md source files), such as

{{ readFile "path/to/file" }}

This will read the content of the file path/to/file and include it in the page without any processing.

For file-related functions, when executed in the source directory, the file path is relative to the source directory; when executed in other directories, the file path is relative to the theme (such as theme).

See the source file funcs.go for a list of all functions.

Blog Migration (Beta)

Supports simple Jeklly/Hexo post convertions. Usage:

ink convert /path/_posts

Building from source

Local Build

  1. Install Golang environment
  2. Run git clone https://github.com/InkProject/ink && cd ink && go install to compile and install ink
  3. Run ink preview $GOPATH/src/github.com/InkProject/ink/template to preview blog

Docker Build (Example)

  1. Clone code git clone [email protected]:InkProject/ink.git
  2. Build image docker build -t ink . in source directory
  3. Run container docker run -p 8888:80 ink

Theme

  • Dark (Official Theme): https://github.com/InkProject/ink-theme-dark
  • Simple: https://github.com/myiq/ink-simple
  • Story: https://github.com/akkuman/ink-theme-story
  • Material2: https://github.com/w568w/InkMaterialTheme

Related Tutorials

  • Automatically deploy your Ink blog to GitHub pages with Travis CI

License

CC Attribution-NonCommercial License 4.0

Reporting An Issue

https://github.com/InkProject/ink/issues

These blogs are driven by InkPaper

  • https://imeoer.github.io/blog/
  • http://blog.hyper.sh/
  • http://wangxu.me/
  • http://whzecomjm.com/
  • http://www.shery.me/blog/

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Goblog-enginegolangjavascriptstatic-site-generator

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言