ZMonster's Blog 巧者劳而智者忧,无能者无所求,饱食而遨游,泛若不系之舟

简洁、轻便——静态博客写作方案

静态博客写作的优势

纯静态博客写作有以下优势:

  1. 响应速度快(访问时)

    博客站点页面都是静态页面,访问时不需要查询数据库,因此自然就能够有较好的响应速度。

  2. 最大限度的控制

    对于大部分静态博客写作方案而言,网站的每一个实现细节都是可以由自己来调整掌控的,这样虽然带来了一定的技术难度,但一来流行的解决方案在网上都有许多可用的模板,二来网站的可定制性非常高。

  3. 更好的写作体验

    在解决了网站的外观后,就可以体验静态博客写作的最大好处了。常见的静态博客写作方案都支持在本地编写文章,这样的优势是可以自行选用最合适最顺手的编辑器,而不是那些常见博客平台上简陋的在线编辑器。

  4. 更加方便进行备份

    静态博客写作方案都支持本地编写文章(甚至有的解决方案只能在本地编写文章),这样的好处是我们可以在本地有所有自己文章的一个备份,只要小心地使用你的计算机,这些数据就能够得到很好的保护,不放心的话还可以使用Dropbox之类的工具进行进一步的备份。

  5. 省钱

    我不是开玩笑的,待会你就知道了。

解决方案

大致有三种解决方案,且看我一一道来。

自购主机方案

如果能够有条件购买主机空间,那么这是最理想的。试想一下,都有自己的主机空间了,想怎么折腾不行是不?想用Wordpress就用Wordpress,想自己写html就自己写html。这种情况下如果还是想构建静态博客,参看下一个解决方案。

Github Pages

Github Pages的介绍以及使用它来建立个人博客的内容可以看我之前的一篇文章使用Github Pages服务建立个人博客 。使用Github Pages的好处是不用花钱购买自己的主机空间,这后面的Dropbox方案同样如此。

说到Github Pages,大部分人对其有所了解的人可能会第一时间联想到Jekyll。没错,Github Pages是在后端使用Jekyll来生成我们的静态博客,但我们在本地并不是只有Jekyll一个选择。

Jekyll是一个静态博客生成器,事实上还有很多其他静态博客生成器供我们选择——它们和Github Pages合作得很好,因为其中的一些就是为了和Github Pages适配而开发出来的。

此外还包括了一些基于某些静态博客生成器的框架也可以使用。

这里列举一些比较流行的静态博客生成器或者静态博客框架:

  • Jekyll

    Github Pages官方推荐产品,依赖ruby。

  • Jekyll-bootstrap

    基于Jekyll的框架,提供了几种现成的外观主题。

  • OctoPress

    基于Jekyll的框架,只用过短短几天时间,不予置评。

  • hexo

    由Node.js驱动的博客框架,功能强大、使用简单。

  • Pelican

    Python编写的静态博客生成器,对Python有爱的人不妨一用。

  • OpooPress

    一个基于Java 的可用于博客的静态网站生成器。

以上所有方案都支持Markdown语法。

注:新兴的国内代码托管平台Gitcafe 现在也提供 Pages 服务了,用同样的方法也可以在Gitcafe上搭建静态网站,这是 我在Gitcafe上搭建的笔记网站(2013-12-24更新)

Dropbox App

DropBox 是一款非常优秀的免费网络文件同步工具,它有以下几个优点:

  • 全平台支持
  • 稳定,不用担心宕机
  • 第三方应用丰富

前两个特点是对于现在的云存储服务来说并无特殊之处,Dropbox的强大之处就在于第三点。这里有一篇文章 讲述了Dropbox的“另类”功用。

文中第一条就是

使用Dropbox搭建一个网站或博客

没错,我们要的就是这个。

以下应用可以用于和Dropbox一起来搭建个人博客:

  • Scriptogr.am

    我尝试了一下Scriptogr.am,这里是我用它搭建的博客

    Scriptogr.am只要求用户编写Markdown格式的文章即可,除了通用的在本地编写文章外,Scriptogr.am还提供了一个非常简洁的后台管理界面,在那里可以管理文章、编写文章,此外还能修改网站的css和html源代码。

    <img src="/assets/img/2013-09-30-scriptogr-am.png"/> </p>

    网站的默认外观干净、清爽,不过除了首页外,只有一个Archive页面,可能稍显美中不足。

  • DropPages

    DropPages不同于Scriptogr.am,它会将网站的构成细节交由用户,用户可以自由地修改网站布局、外观等等,默认提供一个可用的主题,不过说实话,我不知道它用的是什么模板语言。

  • site44

    site44和DropPages类似,但也有不同之处,DropPages生成的应用目录下并不是网站的完整结构,而是一些用户可以修改的文件;site44则不一样,它将对应的应用目录下的文件作为网站来进行发布,相对来说site44的自由度更高一些——此外,site44默认只有一个index.html,所以要想有一个功能完整、丰富的博客,还得下点功夫,可以考虑用之前提到的静态博客生成器来做这件事情。

    这里 是我用site44这个应用配合Dropbox搭建的一个个人网站(请不要太在意内容)。

  • FarBox

    FarBox也是一款受到相关人群喜爱的Dropbox应用,其使用和Scriptogr.am类似,用户只要关心文章的撰写就可以了,至于外观,官方提供六种模板。相对Scriptogr.am来说,FarBox的后台管理功能更为强大,而且支持categories。另外,FarBox不仅可以和Dropbox一起使用,通过Google Drive同样可以利用FarBox进行博客写作。

    不知道是Bug还是什么,我在FarBox上写文时,插入的链接不能正常显示,看这里 ——我保证我遵守了Markdown的语法。

事实上相关的Dropbox应用不止上述四个,只不过这四个是比较常用的。

云平台方案

云平台即 PaaS (Platform as a Service)也是一个搭建个人博客的途径。当然,在云平台上搭建个人博客可以不限于静态博客,不过一般云平台的免费服务都有流量以及存储的限制,所以搭建静态博客可以更加有效地利用这些免费的资源。

这里推荐几个云平台:

  • Heroku

    Heroku的操作非常简洁,而且也是使用git来进行管理,非常方便。

  • Openshift
  • Sae/Bae/…

以上几个我只使用过Heroku,不过其他云平台上搭建博客的方法在网上也是非常普遍的,这里就不再细说了。总体来说,在云平台上搭建博客相对复杂一点。

其他一些话

总的来说,可选的解决方案是很多的,选择何种方式就看自己喜好了,不过我想不应该太纠结于形式,一旦选定了一个平台,老实点多写点东西才是正道吧。

完。