首页 > 代码库 > Github Pages 搭建个人博客

Github Pages 搭建个人博客

1Github简介

Github很好的将代码和社区联系在了一起,于是发生了很多有趣的事情,世界也因为他美好了一点点。Github作为现在最流行的代码仓库,已经得到很多大公司和项目的青睐,比如jQueryTwitter等。为使项目更方便的被人理解,介绍页面少不了,甚至会需要完整的文档站,Github替你想到了这一点,他提供了Github Pages的服务,不仅可以方便的为项目建立介绍站点,也可以用来建立个人博客。

Github Pages有以下几个优点:

    轻量级的博客系统,没有麻烦的配置

    使用标记语言,比如Markdown

    无需自己搭建服务器

    根据Github的限制,对应的每个站有300MB空间

    可以绑定自己的域名

当然他也有缺点:

    使用Jekyll模板系统,相当于静态页发布,适合博客,文档介绍等。

    动态程序的部分相当局限,比如没有评论,不过还好我们有解决方案。

    基于Git,很多东西需要动手,不像Wordpress有强大的后台

2、配置和使用Github

要使用Git,需要安装它的客户端,推荐在Linux下使用Git,会比较方便。Windows版的下载地址在这里:http://code.google.com/p/msysgit/downloads/list。其他系统的安装也可以参考官方的安装教程。

下载安装客户端之后,各个系统的配置就类似了,我们使用windows作为例子,LinuxMac与此类似。

Windows下,打开Git Bash,其他系统下面则打开终端(Terminal):

1、检查SSH keys的设置

首先我们需要检查你电脑上现有的ssh key

1. $ cd ~/.ssh

如果显示“No such file or directory”,跳到第三步,否则继续。

2、备份和移除原来的ssh key设置:

因为已经存在key文件,所以需要备份旧的数据并删除:

    1. $ ls

    2. config  id_rsa  id_rsa.pub  known_hosts

    3. $ mkdir key_backup

    4. $ cp id_rsa* key_backup

    5. $ rm id_rsa*

3、生成新的SSH Key

输入下面的代码,就可以生成新的key文件,我们只需要默认设置就好,所以当需要输入文件名的时候,回车就好。

    1. $ ssh-keygen -t rsa -C "邮件地址@youremail.com"

    2. Generating public/private rsa key pair.

    3. Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<回车就好>

然后系统会要你输入加密串(Passphrase):

    1. Enter passphrase (empty for no passphrase):<输入加密串>

    2. Enter same passphrase again:<再次输入加密串>

最后看到这样的界面,就成功设置ssh key了:


4、添加SSH KeyGitHub

在本机设置SSH Key之后,需要添加到GitHub上,以完成SSH链接的设置。

用文本编辑工具打开id_rsa.pub文件,如果看不到这个文件,你需要设置显示隐藏文件。准确的复制这个文件的内容,才能保证设置的成功。

GitHub的主页上点击设置按钮:

选择SSH Keys项,把复制的内容粘贴进去,然后点击Add Key按钮即可:

PS:如果需要配置多个GitHub账号,可以参看这个多个github帐号的SSH key切换,不过需要提醒一下的是,如果你只是通过这篇文章中所述配置了Host,那么你多个账号下面的提交用户会是一个人,所以需要通过命令git config --global --unset user.email删除用户账户设置,在每一个repo下面使用git config --local user.email ‘你的github邮箱@mail.com‘ 命令单独设置用户账户信息

5、测试一下

可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改:

    1. $ ssh -T git@github.com

如果是下面的反应:

    1. The authenticity of host ‘github.com (207.97.227.239)‘ can‘t be established.

    2. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

    3. Are you sure you want to continue connecting (yes/no)?

不要紧张,输入yes就好,然后会看到:

    1. Hi <em>username</em>! You‘ve successfully authenticated, but GitHub does not provide shell access.

6、设置你的账号信息

现在你已经可以通过SSH链接到GitHub了,还有一些个人信息需要完善的。

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

     1. $ git config --global user.name "你的名字"

      2. $ git config --global user.email "your_email@youremail.com"

好了,你已经可以成功连接GitHub了。

3、使用GitHub Pages建立博客

GitHub建立好链接之后,就可以方便的使用它提供的Pages服务,GitHub Pages分两种,一种是你的GitHub用户名建立的username.github.io这样的用户&组织页(站),另一种是依附项目的pages

User & Organization Pages

想建立个人博客是用的第一种,形如changyou06.github.io这样的可访问的站,每个用户名下面只能建立一个。

创建好username.github.io项目之后,提交一个index.html文件,然后pushGitHubmaster分支(也就是普通意义上的主干)。第一次页面生效需要一些时间,大概10分钟左右。

