之前在网上看到很多网友使用github pages来搭建自己的博客,免费流量,免费托管,自由书写,随心所欲,禁不住也来尝试一下,希望自己以后能养成勤写、勤思考的习惯。下面就把这篇文章的诞生过程记录下来,作为我的第一篇博客,供大家参考。我是在win 7系统下完成整个过程的。

  本文的结构如下:

一.基础环境的搭建

1.安装git

2.创建SSH

3.将ssh key添加到github

4.使用github pages建立博客

5.使用jekyllbootstrap简化博客创建

6.写博客

二.给博客添加评论模块

三.代码高亮显示

四.遇到的问题及解决方法

  下面开始进入正题。

一.基础环境的搭建

1.安装git

下载git for windows工具(地址),我下载的是git-1.8.4版本,然后安装。

2.创建SSH

启动git bash,输入如下命令:

$ cd ~/.ssh

如果之前没有创建过ssh key,则会提示“No such file or directory”,输入下面的命令生成新的key:

$ ssh-keygen -t rsa -C "邮件地址@youremail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):

我们按下回车即可。然后系统会要你输入加密串:

Enter passphrase (empty for no passphrase):<输入加密串>
Enter same passphrase again:<再次输入加密串>

输入完成后即可看到这样的提示,表示ssh key已经创建并保存完成:

Your identification has been saved in /your directory/.ssh/id_rsa.  
Your public key has been saved in /your directory/.ssh/id_rsa.pub.  
The key fingerprint is:  
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db 邮件地址@youremail.com

在win 7系统中,默认情况下,是保存在C:\用户\你的用户名.ssh目录下。

3.将ssh key添加到github

在本机设置SSH Key之后,需要添加到GitHub上,以完成SSH链接的设置。 用文本编辑工具打开id_rsa.pub文件,如果看不到这个文件,你需要设置显示隐藏文件。

登录github,在页面右上角点击"account setting"。

点击页面左侧菜单栏的SSH keys,进入ssh key管理页面,点击"Add ssh key"。将id_ras.pub中的内容复制到页面中的key栏里,点击"Add key"完成添加。

输入下面的命令测试一下:

$ ssh -T git@github.com

如果看到命令行提示:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

只需输入"yes"即可,连接成功!

下面还需要设置用户的账号信息,Git会根据用户的名字和邮箱来记录提交。GitHub也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的,名字必须是你的真名,而不是GitHub的昵称。

$ git config --global user.name "你的名字"
$ git config --global user.email "your_email@youremail.com"

4.使用github pages建立博客

说实话,在写这篇博客的时候,我也只是刚刚接触github pages不久,虽然以前可能已经无意识的碰触过它。个人理解:github pages就是给托管在github上的项目生成页面展示的一个模板工具。我们都知道在github上托管了成千上万的项目,这其中包括大名鼎鼎的Twitter,jQuery,Ruby on Rais。为了大家更好的学习这些开源项目,必须对这些项目生成好的展示页面,包括功能简介、文档说明等等,github pages的主要目的也就在于此,并且提供了丰富的主题。由于它有这样的功能,因此也就被巧妙的用来搭建博客,因为博客也是一个静态的展示页面,只不过有自己独特的页面结构罢了。

github pages会查看github中特定版本库中的分支,进行解析,并最终组织成为一个静态网站。

github pages的使用有两种基本的方式:用户/组织页面,项目页面。 前者直接使用:username.github.io这个域名定位到你的特定版本仓库,并且会使用master分支;后者使用username.github.io/project的域名访问,并且使用特定的gh-pages分支。我们搭建博客使用的是第一种方式。

github pages使用Jekyll作为后台引擎。Jekyll将模板目录中的文件采用markdown、liquid转换器进行转换,并输出成完整的、适合在服务器上发布的静态站点。

到这一步,应该说所需要的环境已经基本搭建完成,我们在github respository管理页面右侧点击settings。

然后在Github Pages那一栏里点击Automatic Page Generator按钮即可自动生成一个github pages的模板供我们使用。

5.使用jekyllbootstrap简化博客创建

正如其名,jekyllbootstrap是一个已经帮我们做好基础配置工作,简化我们操作的工具。它提供了以下功能:

  • 允许我们使用markdown来书写博客
  • 使用git来管理一切
  • 在终端里即可完成发布
  • 一条命令即可更换主题
  • 默认提供了对博客评论模块的支持

让我们来体验一下。

首先在github账户中创建一个版本仓库。并命名为USERNAME.github.com。

然后安装jekyllbootstrap:

$ git clone https://github.com/plusjade/jekyll-bootstrap.git USERNAME.github.com
cd USERNAME.github.com
$ git remote set-url origin git@github.com:USERNAME/USERNAME.github.com.git
$ git push origin master

完成后等待10分钟,即可在http://USERNAME.github.io上访问到自己的博客页面了。

