Gitit Bigger 是我给 Gitit​ 写的一个 warpper。在 Gitit 的基础上,做了很多易用性的改善。

源起

折腾 Gitit Bigger,源于我喜欢 Markdown + Git 这种整理文档的方式。市面上类似软件有很多,各种语言开发的。我试过很多,比如 mkdocs、gollum、Realms Wiki,乃至 Moinmoin 2.0(支持 Markdown)。

但是,这些软件要么是与文件系统结合较差,要么是过于复杂,要么是中文支持较差。而我喜欢将文件系统、Git、文件夹、Markdown 这些整合起来使用。

找来找去,找到了 Gitit​ 。可是 Gitit 也不是没有缺点,比如 Gitit 本身安装可能较为麻烦,Gitit 的编辑功能爆弱,模板也较差(最近才开始支持响应式)。

因此,我在其基础上做了一些包装,使之更能为我所用。

日常使用

在日常使用中,我的项目文件夹下有两个 gitit config 文件,还有两个 wikidata 文件夹。目的在于,每个配置文件启动一个 gitit 实例,一个是公开的 http://wiki.shajiquan.com,另一个是私人 Wiki。

这两个实例共享一套模板、静态文件,以及 giti-users 文件,即用户账户列表。但它们的 wikidata 是不同的,也就是内容条目不同。

wikidata 文件夹其实是一个 Git 仓库,Gitit 会根据配置将所有添加到 Git 仓库暂存区的指定类型文件视作 wiki 条目或目录。

对于私人 wiki,如果想在本地和服务器都运行并且保持同步,我个人采用的方案是使用 Bitbucket 的仓库,因为 Bitbucket 允许免费账户创建私有仓库。

而公开 wiki,则可以使用 github 仓库。

无论是公开 wiki 还是私人 wiki、团队内部 wiki,如果想在多个机器上运行的话,可以使用 ssh-key + crontab 方式自动 pull、push 来保持同步。

更多

Gitit Bigger 还提供了一定程度的定制,比如 Google Analytics 统计、是否开启 ACE 编辑器、是否启用 MathJax 数学公式渲染等等。

Gitit Bigger 还提供了一些工具,比如批量修改文件名后缀,方便在不同的 Gitit 版本间切换,也提供了一些运维工具,启动、重启之类。

Gitit Bigger 目前最大的缺憾是编辑器仍然不够好,期待有一天我换上一个更好的编辑器。

其实我更想做的是用 Go 或者 Python 实现一个 Gitit……


下面内容来自项目文档


浏览

Gitit Bigger 页面浏览

编辑

Gitit Bigger 页面浏览


Demo & Screeenshots

Demos

截图 Screenshots

查看 View

编辑 Edit

Gitit 主要特性

  • 无数据库
  • Git 版本控制
  • Markdown 格式
  • Wiki 化:
    • 子目录,无限目录(这也是我抛弃其他一些类似 wiki 系统的原因)
    • 中文目录、中文标题、中文分类
    • 完美支持中文搜索
    • 支持分类
    • 支持自定义标题
  • 代码高亮
  • 支持公式等(我基本不用)
  • 导出 epub 等(基于 pandoc )

更多关于 Gitit 的安装、部署、优化的中文介绍和说明,请见:
- gitit_base.md 简介、安装、部署
- gitit_config.md 配置

Gitit Bigger VS Gitit

  • Bootstrap 模板
  • Ace Editor
  • Ace Editor 的编辑模式已设为 markdown
    • 支持代码高亮
    • 搜索、替换( cmd+option+f )
    • Tab 缩进、恢复( tab 、 shift+tab )
    • 快捷键
    • ...
  • 采用配置文件方式启动,多个实例轻松共享资源
  • 支持自定义 Ace 编辑器启用 /禁用、模式、样式等配置
  • 支持 Markdown 模式下快捷键
  • 数学公式:支持 MathJax 启用 /禁用,自定义 MathJax 源
  • 代码高亮:支持使用 highlight.js 高亮代码 - Gitit 的高亮需要服务端支持
  • 增加启动、部分、自动备份脚本或帮助

注意: wikidata 仓库

请注意检查你的 wikidata/ 目录的 git 配置。请注意:
- wikidata 文件夹是一个本地仓库,所有的 wiki 页面都将保存到此处;
- Gitit 启动时,会检查这个文件夹是否存在,如果不存在, Gitit 将会创建它,并初始化它为一个本地仓库
- 只有提交到仓库里的文件,才会被 Gitit 添加到 wiki 中。
- 如果你想要将此仓库与你的远程仓库绑定、同步:你需要:
- clone 你的 wiki 仓库到 wikidata 文件夹:git clone your-wikidata.git ./wikidata,或者:
- 运行 git remote 相关命令,使 wikidata 文件夹和你的远程仓库连接起来;

\# 如果  wikidata 文件夹尚不存在cd ~/workspace/gitit
git clone your-wikidata.git ./wikidata
git branch --set-upstream-to=origin/master master
\# 启动 gitit 服务: ./run/run.sh start

\# 如果 wikidata 已经存在,但并没有和你的远程仓库绑定
cd wikidata
git remote add origin path/to/your-wikidata.git
git branch --set-upstream-to=origin/master master
\# 启动 gitit 服务: ./run/run.sh start

配置、自定义 JS/CSS

Gitit Bigger 提供一定程度的配置。

你可以通过在 templates/page_more_scripts.st 里定义 BIGGER_SETTINGS_APPEND 对象来覆盖默认配置。

包括:
- ace 编辑器
- markdown
- MathJax 数学公式插件
- highlightjs 代码高亮
- Google Analytics 统计