FarBox、Jekyll、Octopress、ghost、marboo、Hexo、Medium、Logdown、prose.io,这些博客程序有什么特点?

在各方面,它们有什么优点与缺点?希望有全面、详尽、尽量中立的评测对比。
关注者
1422
被浏览
98713

28 个回答

谢谢 @陈 赛恩 如此详尽的答案,以及`不舍昼夜设计及编码`做的FarBox模板。

我是相关者,自己也是FarBox的脑残粉,答案应该不会太中立。 但里面有些信息,应该是相对客观的。

我们经常能看到一些关于FarBox的介绍/推荐,但也常因为市面上存在着的类似产品,会让大家产生惯性认知,于是会给FarBox打上一些常见的标签。
坦率地说,这些标签多数并不太正确。


初心

创作FarBox时,主要解决两个问题:

  • 用博客记录生活的时候,希望回归于纯粹的写作。
  • 旅行归来,把照片放到电脑里,无需上传,大家就能在我的个人网站里看到。

另外,我们则致力于创作一些简洁的产品,来改善少数人的互联网生活。

于是,这样,就开始了FarBox之旅。

致力于简洁, 应该很多事情都会变得简单与轻松吧。 但开发FarBox的基础引擎,消耗了我们一年半多的时间。


为什么选择个人的云端存储

个人的云端存储,典型的如Dropbox,已经成为一种多数人使用的服务了。如果通过云端,进行数据的传输,那么带来的两个最大的好处:

  1. 任何时候、任何设备,只要保存、编辑、删除文件,就能操作你在FarBox上的数据;
  2. 你的数据永远有一个备份。

所以,这个选择是不言而喻的。


虽然,我们接入Dropbox的API,表面上看也是Dropbox上的一个文件夹变成了网站。


每每有人赞叹道Dropbox好厉害呀,我们的心情其实很复杂…… Dropbox提供的只是基础API,就是数据同步;而剩下的大量工作,都是FarBox完成的。如果赞叹下FarBox,我们就开心了。:)


关于静态博客

首先,FarBox不是静态博客,其实没有可比性;
但经常被拿来与静态博客对比,所以,我们就谈谈静态博客。

选择静态博客的唯一原因

唯一的原因就是酷了,不论Jekyll(像黑客一样写作), Octopress(Jekyll的再开发), Hexo(Node.js写的,编译速度比前两者快),本质上都是一致的。

但是,真正酷的事情,不是从这些工具中选择一个,而是自己创建一个!写一个静态博客生成器,并没有多大的难度,重点是能体现自己对代码的品位。

除此之外,我们并不推荐去使用静态博客,它远比你想象中要不方便。


FarBox的同类产品

Site44、DropPages

都是基于Dropbox的静态网站托管,并且都已经停止更新了。

本想一笔带过,毕竟静态托管,只是FarBox特性当中的一小部分。
但还是要介绍下Site44团队的两名成员,一个是Todd Proebsting,大学老师,教计算机科学的;另外一名是Steve Marx, 曾经在微软工作(Windows Azure首席构架师), 2013年6月加入了Dropbox(Site44在这之前创办的)。


scriptogr.am/calepin.co

两者很类似,相当于将静态博客与Dropbox结合起来了。

calepin.co是基于开源的静态博客引擎Pelican,所以,到现在,它还在持续(偶尔)更新中。FarBox在最开始的时候,有寻找过类似的框架,如果可用,就可以节省大量的开发时间;所以有研究过Pelican,但并不合适,不论是设计思想、性能、扩展性,跟我们自己想象当中的偏差比较大,只能重写一个。

scriptogr.am是一个知名度比较高的Dropbox博客平台。但它已经停止更新了。在停止更新之前,曾有一个新版要呼之欲出的……

scriptogr.am团队表面上有5个成员,但是,关注下创始人,就明白这一切了:Andreas Pihlström于2013年6月(呃,怎么又是这个月份)跑去Pinterest当产品设计师了。

发生了什么?我们能隐约感受到里面的苦楚。前几年也和几个斯坦福的PhD做一个产品,然后就挂了。团队的能力没有出现瓶颈之前,团队就出现了问题;常常是如此。

我们有时候会想,如果不是花这么多时间去雕琢FarBox,也许她也会很快地凋零了。


postach.io

