我是如何建自己的网站的

  2015-05-20 00:00:00 CST

  Jingwen Peng

  Web

Mass-Paper

突然意识到距离上一篇文章更新已经五个月了,说好的坚持阅读和坚持写博客呢!其实博客一直没有更新跟网站没有彻底完成有很大关系,没有良好的编辑体验就一直懒得去写新东西。这次我讲讲我是怎么经过一番慎(纠)重(结)的选择之后顺(蛋)利(疼)的把我的网站进化成现在的样子的,也许会对打算写博客的你有点参考价值。

那时候天总是很蓝

Lofter

最早开始决定写博客的时候是两年前,详细的原因可以参见 《我为什么选择 Lofter》。当时是为了记录下点滴,另外也分享一些技术上的心得和技巧,仅仅是为了缓和一下失落的感觉。但是后来,慢慢地我意识到,写作对自己语言和技术水平都有提高,是一件应该坚持下去的事情。正如两年前的博客中所描述的,那个时候我在使用网易的 Lofter 轻博客平台,也很喜欢轻博客的干净简洁。

那时候天总是很蓝,一切都那么简单,就这样使用了大概有五个月的时间,轻博客的问题就一点点暴露了。轻博客真的太轻了,轻得只适合发图片和少量纯文本。没有代码高亮、不可以自定义样式、不可以更改字体、不可以上传附件、不可以自定义网页代码…… 其中最重要的问题是不能自定义字体,因为当时 Lofter 本身所采用的字体并不适合阅读。去瞄了一眼,Lofter 现在采用的是东青黑、微软雅黑(中文)以及 Tahoma、Arial(英文),目测因为版权问题它并不能使用 @font-face 去嵌入字体,也就意味着 Windows 和 Linux 用户依然看不到东青黑。想必 Lofter 现在的做法也是权衡版权、网页加载速度等问题之后的无奈之举。毕竟没有几家公司可以像 Apple 一样变态,不但购买字体,也参与字体设计,最后为了优化网页加载速度把需要用到的字单独切除来用,真心佩服的不行。

这些对于一个技术博客来说都是致命问题,由于当时也没有其他好的选择,就将就着先用着。直到有一天,Lofter 出 Bug 了,对你没看错!偏偏在我的博客出问题了,博客分类出现错误了,无法新建分类,也无法删除分类。作为一个会写代码的,虽然出现这种问题是可以理解的,而且客服 MM 也很快帮忙解决了这个问题,但是是令人无法忍受的,决定要换一个地方写博客了。

也许有一天 我老无所依

Blog-2013

这时我遇到了 GitHub Pages,好像一下子自由了,终于可以牛逼哄哄的写博客了。(至于如何使用 GitHub Pages 和 Jekyll 构建自己的静态网站我这里就不多说了,两三年的时间也积累出了无数的这方面的教程,也有相当多的人选择将自己的博客迁移到 GitHub。)花了一天时间熟悉了一下 Jekyll,又花了一周时间纯手工打造了一个静态网站,纯手写代码的方式如此随心所欲,以至于我给我的博客加了一个无比前(风)卫(骚)的首页(如上图)。好像一切抱怨都没有了,字体可以通过代码控制、样式和风格都是一行行挤出来的、代码高亮则可以通过 Jekyll 插件实现而且还可以控制高亮的色彩、至于附件和图片管理就是直接放在自己想放的位置,从来没有一种方式让程序员有这般优越感,像写代码一样写博客。

