octopress搭建记录
一直想弄个big高点的独立博客,久仰jekyll之威名,今天终于尝试一下,但看到大多的jekyll都。。。所以尝试一下octopress。
因为有github的帐号,申请的步骤就省掉了。
一 安装ruby:
octopress是基于ruby的,所以还要在本机上安装ruby。可以借鉴这位仁兄的文章来在Ubuntu下安装ruby。
# 先安装curl工具 sudo apt-get install curl # 用curl来安装rvm curl -L get.rvm.io | bash -s stable
如果安装成功,~/.bashrc
:文件中会有:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
接下来source:
source ~/.rvm/scripts/rvm
用rvm安装ruby:
rvm install 1.9.3
以上有可能出现安装错误的情况:
1 There has been error while updating 'apt-get', please give it some time and try again later. 2 For 404 errors check your sources configured in: 3 /etc/apt/sources.list 4 /etc/apt/sources.list.d/*.list
可以尝试:
1 rvm autolibs disable 2 rvm install 1.9.3
二 安装octopress
可以执行以下命令:
git clone git://github.com/imathis/octopress.git octopress cd octopress gem install bundler bundle install rake install
我在执行到bundle时会报错:
An error occurred while installing RedCloth (4.2.9), and Bundler cannot continue. Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.
不知道这个RedCloth是怎么回事,多种尝试无果,有仁兄说用sudo apt-get install ruby-dev 之后就好了,果然。。。
三 部署
在自己的github中先新建一个repository,命名为"yourname.github.io"或者"youname.github.com",前面的name必须同你的帐号相同。之后用:
git clone git@yourname.github.io
可以加到本地仓库中。
rake setup_github_pages
会要求你输入URL,将新建的repository粘帖进去就好了。
接下来就是配置了,在octopress目录下有_config.yml文件,其中的title,subtitle等自己修改就好,这位仁兄说最好把twitter相关的都删了,GFW会使加载速度变慢,google的字体也会被干扰。
rake new_post ['title']
就可以新建文章了
rake generate
能够生成静态文件。
但是此时报错了:
Could not find a JavaScript runtime.
安装下nodejs或者execjs可以解决。
因为我的副标题是是cp936的中文,又报错了:
invalid leading UTF-8 octet
在/etc/vim/vimrc中修改fileencodings(fenc)=utf-8就好了。
安装默认主题:
rake install
可以本机查看:
rake preview
通过localhost:4000访问:
然后rake deploy就可以部署了,但是遇到了很棘手的问题:
1 To git@github.com:hyace/hyace.github.io.git 2 ! [rejected] master -> master (non-fast-forward) 3 error: failed to push some refs to 'git@github.com:hyace/hyace.github.io.git' 4 hint: Updates were rejected because the tip of your current branch is behind 5 hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') 6 hint: before pushing again. 7 hint: See the 'Note about fast-forwards' in 'git push --help' for details.
查了很多终于解决,要在_deploy文件夹下运行git push origin master 才能提交,octopress文件夹是个source branch,_deploy文件夹是个master branch。第一次遇到这个问题的时候可以这么解决,在之后提交的时候,编辑完成后`rake deploy`就已经把master branch提交到github了,此时博客已经能看到新post,在octopress文件夹下`git push origin source`,就可以同步source branch到github。