Github Page Setup

##Introduction

本文简要描述了如何利用jekyll-bootstrap搭建一个基于github page的个人站点,搭建的环境是ubuntu。

##Basic Concepts

git: 类似cvs、svn的版本控制软件。

github: git的托管网站。

github page: github提供的静态网站服务,采用jekyll解析用户提交的源码。

jekyll: 将符合自身约定的源码(e.g., markdown language)转成静态网站的ruby工具。

jekyll-bootstrap: jekyll的模板框架,包含一些现成的模板,也可以基于它自定义模板。

mathjax:解析latex等符号的javascript库,通常请求它的cdn服务器进行动态解析。

##Motivations

(1) 为什么使用github page空间?只支持静态网页,适合作为博客空间。但相比传统博客服务 (e.g., csdn blog),又更具灵活性。

(2) 为什么使用jekyll?github page支持jekyll; markdown有那么点类似于latex,把内容与格式分开,很省心。

(3) 为什么使用mathjax?支持latex语法;矢量格式的公式分辨率高,不易被复制黏贴。

##Key steps

(1) 按照github pages官网说明建立一个github托管的git repository。尽量选择user site,而不是project site,否则jekyll-bootstrap可能会产生BASE_PATH设置导致的路径不一致问题。

(2) 安装jekyll,官网说明非常详细。须预装下nodejs (jekyll依赖它)和rake (jekyll-bootstrap依赖它)。

(3) 在shell中clone一个jekyll-bootstrap项目,并安装一个模板 (本文选择the-program),命令如下。

git clone https://github.com/plusjade/jekyll-bootstrap.git  
rake theme:install git="https://github.com/jekyllbootstrap/theme-the-program.git"  
find . -name ".git" | xargs rm -Rf    #删除jekyll-bootstrap的git配置

(4) 根据个人需要,修改/project_root/_config.yml、/project_root/_includes/themes/the-program/default.html等页面中的内容。例如,default.html页面中加入mathjax的cdn地址和配置。详细说明参见jekyll-bootstrap官网。

(5) 在jekyll serve或者sublime的markdown preview插件(可以使用made-of-code color scheme)中预览下效果,最后把项目发布到早先建立的git repository中。

##Miscellaneous

技术博客其实就是技术日记,即使没有其他人看,坚持写,对自己的技术成长也仍然很有帮助。个人觉得,写技术博客,最好采取下面两种策略。

(1) 把长的内容写短。例如,用简短的篇幅讲清楚一篇论文的思想和方法。

(2) 把短的内容写长。例如,把论文中的晦涩内容一层层解释清楚 (可以阅读相关的源码)。

Published: August 31 2014

blog comments powered by Disqus