生效之后,访问username.github.io就可以看到你上传的页面了,changyou06.github.io就是一个例子。

关于第二种项目pages,简单提一下,他和用户pages使用的后台程序是同一套,只不过它的目的是项目的帮助文档等跟项目绑定的内容,所以需要在项目的gh-pages分支上去提交相应的文件,GitHub会自动帮你生成项目pages。具体的使用帮助可以参考Github Pages的官方文档:

4Mac下搭建jekyll环境,利用JekyllGithub上写博客

首先在本地上安装Jekyll,本人使用的系统是Mac OS X 10.9.3,并且已经安装好RubyPython,请读者根据自身情况自行安装。

1、安装/升级本地ruby

安装rvm

可以先 ruby -v 查看下本地ruby版本号,如果是1.9.2以上的直接跳过该步。由于gem安装jekyll需要ruby 1.9.2以上版本,现在官方推荐的是1.9.3,而mac自带的ruby1.8.6,所以需要先升级本地的ruby,否则在安装的时候会出现类似“instance of Date needs to have method `marshal_load‘”的报错。

网上不少人使用源码安装来替换本地ruby,其实用rvm来管理多版本ruby是更安全、方便的方案。rvm的安装比较简单:

$ curl -L https://get.rvm.io | bash -s stable

安装好rvm后需要按照提示 source ~/.bash_profile rvm添加到环境变量中。

卸载macports

在正式安装ruby前还需要确保你本地没有安装macports,由于rvm会通过homebrew来安装ruby,而homebrewmacports存在兼容性问题,如果不删除macports会导致安装失败。删除macports有一定风险,请先自行 cd /opt/local 确认软件均可删除。

$ sudo port -f uninstall installed

$ sudo rm -rf /opt/local ~/.macports

安装ruby

接下来可以正式安装ruby了,这里可以先通过 rvm use 命令来获取详细的版本号,安装过程可参考以下代码:

$ rvm use 1.9.3

ruby-1.9.3-p392 is not installed.

To install do: ‘rvm install ruby-1.9.3-p392‘

$ rvm install ruby-1.9.3-p392

大概N分钟之后,ruby 以及 homebrew即可安装完成,且自动切换到最新版ruby

2、安装jekyll

更换gem source

据说gem source会被墙,所以在正式安装jekyll之前可以先换成淘宝的镜像。

    $ gem sources -l

    $ gem sources --remove https://rubygems.org/

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

安装jekyll

    $ gem install jekyll

然后

$ gem install jekyll rdiscount

安装完成后,cd到项目根目录,使用以下命令即可运行jekyll环境,通过 localhost:4000 即可访问。

$ jekyll --server

注:jekyll --server 命令已废弃,新版使用jekyll server。这个改变浪费了我好多时间。以下为官方解释:

The Jekyll Command

For better clarity, Jekyll now accepts the commands build and serve. Whereas before you might simply run the command jekyll to generate a site and jekyll --server to view it locally, now use the subcommands jekyll build and jekyll serve to do the same. And if you want Jekyll to automatically rebuild each time a file changes, just add the --watch flag at the end.

欧耶!接下来就可以开始github pages之路了~

安装RDiscount

    $ gem install rdiscount

安装pygments

    $ sudo easy_install pip

    $ sudo pip install --upgrade distribute

    $ sudo pip install pygments

安装完成之后,clone Tom Preston-Werner做的模板,并删除_posts_images两个目录中的内容,因为里边的内容是有版权的。完成之后,在_posts中添加自己的文章,格式可以markdown或者Textile

注:模板中的CNAME文件也必须删除,因为那是他人的域名转换文件。如果自己有独立域名,可以谷歌方CNAME文件使用方法。我没有独立域名,这个设置略去。

以前老的克隆地址:

$ git clone git://github.com/mojombo/mojombo.github.com.git myblog

模板新地址:

git    clone git://github.com/mojombo/mojombo.githbub.io    /Volumes/SHARED/changyou06.github.com

注: /Volumes/SHARED/changyou06.github.com是本机自定义的github工程同步目录,可根据个人需要自定义。

在github个人中心新建repository命名形如changyou06.github.io。然后将该repository克隆或者下载至本机特定位置。将刚下载的模板工程内文件复制到那个特定位置。修改模板中部分文件个人信息,在终端cd到该文件夹下,执行jekyll server 然后在本机浏览器输入http://localhost:4000或者http://127.0.0.1:4000即可访问我们的网站了。使用github客户端将该特定文件夹下所有文件提交至github,然后稍后在浏览器输入形如http://changyou06.github.io的网址即可在线访问我们的网站了。这是真正属于我们的干净的博客。