首页 > 代码库 > Github Pages 搭建个人博客
Github Pages 搭建个人博客
1、Github简介
Github很好的将代码和社区联系在了一起,于是发生了很多有趣的事情,世界也因为他美好了一点点。Github作为现在最流行的代码仓库,已经得到很多大公司和项目的青睐,比如jQuery、Twitter等。为使项目更方便的被人理解,介绍页面少不了,甚至会需要完整的文档站,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作为例子,Linux和Mac与此类似。
在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 Key到GitHub:
在本机设置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文件,然后push到GitHub的master分支(也就是普通意义上的主干)。第一次页面生效需要一些时间,大概10分钟左右。
生效之后,访问username.github.io就可以看到你上传的页面了,changyou06.github.io就是一个例子。
关于第二种项目pages,简单提一下,他和用户pages使用的后台程序是同一套,只不过它的目的是项目的帮助文档等跟项目绑定的内容,所以需要在项目的gh-pages分支上去提交相应的文件,GitHub会自动帮你生成项目pages。具体的使用帮助可以参考Github Pages的官方文档:
4、Mac下搭建jekyll环境,利用Jekyll在Github上写博客
首先在本地上安装Jekyll,本人使用的系统是Mac OS X 10.9.3,并且已经安装好Ruby,Python,请读者根据自身情况自行安装。
1、安装/升级本地ruby
安装rvm
可以先 ruby -v 查看下本地ruby版本号,如果是1.9.2以上的直接跳过该步。由于gem安装jekyll需要ruby 1.9.2以上版本,现在官方推荐的是1.9.3,而mac自带的ruby为1.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,而homebrew与macports存在兼容性问题,如果不删除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的网址即可在线访问我们的网站了。这是真正属于我们的干净的博客。