基于Git的维基管理:gollum

在旧文如何高效利用Github中,曾介绍过gollum。可惜,很多朋友没有理解这一工具的强大之处,使用流程不对,思维仍然停留在Github诞生之前的时代。

就像Zotero一样,明明是非常强大的知识管理工具,但是因为错误使用流程,没有享受到其优点。借昨晚重新搭建Wiki过程,介绍一下gollum的最佳使用流程。

前提

假设你已阅读过理想的写作环境:Git+Github+Markdown+Jekyll一文,熟悉相关知识,并且已经成功在Github上搭建了一个个人博客。比如,我的博客的Git地址是:

git@github.com:ouyangzhiping/ouyangzhiping.github.com.git

请记得改成你的相应地址。

开通Wiki

登陆Github,找到你所开通的Github项目的Settings栏目,开通Wikis,如果只希望别人可读不可写,勾选:Restrict edits to Collaborators only。如下图所示:

Github Wiki

关键步骤

关键步骤来了!很多没有将gollum强大之处发挥出来的朋友卡在这一步。

打开命令提示符,git clone下相应维基的git地址,请格外注意,地址是在你的个人博客的git地址之前加上wiki

cd ~/dev/learn
git clone git@github.com:ouyangzhiping/ouyangzhiping.github.com.wiki.git wiki

clone成功之后,进入wiki相应目录,上述Git Clone的网址也可以在开通Wiki之后的Git Access栏目查看。

cd wiki

新建Gemfile文件,内容如下:

source "http://rubygems.org"
gem 'redcarpet'
gem "grit", '~> 2.5.0', git: 'https://github.com/gitlabhq/grit.git', ref: '42297cdcee16284d2e4eff23d41377f52fc28b9d'
gem 'gollum',git: 'https://github.com/gollum/gollum.git'

运行:

bundle install 

即已安装成功gollum等。然后运行:

gollum

就可以在本地启动成功维基。打开网址:http://0.0.0.0:4567/,如下图所示:

Gollum

云端备份

现在,可以在wiki目录下面,像任何一个git库操作一样,正常提交本地对维基内容的修改。一切将自动保存在你的Github上的个人博客网站的wiki目录下面。如:

cd ~/dev/learn/wiki
git add .
git commit -am"维基的一些变更“
git push

配置随机启动

安装pow之后,即可配置随机启动。在根目录下创建config.ru文件,填入以下内容:

#!/usr/bin/ruby
require 'rubygems'
require 'gollum/app'
 
gollum_path = '/Users/ouyang/dev/github/ouyang/wiki'
 
disable :run
 
configure :development, :staging, :production do
 set :raise_errors, true
 set :show_exceptions, true
 set :dump_errors, true
 set :clean_trace, true
end
 
$path = gollum_path
Precious::App.set(:gollum_path, gollum_path)
Precious::App.set(:wiki_options, {})
run Precious::App

请记住,将gollum_path 改为你的wiki所在目录。更多配置参见:gist5693143

然后使用pow链接到该wiki目录。就可以使用类似于wiki.dev网址打开维基。

优势

这么写维基的好处是什么呢?

  • 一切变更,都有git来保存内容与版本更迭,不再担心写废;
  • 对于不熟悉Git、Github的Windows用户来说,可以直接登陆Github,在线编辑维基;
  • 一切都是开源,成本等于零;
  • 支持Markdown、Rst等常见格式;
  • 云端备份,学到哪,写到哪;走到哪,写到哪。

写博客与写维基的区别是什么?前者凸显创作;后者适合整理。很多入门级别、复用别人的操作,并不适合放在个人博客上。即使你不是技术人员,如果需要大量写作,也不妨尝试一下Git、Markdown与Github,给你带来的惊喜会大于你的学习成本。同时,你可以采取一种我实践多年的主题学习法来写维基,主要步骤如下:

  • 购买大量读物;
  • 快速扫描目录,了解核心知识点所在,假设自己要写一本书,将这个目录写出来;
  • 实践两个好的课程,了解实践中的知识点怎么归入自己这本书中;
  • 未来不断往自己这本书中填内容。

最新的: