gor -- Golang 编写的静态博客引擎

jopen 10年前

gor是使用 Go 实现的类 Ruhoh 静态博客引擎(Ruhoh like),基本兼容 ruhoh 1.x 规范。相当于与 ruhoh 的官方实现( ruby 实现),有以下优点:

  1. 速度完胜 -- 编译 wendal.net 近200篇博客,仅需要1秒
  2. 安装简单 -- 得益于 golang 的特性,编译后仅一个可运行程序,无依赖

Installation 安装

To install:

go get -u github.com/wendal/gor  go install github.com/wendal/gor/gor

在 Mac下使用 brew 的用户

如果是通过 brew 来安装go,并且没有设置$GOROOT跟$GOPATH的话,请使用如下命令(路径请更改为自己对应的 golang 的版本信息)

ln -s /usr/local/Cellar/go/1.0.3/bin/gor /usr/local/bin

或者你可以从 Googe Code 直接下载编译好的gor

Quick Start 快速入门

新建站点

gor new example.com  # 执行完毕后, 会生成example.com文件夹,包含基本素材及演示文章

新建单篇博客

cd example.com  gor post "goodday" [dir/to/img/files]  # 即可生成 post/goodday.md文件,打开你的markdown编辑器即可编写

如果输入可选参数dir/to/img/files,gor 会从该目录拷贝图片文件到配置的目录,同时在goodday.md中自动插入对应的<img>标签。

基本配置

打开站点根目录下的site.yml文件

  1. 填入 title,作者等信息
  2. 填入邮箱等信息

打开站点根目录下的 config.yml 文件

  1. production_url:为你的网站地址,例如http://wendal.net最后面不需要加入/,生成rss.xml等文件时会用到
  2. summary_lines:首页的文章摘要的长度,按你喜欢的呗
  3. latest:首页显示多少文章
  4. imgs:自动插入<img>的相关配置
    • imgtag:要插入的 标签的基本格式,%s部分会被自动替换为urlperfix/post_name/img_file_name的格式
    • urlperfix:图片地址前缀
    • localdir:图片文件在博客内的本地存放目录

打开widgets目录, 可以看到基本的挂件,里面有config.yml配置文件

  1. analytics:暂时只支持google analytics,填入tracking_id
  2. comments:暂时只支持disqus,请填入short_name
  3. google_prettify:代码高亮,一般不修改

编译生成静态网页

gor compile  # 瞬间完成,生成 compiled 文件夹,包含站点所有资源

本地预览

gor http  # 打开你的浏览器,访问 http://127.0.0.1:8080

部署

你可以使用github pages等服务,或者放到你的自己的vps下,因为是纯静态文件,不需要php/mysql/java等环境的支持。

项目主页:http://www.open-open.com/lib/view/home/1419827669218