张佳伟的博客

小丸子偶尔崩溃也笑嘻嘻

极客的博客

缘起

几乎每一个使用 Octopress 写博客的极客,第一篇博客必然是讨论 Octopress 本身, 我也不应该例外。

关于极客和我

假使按照极客的个性,哪怕只是自我标榜一下极客的身份也像是在哗众取宠般的做作,印象里极客应该低调,是别人称呼的,如果我自己标榜自己,我那么的高调,那我还是极客吗?如此这般,似乎产生了逻辑上的自我矛盾,所以理论上我不应该自我标榜极客,有贴金的嫌疑,何况博客是给大家看的,假使周遭的熟识对我从来没有极客的印象,又或者我不够资格到极客的水准,那我的第一篇博客就是在胡说八道,乱人视听,诸君报以一顿嗤之以鼻后姗姗离去,那我这是何苦来哉? 不过虽然我自觉我这个人这般也差,那般也比不上别人,但是笨有笨的好处,蛮有蛮的力气,傻傻如郭靖,一根大条练到底,不过是练练少林长拳,耍起来虎虎生风,终究还是可以不一样。计算机与之我,譬如少林长拳与之郭靖,一路黑到底,约莫估计会有 Outliers 里 10000 小时理论的成效。再则,自从踏上这个行当,到底觉得就是因为这股子傻劲让我和别人不太一样,所以先在这里厚着脸皮标榜一番,三年五载之后,看官自有定论。

为什么要写博客?

关于这个问题,参考刘未鹏的为什么你应该(从现在开始就)写博客。然而年过三十,心智方才成熟到觉得必须留下点什么的程度,回望从前只有感叹虚掷年华的份儿,好在亡羊补牢,犹为晚也,好坏开个头吧。

为什么是 Octopress ?

图个方便,大可新浪博客,搜狐博客,CSDN 博客之流,只是提及这些个博客只怕更多联想到苍井空老师,袁萌老师之流,大煞风景,考虑到极客之精神所在,我辈以与之同流合污为耻。李笑来老师是明白这个道理的,他用了更符合 DIY 要义的 WordPress,然而毕竟不能以我们的眼光太过要求一个新东方老师的博客标准,因为即使牛人如刘未鹏也并未使用 Octopress 来写博客,他也用 WordPress。所以是 WordPress?我差点就这么想了,但是关于 WordPress,我看到了自购主机,我看到了 MySQL,我看到了在线编辑。略微权衡一下,这些似乎就已经偏离了精神之所在,所以我想一定有其它的存在吧。

那么一个极客眼中的博客应该具备哪些要素?

  1. 基于文本的编辑

    作为极客,你必须很在意 Vim, Emacs 之流,你应该鄙视一切在 Office,Web 里的文字工作,Office 之流很方便使用,但是实在没有什么效率。即便在我们这个行业里,很多人至今没有弄清楚方便不等于高效这个道理。所以我个人只认同使用 Vim 方式处理任何文本工作,包括代码和博客。

  2. 方便的书写和阅读格式

    假设你承认上述第一点的理念,那么我们还是在写博客,仍然需要格式化的文字使得文字本身在网络上更富表现力,方便读者阅读。但是 html 是一种很冗余的格式存在,既不方便书写也不方便对编辑的源码直接阅读。同时纯文本的格式又走上了另一个极端,书写和阅读基本没有任何代价,坏处在于纯文本几乎又没有任何表现力,除了可以分出段落,它不能粗体,不能斜体,不能更改字号,不能列表。所以结论是:我们需要一种介于 html 和纯文本之间的格式来书写博客,它有不那么大的书写和阅读的成本,又兼顾一定的文字表现力。答案就是 Markdown,再送一份红利就是在线的 Markdown Editor

  3. 灵活的备份和恢复

    这是一条足以放弃 WordPress 的重要理由。我们无非是在码字而已,没有理由引入数据库,基于文本的保存是最安全的保存,它便于检索(grep),容易导入,导出,不依赖于任何第三方软件或者操作系统。几百年后,这篇文档仍然可以被那时的计算机打开,这很重要,好比我们今天仍然有机会看到前人的青铜器,但是我们的后人只能从图片上看看今天的各类一次性制品。如果要求更高一些,我们还希望有类似管理代码的方式来管理我们的博客,同样是文本,Version Control System 不应该是代码的专有权利。中央服务器也可以保证在任何地方,任何时候检出,更新,提交你的博客,并且也不妨碍除你以外的人这么做。

  4. 基于命令行的操作方式

    极客的重要特征是远离 Windows,所以我们甚至应该幻想一个 Windows 不友好的方式来写博客。它应该尽量基于命令行,在 Linux 系统上运行良好,羞啥那些 Windows 上的普通青年和 Mac 上的文艺青年,这不是说我很大度的表示我就是2B青年,只是我实在不愿意诸君承担2B青年的包袱,只好自己大度的承担罢了。

  5. 支持代码片段的显示

    偶尔想秀个小代码也是装2的内在诉求和外在表现之一,所以我们的博客应该是可以这样子的:

Code Snips to test code blocks link test
1
2
3
4
5
class TestCode:
  def __init__(self):
      pass
  def testCode(self):
      print 'hello world!'
  • 最后的最后,不缩水的博客

    好处不能都被你这个2B青年占完了不是吗?你要这个要那个,都满足你了,末了扔给你一个缩水的博客,你不由自主的和那些个不入你法眼的新浪博客,不讨巧的 WordPress 做比较了,于是你又开始不满意了。好吧,我们折中一下,RSS 导出不能少,分享到 Facebook,Twitter,甚至于新浪微博也不能落下,还要能访客留言,搜索过往,提示最近的博客,标注 tag。于是是除了你那些个蛋疼的特殊癖好,别人有的也全都要满足。。。

极客的博客,答案只能是 Octopress,没有之一

没有办法了,只能是 Octopress 可以满足我这样的2B青年了。诸君可以去了解,不用我在这里没完没了的磨机。我也不打算罗列详细的步骤去教诸君如何安装 Octopress 了,诸君都是成年人,有理想,有抱负,会 Google,不会 Google,起码也知道度娘其实被 PS 的过分了一些,不是吗? 为了避免不必要的打击和骂娘的状况出现,我只在诸君打算做这个事情前罗列一些最基本的先决条件,如果诸君实在为难,我们也不能强求对不?

  • 会 Google,至少会度娘

  • 你至少有一个 Linux 系统活在 Windows/Mac 的虚拟机里,偶尔也用用

  • 多少认同 Vim/Emacs,偶尔也用用,起码是用来看日志也算你一个

  • 了解一些 Ruby,Python 之流的动态语言

  • 了解 GitHub 和 Git 的一些基础知识,会 pull,能 push

  • 即使不知道什么是 Markdown 学学也乐意,深表认同 Markdown 哲学

感情没有哪个公司的招聘里会写上这些个应知应会,所以诸君在工作之余,在这个 Java,.Net 横行的年代里,居然还玩会了这些,不管诸君愿不愿意,我也只能承认你我都2到家了。再看看还有哪些人这么2的,无巧不巧,不用我们自己 Google,Octopress 自己煞有其事的列出了用他们这个博客的网站列表,参见 Octopress Sites,假使你有耐心一个一个参阅过来,你没有办法不承认他们都是极客的博客。

缘灭

木有想到第一篇博客写的这么猴累,再接再厉!欢迎新浪微博加我关注:ghosert

Comments