Total Pageviews

Sunday, 17 July 2016

GotGitHub

GotGitHub: an open source E-book about GitHub in Chinese

这是一本关于GitHub的书,在线阅读请访问: http://www.worldhello.net/gotgithub
动笔写GitHub不是因为我对其了解,恰恰是对其太不了解。在我写的 《Git权威指南》 一书中,涉及到GitHub的只有区区三页纸,这显然回答不了读者对于GitHub的诸多疑问。
这本书采用Creative Commons协议发布,并托管在GitHub上,意味着您可以免费阅读并可以用GitHub特有的方式参与本书的维护。

如何离线阅读

项目 gotgit/gotgithub 的版本库中的 gh-pages 分支保存着本书编译后的页面,意味着您只要下载版本库并检出 gh-pages 分支即可在本地浏览。
  • 克隆版本库。
    $ git clone git://github.com/gotgit/gotgithub.git
    
  • 检出 gh-pages 分支。
    $ cd gotgithub
    $ git checkout gh-pages
    
  • 用浏览器打开 index.html 即可离线阅读。
因分支 gh-pages 的提交历史可能会周期性删除或压缩合并,为避免执行 git pull 更新分支时造成困惑,请对本地版本库进行如下设置。
$ git config --add remote.origin.fetch +refs/heads/gh-pages:refs/heads/gh-pages

如何编译

预备

  • Python, docutils
    本书使用 reStructuredText 格式撰写,格式解析依赖 Python 和 docutils 包。
  • Sphinx
    Sphinx 工具进行编译。编译前先确认已经安装 Python、docutils 及 sphinx。
  • ImageMagick 及 Inkscape
    本书图片矢量图采用 Inkscape 绘制,位图处理采用 GIMP 。上述格式图片在网页显示需要格式转换,格式转换需用到 ImageMagick 和 Inkscape。
  • Git
    不解释。

克隆版本库(本书书稿及图片)

本书用两个版本库维护:
本书的图片版本库以子模组形式关联到书稿版本库,运行下面命令执行克隆:
  • 若尚未克隆书稿版本库,先克隆书稿版本库。
    $ git clone git://github.com/gotgit/gotgithub.git
    $ cd gotgithub
    
  • 默认检出 master 分支。如果当前非 master 分支,执行下面命令检出分支。
    $ git checkout master
    
  • 通过子模组更新命令克隆子模组版本库(即保存图片的版本库)并检出。
    $ git submodule init $ git submodule update

编译书稿(其实就是用sphinx安装的静态网站)

确保安装了 Sphinx、ImageMagick、Inkscape。编译本书使用命令:
$ make html
编译后的网页位于 _build/html 目录下。
更多的格式输出参见下面的命令输出:
$ make 
 
from https://github.com/gotgit/gotgithub
 
http://www.worldhello.net/gotgit/ (Git权威指南)
http://www.worldhello.net/gotgithub/