Start a new blog with Octopress on Github

一开始是从笑来老师的博客知道了Octopress这个东东。它号称“黑客用的博客程序(A blogging framework for hackers)”,有很多优点:

  1. 纯静态页面,不使用数据库
  2. 使用markdown标记语言编写文章(当然也支持HTML)
  3. 原生代码高亮支持
  4. 支持插件(比如评论插件)
  5. 使用git进行版本管理
  6. 可以直接发布到Github Pages/Heroku等,感觉上要在Amazon EC2上搞一个也应该很容易

断断续续的看了一些相关的文章,跃跃欲试了很久,但因为忙一直没有尝试一下。上周总算忙完了,有时间折腾折腾了。于是,第一个要尝试的就是这个Octopress。

准备工作

首先,建议使用Linux/Mac OS X,因为可以免去很多很多的麻烦。

其次,自学git的使用方法,玩Octopress需要很频繁的使用git。这里提供两个我个人觉得很不错的教程[A Visual Git Reference][Git Immersion]

第三,自学markdown语法,因为Octopress使用markdown来写文章。可以通过[markdown@wikipedia][Markdown官方说明]来学习。

 

安装所依赖的软件

这里以Ubuntu 12.10为例,其他系统安装方法或略有不同,请自行google。

1.安装git
sudo apt-get install git
2.安装Ruby

通常通过RVM (Ruby Version Manager)是一个比较方便管理的方式。不过如果想省事,直接通过apt-get安装也行。这里给出一个用RVM安装的例子,力求最简(因为不是本文重点)。想要进阶一点的请自行google。

安装RVM(Ruby Version Manager)

curl -L get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

如果安装成功,输入

rvm -v

如果能正常显示

rvm 1.17.3 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

则说明安装成功。

接下来安装Ruby

rvm install 1.9.3     #install ruby 1.9.3
rvm 1.9.3 --default   #set 1.9.3 as the default version
ruby --version        #should report Ruby 1.9.3
3.下载并安装Octopress

首先,从github上克隆一个octopress到本地。

git clone git://github.com/imathis/octopress.git octopress
cd octopress    # If you use RVM, You'll be asked if you trust the .rvmrc file (say yes).

接下来安装依赖包

gem install bundler
bundle install

安装默认主题

rake install

生成博客并测试

rake generate
rake preview

打开浏览器,输入http://127.0.0.1:4000,可以预览博客。

4.相关配置

接下来需要进行一些相关的配置。

首先是github。在github上新建一个空的repo,命名为username.github.com(替换username为注册名)。这样就可以通过http://username.github.com访问到博客了。

然后cd进入octopress目录,执行

rake setup_github_pages

来初始化博客配置,程序会要求输入github的url。(程序会提供一个例子,只需要把里面username的部分改掉就好)

然后要修改一下博客的相关信息。编辑~/octopress/_config.yml,把title,subtitle这些换成想要的名称。

5.写博客

接下来就可以写博客了,使用

rake new_post["Hello, World\!"]

就自动在~/octopress/_posts下生成相应的markdown文档,使用文本编辑器修改这个文件即可。

完成之后执行

rake generate
rake deploy

就可以把博客推到github上。

注意在github上有两个分支,master就是最终博客的分支,rake deploy是推到这;另外一个分支是origin,是存源文件的,每次更新后,要手动用git推到github上。

git add .
git commit -m 'Updated blog'
git push origin source

另外,Octopress还可以生成自定义页面。执行

rake new_page[about]

会在~/octopress/source/about下新建一个index.markdown页面。编辑好后,在~/octporess/source/_includes/custome/navigation.html加上一行。E.g.,

<ul class="main-navigation">
  <li><a href="{{ root_url }}/">Blog</a></li>
  <li><a href="{{ root_url }}/blog/archives">Archives</a></li>
  <li><a href="{{ root_url }}/about-me">About Me</a></li>
</ul>

就可以了。关于这部分Octopress官网有更详细的介绍(Blogging Basics)。

 

其他

1. 如果在rake deploy的时候遇到”Permission denied (publickey).fatal:The remote end hung up unexpectedly”的错误,参考StackOverflow上的办法

2. 如果在github上已经有了博客,需要先从上面clone之前的东西。具体请看这里

 

关于我的这个新blog

新博客算是搭好了,不过我不打算把这个WP的博客迁移过去。这个新的Octopress博客我打算拿它来写英文技术博客。欢迎捧场。地址是 http://anels.github.com

 

参考

1. Octporess Docs>Octopress Setup

2. Octopress Docs>Deploying to Github Pages

3. 在github上使用octopress

4. 技术博客利器——Octopress

5. Octopress: 新手教程

 

原创文章,转载请注明: 转载自 iDEAnels

本文地址: Start a new blog with Octopress on Github

Leave a Reply

Your email address will not be published. Required fields are marked *