September 07, 2014

用Octopress搭建博客

2016.3.15补充:已经把博客迁移到Jekyll

用Octopress把博客顺利搭建了起来,所遇到的问题也都顺利解决。

之前在用Wordpress的时间里,它一度让我忍无可忍。淘宝上25元买来的主机当然太过缓慢,在无比缓慢的操作下,我失去所有的耐心。终于某一天,我愤怒地一气之下删掉了数据库中所有文件,关闭了Wordpress。(删除前数据库备份过。)

看到阮一峰在博客上介绍怎样用Github Pages和Jekyll搭建博客,我眼前一亮。这的确是一种“建立网站的全新思路”,开始吸引到我,不仅因为它免费,不用自己的服务器,而且因为它看上去够轻量级,够快够酷。

我按照阮一峰的文章教程执行了一遍。生成的文章页面似乎过于单调,需要更多个人配置,于是决定转战Octopress。Octopress是在Jekyll上建立起来的,算是Jekyll的简化版。

开始我看了一些个人博客上介绍Octopress如何搭建的文章,不同博客说法各异。我主要参考的是Octopress的Documentation

下文的介绍完全参考官网文档的步骤。我是纯小白,下面的叙述可能有很多不正确或者不严谨的地方,欢迎指正。

搭建步骤

1. 安装前配置

首先安装Git

然后安装Ruby。需要安装rbenv或者RVM

执行ruby --version查看Ruby版本,要求1.9.3或者更高。

2. 安装Octopress:

从GitHub上clone源码:

git clone git://github.com/imathis/octopress.git octopress
cd octopress

接着安装依赖项(dependencies):

gem install bundler
rbenv rehash    # If you use rbenv, rehash to be able to run the bundle command
bundle install

然后安装Octopress默认主题:

rake install

如果日后想更改主题,一般可执行以下命令进行更改:

cd octopress
git submodule add GIT_URL .themes/THEME_NAME
rake install['THEME_NAME']
rake generate

这里提供了许多第三方开发主题。

3. 配置Octopress

主要修改Octopress文件夹中的_config.yml文件:最基本的是修改urltitlesubtitleauthor。这里,如果想给博客增添评论功能,可以使用Disqus,在# Disqus Comments处填写上disqus_short_name,并把disqus_show_comment_count改为true。

另外根据此博客,还最好做一些配置避免因为GFW使页面加载过慢:首先是在_config.yml中,把里面的twitter相关的信息全部删掉;其次,修改定制文件/source/_includes/custom/head.html 把google的自定义字体去掉。

4. 生成博客

博客存放在source/_posts目录下,命名规则是YYYY-MM-DD-post-title.markdown

执行下面语句生成一篇新博文:

rake new_post["title"]

比如:

rake new_post["Blogging with Octopress"]

可以在文本编辑器中看到以下内容,并继续写作。

---
layout: post
title: "Blogging with Octopress"
date: 2014-09-08 8:88
comments: true
external-url:
categories:
---

如果想生成新页面则执行:

rake new_page[super-awesome]

或者

rake new_page[super-awesome/page.html]

博文采用markdown语法。相关语法可以参考这篇这篇文章。在Mac平台可以使用Mou作为Markdown编辑器。此外Windows平台有MarkdownPad和MarkPad,Linux平台有ReText。

写完博文后,

接着执行:

rake generate

生成静态文件;

并可以执行:

rake preview

在浏览器中输入http://localhost:4000/ 进行预览。

5. 将博客部署到GitHub Pages

官方文档提供了三种部署(deploying)博客的方法:GitHub Pages, HerokuRsync。我选择使用GitHub Pages。

注册一个Github账号,建立一个新的代码仓库(repository),使用username.github.io命名,这里username是GitHub的用户名。

然后执行:

rake setup_github_pages

需要输入刚才repository的HTTPS clone URL,直接拷贝即可,像这样:[email protected]:username/username.github.io.git

接着执行:

rake generate
rake deploy

发布文件。

最后将source提交到git:

git add .
git commit -m 'comment'
git push origin source

6. 发布博文

之后发布博文,执行下面命令即可:

rake new_post["New Post"]
rake generate
git add .
git commit -m 'comment'
git push origin source
rake deploy

以上是最最最基本的搭建步骤。为了验证本文的正确性,所有步骤我都又重新在我的Mac电脑上操作了一遍。然而由于我的水平实在太过有限,其他稍微高级一点的配置就不在这里详细写了,主要是因为我也不会,还在摸索中。有错误也欢迎指出。

用Octopress的感受

在搭建开始,我遇到了一些困难,花了大半个月去解决它,重新装了十多遍,现在看来终于顺利了。

Octopress和Wordpress有很大的区别,Wordpress是动态的,加载慢;而Octopress是静态页面,所以加载快一些。

我喜欢用Markdown写作。Markdown是一种标记语言,它的语法非常简单,减少了排版带来的干扰,更能专注于文字本身。关于文本编辑器,最初我安装了免费的Mou,但是无法忍受豆子一般大小的字,转战iA Writer,又觉得字十分无比大。最后,我迷恋上了Byword写字,字不大不小刚刚好,虽然Byword也有它的缺点,比如不像Mou拥有两栏式界面,左边编辑,右边可实时预览。

我也曾经认真分析过为什么不去使用也支持Markdown书写的简书,而是花费很多精力自己搭建一个独立博客。我想原因之一是我不喜欢其他平台带有的社交化。虽然在Medium和简书,很大程度上注重内容和写作体验,但是哪怕一点社交属性也让我不安。我只想找一个独立的空间,书写一点自己的文字。

Octopress的缺点是对于小白来说实在太复杂了。即使费尽心血搭建完成基本博客,想做一些高级配置,稍微一点执行不慎,足以将Octopress击毁,只有一切重新再来,这真的足以消磨掉我几乎所有的耐心啊。

comments powered by Disqus