postach.io+Evernote类似于scriptogr.am+Dropbox的组合。在做FarBox之初,我们有研究过Evernote的API,从API能大概感觉到一个产品的基本结构;好吧,Evernote的结构看起来非常古董,就没有了兴趣接入。

postach.io目前很受Evernote官方的待见,确实在他们如此的API之下,做出这样一个产品并不是一件太容易的事情。如果你是Evernote的重度使用者,倒可以尝试一下;但除此之外,并不推荐,功能不如FarBox,且价格更贵。


BackLift

这个产品常被大家忽略,BackLift是2013年YC孵化的一个项目。

很快,BackLift改名了(或者说前个项目被废弃而新开了一个...)Brace, slogan也从 Turn your design into a functional website 变为 Host static websites from the comfort of Dropbox. 估计可能是BackLift的前景不太明朗,因为按照它的设计,是面向前端(程序员)的。

简而言之,Brace是一个静态站点的托管服务。虽然,Brace也增加了一些特性,比如版本管理、以及利用了Amazon云的CDN服务;但它的角色跟FTP没有本质的区别。


举几个特性与FarBox进行对比,会帮助大家更了解彼此。

1. 动态与静态
FarBox是动态框架,虽然说没有数据库,但是可以像数据库查询一样,获取指定的数据;这是静态站点无法做到的。

另外,基于FarBox的API,用户自己就能实现很多特性,比如Brace说我们推出了Code Editor, 而在FarBox上,则是你还可以自己创造一个Code Editor出来。

2. CDN与速度
CDN应对静态页面很有效,但是动态页面不是太好。所以FarBox自己设计了Nano NetWork,基本接近CDN的性能与速度。

但是Amazon的云不是万能的(Brace接入AWS的CDN,是一种最简单的办法而已),比如链接中国大陆的时候,它的CDN就不是很灵敏了,因为Amazon亚太区的节点,很可能是从澳大利亚过来的,并且同是澳洲,但不同节点,速度还不稳定。

而Nano Network可以直接命中香港的节点。最最酷的是,Nano Network可以让动态站点达到CDN的效果!

3. Dropbox
都是基于Dropbox的同步接口,本身不会有多大差异。但是FarBox在这个基础之上,提供了AutoReload这样高级的支持。


其它产品

WordPress

一个巨无霸的存在。很多人离开的原因很简单,因为它看起来不像一个博客了。


Ghost

一个以挑战WordPress,用Node.js写的开源博客;同时也进行博客的托管,但价格非常高大,最低5美金/1月,1W页面浏览量(如果你使用FarBox,页面不要太复杂,那么,同样的5美金,同样的额度,你可以使用60个月……)。

市场推广做得超赞,吸引了不少模板设计师;但实际产品,可能就打了巨大的折扣。本质上跟WordPress一样(btw, 其创始人以前是在WordPress工作的),需要安装程序,需要数据库,需要服务器(或者虚拟机)。

如果你正在学习Node.js或者追逐潮流,可以尝试下。


FarBox一些基础结构与功能


文件夹数据库

从Dropbox获取的数据,都是基于操作系统的文件路径的,我们必须要将这种结构,转化为可高速查询的数据库结构。

这个数据库真实存在于FarBox的服务器中,但又是每个文件夹内文件结构、内容的映射;所以,可以通过操作文件、文件夹来修改这个数据库,而让我们感受不到这个数据库的存在。

这个数据库是FarBox的基础核心,因为是各个数据的来源,否则,FarBox就只能做一个静态博客了,扩展性弱了,也没有了想象力。


数据结构层

除了刚才讲到的数据库之外,我们还有一个全文搜索的数据库,同时,有一个临时的内存数据库作为缓存系统。三者组成了完整的数据结构层,彼此补充,彼此加速。

如果想把动态的网页,做到静态页面的加载性能,需要把渲染完成的页面全部放在内存中(性能要求);同时,要保证这个缓存是实时更新的(不然,又成了静态页面)。


API

虽然FarBox默认情况下,就是一个博客平台;但我们设计API所考虑的是Web版的WebFrame。

基于文件路径的数据库,可以让我们更加直观地获得数据,另外一方面,模板API的语法除了Jinja2外,还支持Jade。我们喜欢使用Jade语法在FarBox上写网站,代码如诗,这样的感觉很好。像doc.farbox.com,一个功能完整的文档生成器,而主代码只有60行左右。

