如何在windows上搭建github博客
以下是我结合一些资料与个人遇到的一些问题后的总结,让大家在搭建的过程中尽可能的少被坑。
一、创建github账号
首先大家需要在github上面创建一个账户,然后账号需要与创建的blog保持一致,如:创建 zhangzy2345.github.io 则对于的github账号为zhangzy2345,然后
Create Repository
,填写的Repository Name为你的blog地址,如:zhangzy2345.github.io。
二、安装Git
首先下载 Git for windows ,默认安装后就能使用git了。 接下来通过Git创建一个SSH KEY与之间的创建的github绑定。
在Git中输入:
$ ssh-keygen -t rse -C username@email.com
Note:上面的email换成你注册github账户时填写的email,全部按默认就行了,不用设置密码了,不然以后提交的时候你会很烦,我之前就设置了,之后果断重新弄了一次
执行完成之后会在你的目录(C:/User/username)下面的.ssh目录下面有个
id_sra.pub
文件,用记事本去打开它,然后在你的github上面 Account Settings
–> SSH Public Keys
–> Add
将复制的信息粘贴进去,此时在github上面的设置全部完成。
Note:在Git中输入:
$ ssh -T git@github.com
测试是否连接正常。
三、安装ruby
先去下载 RubyInstaller 和 Devkit。
在选择Ruby版本的时候,我被坑了一下,有些教程可能写的时间比较久了,让大家选择1.9.2版本,但是安装之后,在最后安装 Octopress
的时候出现很多错误,最后在 Octopress
的 github 看见了这句话:
Note: Octopress requires a minimum Ruby version of 1.9.3-p0
所以,大家在安装ruby的时候,先去 Octopress 看看需要哪个版本的ruby,现在(2014-05-10) 你选择1.9.3
就行了。
对于 Devkit
的安装,没有什么特别值得注意的地方(我没遇到),在解压的时候不要选择中文路径就行。
运行程序 Start Command Prompt with Ruby
,切换到解压后的 Devkit
目录下,执行以下命令:
1 2 3 |
|
Note:上述安装基本不会出错,如果出现什么问题,请大家自己去 goole 或 baidu 查相应资料
四、安装octopress
octopress 目前已经是2.0
版本,我们接下来会通过它来安装我们博客的主题,关于他的详细介绍,请自己访问他的官网。
切换至Git Bash
下,在你的blog目录下,执行:
git clone git://github.com/imathis/octopress.git octopress
然后在你的 Start Command Prompt with Ruby
中,将工作目录切换至刚刚clone的 octopress
目录下,执行
gem install bundler
bundle install
Note:如果上面两步出现错误,请查看 ruby 版本是否与 octopress 要求的一致。
接下来安装 octopress 默认的主题,如果对 greyshade
主题感兴趣,请看我的另一篇博文:《greyshade 主题的搭建》
rake install
接下来,用以下命令创建一篇博文:
rake new_post['first blog']
此时,会在你的 octopress
–> source
–> _posts
目录下创建一个makedown文件,需要通过以下命令转换成对应的静态资源文件:
rake generate
Note:包括你修改配置、主题、样式等,都需要运行此命令
此时,所有的更新都还在你本地,若你想先在本地进行预览,执行:
rake preview
Note:执行后,会提示你用浏览器打开 http://localhost 与对应的端口就行预览
最后预览没问题后,就可以发布到 github
上面了,首先,你需要将 github 上面的 Repository 与 octopress 连接,执行:
rake setup_github_pages
Note:特别注意,该命令是在Git Bash下面执行,不是在 Start Command Prompt with Ruby 中运行,我被坑过,几个小时没找到原因
接着,按照提示你需要将你的地址输入进去,你可以直接在github上面copy,也可以在git中执行:
$ git remote -v
最后执行
rake reploy
该命令,会先清空 _deyloy
后,重新生成所有静态资源后,自动 push
到你git的 master
上面
Note:值得提醒大家,如果你直接操作 github的matser分支后,必须在你的deploy下面先进行pull,然后在rake reploy,否则会无他 push,本屌在这里也被坑了很久,你要注意的一点就是,deploy 对应的就是你github上面master分支