为了更方便的在我们本地预览博客展示效果,我们需要在本地安装jekyll,由于它是用ruby来写成的,因此我们还需要安装ruby环境。下载rubyinstaller并安装,我本地安装的是rubyinstaller-1.9.3-p194版本。安装完成后需要配置环境变量,方便使用。

然后需要安装Devkit,Devkit是windows平台下编译和使用本地C/C++扩展包的工具,它是用来模拟Linux平台下的make,gcc,sh来进行编译。将下载下来的安装包解压到某个目录下,然后执行

$ ruby dk.rb init
$ ruby dk.rb install

在安装完ruby和Devkit后,jekyll的安装就十分简单了,首先将gem的源更换为淘宝的源,否则会安装失败(因为墙的原因,某些组件会访问网络失败)。

$ gem sources --remove https://rubygems.org/ 
$ gem sources -a http://ruby.taobao.org/

然后执行安装jekyll

$ gem install jekyll

等待片刻即可安装成功。安装成功后,执行

$ jekyll -version

来查看当前安装的jekyll版本。

安装完成后,我们在git bash中cd到刚才创建的USERNAME.github.com目录中,然后执行

$ jekyll server

即可在http://localhost:4000上访问我们的博客了。

还可以使用

$ jekyll server --watch

来实现自动更新。

jekyllbootstrap提供了很多主题可供我们选择,当我们选好一套主题后,点击"Install Theme"即可自动生成安装主题的代码,执行即可更换主题。例如我选择的是twitter的主题:

$ rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git"

6.写博客 使用jekyllbootstrap来创建博客也只需要一条语句,只需指定博客名称即可。

$ rake post title="Hello World"

然后就会在_posts目录下面生成一个md格式的文件,使用markdown语言书写博客内容即可。默认的文件名为:日期-标题.md。

由于我们是用markdown来书写内容的,免不了要使用一款markdown编辑器来进行编辑,我曾经使用过MarkdownPad,觉得挺好用的,但是由于最近在学习使用Sublime,在网上搜索了一下,发现可以用它在加上markdown插件来进行markdown编辑以及浏览器端查看,我目前使用的插件是Markdown-preview

二.给博客添加评论模块

目前最流行的评论插件是disqus,我们需要去官网注册一个账号。我们可以在disqus的管理页面上进行一些个性化设置,可以修改默认的语言,颜色,排序方式等。

jekyllbootstrap本身已经提供了disqus支持,修改_config.yml文件,找到"comments"配置选项。

  # Settings for comments helper
  # Set 'provider' to the comment provider you want to use.
  # Set 'provider' to false to turn commenting off globally.
  #
  comments :
    provider : disqus
    disqus :
      short_name : happyroc
    livefyre :
      site_id : 123
    intensedebate :
      account : 123abc
    facebook :
      appid : 123
      num_posts: 5
      width: 580
      colorscheme: light

provider选项指定了默认的评论插件,我们使用的是disqus,上面的disqus中的short_name为你注册的用户名。

三.代码高亮显示

Jekyll原生支持语法高亮工具Pygments。Pygments支持超过100种语言,是一款很棒的代码高亮工具! 1.首先我们需要修改_config.yml,设置pygments: true。 2.接着需要安装Python,因为Pygments是基于Python的。下载Python的安装包,安装完成后执行

python -V

如果能够正常显示Python的版本则表示安装成功。我安装的是python2.6版本。安装路径为C:/Python26 3.使用easy_install来安装Pygments。在这里下载相应版本的setuptools,安装。并把路径 C:\Python26\Scripts添加到环境变量Path。然后在命令行中执行

easy_install Pygments

即可安装好Pygments。 4.在 Pygments demo 上根据不同语言找到自己喜欢的高亮方案,比如 friendly,在我们博客的工作目录下,执行如下命令

cd assets\themes\twitter\css
pygmentize -S friendly -f html > pygments.css

5.把生成的样式文件加到我们的网页中 修改_includes\themes\twitter\default.html,添加

<link href="/assets/themes//css/pygments.css" rel="stylesheet">

现在,只要把代码包围在

some code

就可以了。

四.遇到的问题及解决方法

jekyll默认情况下对中文的支持有些问题,需要我们修改一下编码。 编辑C:\Ruby193\lib\ruby\gems\1.9.1\gems\jekyll-1.4.0\lib\jekyll目录下的convertible.rb,将代码修改为:

self.content = File.read(File.join(base, name), :encoding => "utf-8");

另外,Jekyll默认的markdown解析器maruku对中文支持不够完善,所以果断换成RDiscount解析器,可以避免很多不必要的麻烦。 安装RDiscount解析器:

gem install rdiscount

设置RDiscount解析器: 在_config.yml文件中,添加一行:

markdown: rdiscount


blog comments powered by Disqus

Published

06 November 2013

Tags