可是你以为事情真的是这样?通常看起来可以让你心满意足的事情往往也是让你痛心疾首的。首先,你的博客托管在 GitHub,天朝访问 GitHub 的龟速也是众所周知的,而且还时不时的被墙掉,就这一点就足以让你放弃使用 GitHub Pages 来构建你的博客。而且,这根本不是什么像写代码一样写博客,这分明就是写代码!每次你想先写点内容当草稿、或者是你发现博客有个错字、亦或是你想删除一篇博客,你都要掀开电脑、修改网站源文件、提交一个版本、推送的 GitHub,然后等待页面更新。虽说使用的 Jekyll 是个很优秀的静态网站生成器,可是它毕竟只是个生成器,而且是个很蠢的生成器。在 Jekyll 开启动态刷新的开发模式下,每次你修改一点内容然后保存,它都会将整个网站重新生成一遍,此时你再刷新浏览器就能看到你修改后的内容。问题就在这里,每次一点小的修改都要重新生成整个网站,开始的时候没感觉,但是到后面,博客上升到几十篇的时候明显感觉速度非常缓慢,这酸爽就像你等待电脑重启的感受。可以想象,如果坚持不懈的用 Jekyll 来生成你的网站,也许有一天,你将老无所依。不过用 Jekyll 来写很小型的静态网站肯定是得心应手,游刃有余的,比如我用它来写我的前端库的介绍页面。没错,我无法忍受这种方式来写博客,决定要换一个地方写博客了。

在这里我都能实现

Rails

也许一个动态网站是更适合我的,这样就可以像写博客一样写博客了。在尝试了几乎所有的 CMS 之后,没有让我感觉恰到好处的,于是我决定自己写一个自己的动态网站,因为我相信我就是我,我相信明天,想做的梦从不怕别人看见,在这里我都能实现。你一定会觉得我疯了,但是一周之后,我用 Ruby on Rails 实现了自己的博客网站,然后租了个服务器跑在上面,又去弄了个域名。但是两年前,我如是说:“打算自己配服务器、建网站、注册域名、写一套博客系统、搭建一个 Git 管理系统。后来我放弃了,自己建站成本不小,而且很多精力会花在维护服务器运行上,而我想要的是专注地写博客。” 终于,变成了自己不想要的样子,之前说好的单纯写博客的,说好的不要因为一些不必要的开发消耗精力的,说好的不要租服务器的。我却在这条路上越走越远,除了拥有最基本的博客功能,我这个动态网站甚至拥有文件管理功能,可以直接管理服务器上面的文件,我用我的这个 Web 文件管理器来管理我博客中的图片和附件。但是坚持写自己的内容管理系统比坚持写博客难多了,不仅会花费时间和精力,同时导致我的博客停止更新了,因为我已经没有时间去写博客了。截至目前为止,我还有 7 个计划中的功能没有完成,最终我放弃了继续开发。该内容管理系统的代码现在静静地躺在我的硬盘里,也许以后会整理一下然后开源掉。同时在我自己写 CMS 的期间,我还把自己网站中的 CSS 整理之后作为单独的项目开源了出去,方便日后的维护。这段期间应该算是丧心病狂了,不能再这样下去了,决定要换一个地方写博客了。

归来吧 归来哟

WordPress

折腾了超大一圈之后,经过了漫长的纠结和权衡,我最终决定用 WordPress 建站,毕竟俗话说:招不在新,管用就行。找一个成熟的内容管理系统进行二次开发是最快完成目标的方式,于是我用了一天时间熟悉 WordPress 的 API,花了三天时间写了一个自己的 WordPress 主题,又写了个小脚本把我的 Rails 网站的数据导入 WordPress。想想看也是醉了,从 Jekyll 到 Rails 再到 WordPress,网站的外观基本没变过,因为我没时间去改,却在无意义的事情上浪费了很多时间。这次,终于,我可以安安静静地写博客了。

说不出有多么快乐 还是不够

Writing

关于博客网站的折腾可以告一段落了,以后就是继续完善,继续添加自己需要的功能。更重要的是,要更专注于写博客,要更会思考和选择,不要浪费了时间和精力。除了有个网站之外,我还使用 Gitlab 建了自己的 Repository,因为 GitHub 提供的教育优惠包不够用了,它的两年免费的 Micro Plan 只能存放 5 个私有项目。现在,起码可以安静地构建一些服务,自给自足了。

然后,我问自己,接下来是什么?

如果您有疑问或建议,请在下方评论区域留言

遵循 BY-NC-ND 协议

评论功能加载中...