纸小墨(InkPaper)是一个GO语言编写的开源静态博客构建工具,可以快速搭建博客网站。它无依赖跨平台,配置简单构建快速,注重简洁易用与更优雅的排版。
ink preview
。 http://localhost:8000
预览。 编辑 config.yml
,使用如下格式:
site: title: 网站标题 subtitle: 网站子标题 limit: 每页可显示的文章数目 theme: 网站主题目录 comment: 评论插件变量(默认为Disqus账户名) root: 网站根路径 #可选 lang: 网站语言 #支持en, zh, ru, ja,可在theme/config.yml配置 url: 网站链接 #用于RSS生成 link: 文章链接形式 #默认为{title}.html,支持{year},{month},{day},{title}变量 authors: 作者ID: name: 作者名称 intro: 作者简介 avatar: 作者头像路径 build: port: 预览端口 copy: - 构建时将会复制的目录/文件 publish: | ink publish 命令将会执行的脚本
在 source
目录中建立任意 .md
文件(可置于子文件夹),使用如下格式:
title: 文章标题 date: 年-月-日 时:分:秒 #创建时间,可加时区如" +0800" update: 年-月-日 时:分:秒 #更新时间,可选,可加时区如" +0800" author: 作者ID cover: 题图链接 #可选 draft: false #草稿,可选 top: false #置顶文章,可选 preview: 文章预览,也可在正文中使用<!--more-->分割 #可选 tags: #可选 - 标签1 - 标签2 --- Markdown格式的正文
ink publish
命令自动构建博客并发布。 ink build
命令将生成的 public
目录下的内容手动部署。 Tips: 在使用 ink preview
命令时,编辑保存文件后,博客会自动重新构建并刷新浏览器页面。
默认主题在 theme
目录下,修改源代码后在该目录下运行 npm install
与 webpack
重新构建。
页面包含 page.html
(文章列表)及 article.html
(文章)等,所有页面均支持 GO语言HTML模板 语法,可引用变量。
在 source
目录下创建的任意 .html
文件将被复制,这些文件中可引用 config.yml
中site字段下的所有变量。
纸小墨提供简单的Jeklly/Hexo博客文章格式转换,使用命令:
ink convert /path/_posts
本地运行
go get github.com/InkProject/ink
,编译并获取ink。 ink preview $GOPATH/src/github.com/InkProject/ink/template
,预览博客。 Docker构建(示例)
git clone git@github.com:InkProject/ink.git
。 docker build -t ink .
。 docker run -p 8000:80 ink
。 纸小墨基于 CC Attribution-NonCommercial License 4.0 协议,目前为止它仍然是个非成熟的开源项目,非常欢迎任何人的任何贡献。如有问题可报告至 https://github.com/InkProject/ink/issues 。