FarBox还可以通过获得fb_token开放所有的权限,甚至允许别人匿名往你的某个站点目录内上传文件。比如we.farbox.com就是基于这样的原理。

FarBox除了从Dropbox这边同步数据之外,也有自己的数据API平台,并能和Dropbox端的数据去重和再同步。比如我们做了个todo.farbox.com

为了让模板文件的修改能直接生效,我们增加了AutoReload的支持;为了CSS结构更加容易维护,我们支持SCSS的自动编译。

除了创作者,我们希望为Coder也提供友好的体验。

我们下一步,考虑增加基于WebSocket的Realtime接口。


FarBox Editor

Mac上虽然有不少优秀的写作APP,典型的如Mou;但我们需要可以有网站文件夹这个概念的管理器。

开始做FarBox的时候,Windows上其实没有用得舒服的写作APP。

另外,我们希望能打开这个一个软件,就直接写,(一般情况下)不用再管文件要保存到哪。

还有一个原因,很多(普通)人对Markdown并不熟悉,我们在解析Markdown的时候,便做了些许的改造;因此,如果有个自己的Editor做预览,效果会更好。

既然是基于文件夹,我们也希望可以将一个文件夹,直接导出为PDF电子书。

好吧,承载了这些期望,我们决定做一个桌面的写作APP。对我们没有写作桌面程序的人来说,确实比较难;但无所谓,觉得应该做的事情,那便开始做了。

这就是FarBox Editor的由来。



评论系统

除了文章、图片,它们自己的评论,也是与Dropbox保持同步的。

虽然使用第三方评论系统,也是一个常见的现象。但我们希望达到一种开箱即用的状态,总不能强迫每个人都去注册第三方的评论系统吧。

这就是FarBox评论系统的由来。

但也是蛮麻烦的一个系统,比如@xxx产生的回复以及对应的邮件通知,比如数据冲突的处理,最麻烦的是spam。始终不想增加验证码这样影响体验的东西,防spam的系统,也连带着要设计开发。



网站后台管理


一开始的时候,我们没有打算增加后台管理,网站的属性扩展与设置,用Markdown格式的site.txt进行控制就可以了。

但慢慢地感觉不友好,所以,增加了一个后台管理的系统,可以将一个文本文件渲染为一个网站的管理后台;保存之后,会形成一个新的site.txt。

不但如此,后台管理系统是由一个interfece.json控制的,每个人根据默认的规则,可以定制自己的后台管理。



Nano Network

原来,我们只是计划把FarBox单机结构,重新设计为分布式的就可以了。

但是机房从日本迁到了美国,发现与大陆的连线,有些时候拥堵了,网站的速度就很慢。

原本计划很久以后才能开发的Nano Network也提上议程。

Nano Network的原理其实很简单,当请求DNS的时候,会自动给你匹配一个最近的Nano节点。 第一次请求这个Nano节点的时候,会从主服务器中获取内容,并呈现给访客。同时,还会与主服务器保持通讯,来判断当前页面是否需要更新了,以及更新其它节点同步过来的数据变化。

那这不就是一个高级点的CDN么? 当然不是! Nano从主服务器获得的内容,不但是一个HTML页面,更是一个可以重新渲染的微型框架;下次请求的时候,会重新渲染一次页面,而无需再从主服务器中获取。

简而言之,Nano Network本身还是很复杂的;但是效果很惊人。


其它

FarBox其实还有很多特性,可能有部分存在于文档,有部分存在于使用者的直觉之中。

另外,我们也在不断的尝试新想法。
比如Dig系统,它可以让文章排序的时候,挖掘到最近最受欢迎的文章,并且这个数据挖掘系数还可以自定义。


写在最后

凡是罗列功能的文章,必然看起来让人头大。 估计本篇也是如此。

我们希望大家能够明白FarBox的与众不同,她不是XXXX,也不是XXXX,她就是FarBox。

最后,我们用一句被用坏了句子作为总结:

FarBox在不断弥合人文与技术之间的沟壑。

如果提问者想知道哪款博客程序适合自己,建议还是都试用一下,这是最快捷的方法。

---

以下内容来自于我个人的调查和使用经验,如果有错误或者主观的地方,欢迎指正。
注:marboo 和 Prose · A Content Editor for GitHub 第一次知道。

