后面还是考虑使用Jelly来做,功能要比octopress强很多
https://github.com/jekyll/jekyll
参考:
http://www.yangzhiping.com/tech/octopress.html
http://janrone.sinaapp.com/topic/4/%E6%80%8E%E4%B9%88%E6%90%AD%E5%BB%BA-octopress-%E5%9C%A8-github
http://opoo.org/octopress/
http://stackoverflow.com/questions/17609453/rake-gen-deploy-rejected-in-octopress
步骤
1. 在github上创建一个用户,这里假设你已经是github用户了,
那么创建一个类似"username.github.io"的项目即可
2. 从Octopress项目下载代码
#复制代码到本地目录,名字随意,此处为myblog
git clone git://github.com/imathis/octopress.gitmyblog
cd myblog
#该下当前repo link的名字,这里我用upstream,虽然我不会提pull request,但是习惯使然,就这样了。
git remote rename origin upstream
3. 安装所用到的gem依赖,我假设你已经安装了ruby和bundler,ruby版本1.9就好啦
#友情提示:安装之前最好改一下源地址,不然会比较费时间
vi Gemfile
将
source "https://rubygems.org"
换成
#source "https://rubygems.org"
source "http://ruby.taobao.org"
下面开始安装依赖
bundle install
4.配置Octopress
rake setup_github_pages //配置github项目地址 接下来会提示输入url
Enter the read/write url for your repository
(For example, '[email protected]:your_username/your_username.github.io.git)
注意:原文中缺少.git后缀,需要补上
rake install //是安装Octopress默认主题的
#保存修改
git add .
git commit -m "init and config env"
5. 将修改保存,然后更新到你的项目中,你只需要做一次git push,今后你只需要使用rake deploy来发布你的更新。push之前你还需要使用git pull来将合并下代码,因为我们假设你创建项目的时候加入了README.md和License文件。好吧,我比较事。。
#将你的项目连接加进来
git remote add origin [email protected]:your_username/your_username.github.io.git
#同步代码
git pull origin master //解决conflicts如果你碰到了T_T(悲催狗一枚)
#推送到自己的仓库
git push origin master
6. 开始享受生活吧
rake new_post["Hello World"] //建立新文章,文章存放在source/_post里面,格式为md的,现在就找个爽快点的[编辑器](#editor)来写文章了(还在寻找。。。)
rake preview //开启站点预览,动态生成, http://127.0.0.1:4000。即使在编辑状态,文章保存后,刷新页面,一样看到更新的内容
rake generate //生成静态文件,即将source目录下的文件转换成html文件拷贝到public目录下
rake deploy //生成静态并部署到github
Tips.
1. 原作者建议配置好环境后,即第5步后,创建一个新的source分支用于保存md格式的文档。
个人觉得没必要。随各位喜好了。
2. 碰到了在rake deploy的时候无论如何都有non-fast-forward的问题,参考stackoverflow找到了解决办法
# 切换目录到_deploy下
cd octopress/_deploy
# pull code
git pull origin master
# 返回上级目录
cd ..
# deploy again
rake deploy
# 问题解决
Then it's fixed.
我的在这:http://bingwei.github.io/
TODO:
1. 找到合适用于编辑md文件的编辑器
2. octopress似乎无法从页面上编辑删除post,为啥非要这么设计?
3. 研究rakefile的其他方法和作用
4. 修改默认配置
5. 将内容更新到上面:)
愿望: github不要被墙啊。。。