FarBox
国产,对中文支持好。类似于国外的 Scriptogr.amCalepin(类似还有很多,但这两个是主流,calepin 是 dropbox 用作博客的始祖),利用 dropbox 做仓库储存文章,Markdown 写作。一键安装,不需要懂技术,使用门槛低。可以生成静态网站(这点类似 site44)和博客。作为个人博客是个不错的选择,不用管数据库什么的,专注写作。但如果要做动态网站,还是用 WordPress 或者 site44 的付费版(如果你一定要用 dropbox 的话)。
收费参考:Pricing。对于个人用户可以说近乎免费。暂时未开通企业服务也说明它现在还不适合做企业网站。不过想想 WP 虽然是免费的,但是还得买空间,对比之下 dropbox 的免费2G和 Farbox 的“五年计划”还是较为划算的。

Jekyll • Simple, blog-aware, static sites
完全免费,可以托管在 Github 上。相当于技术版的 WP 地位,插件多,教程多。自定义程度高,世界中的程序员们都爱用,便于与他们沟通交流,结交朋友,学习知识。但是需要一定的技术知识,虽然现在中文教程很多,照做应该可以顺利搭建,但步骤还是稍显繁琐,特别对于不懂技术的人(比如我,纠结了很久 git 是什么),完全是一头雾水。
另外需要注意的是,用 Github Pages 建博客除了在技术上适合程序员,在内容上也更偏向分享程序界的知识。如果只是生活叨叨,那还是算了吧。参考使用 GitHub Pages 来做博客是否道德?@钟子豪的回答,不要漏看 spread your ideas 这句话。

Octopress
据说是 Jekyll 的简化版,比 Jekyll 易上手。免费,托管 Github,教程不少。缺点同 Jekyll,另外据说文章一多非常慢。

Ghost - Just a blogging platform
因为放出话来要代替 WP 成为博客界的龙头老大而闹得沸沸扬扬的新平台。发起者是 WP 的(前?)员工,基本可以等同于年轻时的 WP(现在的老 WP 已然是一副 CMS 的样子了)。融合了些现代技术和思维,比如 Markdown 写作。和 WP 一样免费开源,需要买空间托管。缺点大概就是没什么特别的地方吧。

Marboo
看了题目第一次知道,去官网看了一下,发现是个编辑器,可以写很多语言: Markdown、HTML还有程序。对于前后端都涉猎的人来说应该是个不错的编辑器。更多请参考介绍 | Marboo Guide

Hexo
台湾产。用 Node.js 搭建的博客平台,速度快,免费,可以搭建在 Github 上。操作比 Jekyll 简单,命令少,易于记忆。 安装好像也简单一点。

Medium
一个完整社区,大家在里面写写读读。专注于写作和阅读。国内有类似的社区:简书十五言 - 每个人都在创造

Logdown, blog things with Markdown
分免费版和付费版,具体差别请看Plans & Pricing « Logdown。注册后第一个月内是付费版试用,用得爽了可以选择继续付费使用,或者切换为免费版。免费版只有一个静态页面,不能绑定域名。Markdown 写作,图片拖曳上传,免费版30张,付费版10G空间。

Prose · A Content Editor for GitHub
在线编辑器,区别于 Jekyll、Octopress 以及 Hexo ,它提供一个建立免费 CMS 网站的环境(好吧,我承认我在翻译介绍页面)。

除了 Scriptogr.amCalepin,另外补充个 DocPad - Streamlined Web Development,看了官方文件,英语不好,后端不懂,所以不太明白。但是看见基于 node.js 和 express.js,是不是和 Hexo 有点类似呢?求其他大神补充吧。

---

经过两天两夜的调查和思考,本来都决定用 FarBox 了,但是因为回答这个问题,现在又动摇想用 Hexo。Jekyll 和 Octopress 以前也考虑过,但是实在太复杂,没心情设置,写作的感觉都跑光了。不过考虑到我的博客大多是生活水文,还是很犹豫要不要在 GitHub 上“丢人现眼”。其实 Dropbox 搭建博客这个创意我觉得非常好,把本地和线上的界限模糊了,随时保持与线上的联系,却又能控制于本地。另外只要手机可以编辑 Dropbox 上的文件,也算实现了 blog on the go。用 Markdown 还不用担心排版问题,真令人心平气和啊。

---

现在使用 Farbox 家的新产品 Bitcron,欢迎围观:水八口記

为什么?