现在还有必要拥有独立博客吗?谈谈我的独立博客史

缘起

一直想拥有一个属于自己的独立博客,这或许算是我作为程序员的执念之一吧。

为什么

因为我从别人的博客中收益良多。像学习 Vim 的时候拜读过酷壳的 简明 Vim 练级攻略,还包括谷歌搜索时经常接触的其他优秀文章,期待有一天我也可以通过文章来帮助别人。

希望认识更多志同道合的朋友,人生太短,世界太大,如果有一天因为博客而结缘,进而成为朋友,不是很美妙的事情吗。这几年我通过博客认识了好几位朋友,虽然不多,但是都保持着不错的关系,我也期待着别人通过我的博客认识我的那一天。

希望能有一个自留地,有些话想说,有些事想做,有些回忆想留下。而假手他人,总不如自己可靠。

为什么一定要独立博客?

不可以依赖公众号、CSDN 等博客系统吗?曾经的我也是这样想的,为什么一定要这么麻烦,重要的不是写文章这件事吗?是的,最重要的是开始写。我也曾经使用静态博客、Github Isuues,以及公众号的方式来托管文章,但是随着长期使用它们总有不尽如人意的地方,后面会在我的独立博客史中谈到。核心的问题在于:我们并不能真正享有我们文章的所有权。

我的独立博客史

第一个博客,大学时代的初次尝试:WordPress

我在学生时代早期一直有记日记的习惯,然而到了高中后期因为学业的原因放弃了,除了不久前又尝试记录过一段时间,从此再也没有捡起来过。

到了七八年前的大学时代,希望能有一个地方记录我生活的念头再次燃起,这时候瞄准了功能强大的 WordPress,使用了当时新潮的 .me 域名,尤记得我的服务器是申请了 Github 的教育优惠,用领的 100 美金代金卷购买的 DigitalOcean 最便宜的 5 美刀一月主机,好不容易搭建上线之后发现因为外网的缘故,国内访问非常卡,而且 WordPress 本身非常臃肿,体验并不好,在断断续续写了几篇文章后就废弃了。

第二个博客,毕业后再起航:Jeklly 静态博客

时间荏苒,大学很快结束了,我于 2015 年 6 月底毕业,工作之后接触的多了,再次希望能有一个地方呼吸除了工作之外的清新空气。

第二个博客吸取了教训,为了专注写文章这件事情,选择了 Jeklly 这种静态博客,托管于 Github,于 2015 年 8 月 17 日上线。在这里第一次认识到 Markdown 文件格式,后面一直基于此编写文章。博客上线初期写了几篇文章,后面因为系统故障,本地原始文件丢失,然后才发现 Jeklly 竟然只保存了渲染后的静态 html。

原始文件的丢失加换工作的缘故,进入了 9106 的高强度模式,情绪低落就没有继续写了。而博客也随着 .me 域名的到期而关闭,只留下 Github 的仓库遗迹。

第三个博客,不死心之再出击: Github Issues

正所谓念念不忘,必有回响。在第二个博客关闭的两年半后,2018年 3 月5 日,我选择了 Github 的 Issues 继续我的博客之旅。

经过两次失败的沉痛反思和近五年的时光,我认识到不管使用如何花哨的技术,如果我不能保证持续的产出文章的话,我的独立博客之旅就要在此终结。我不甘心啊!

我告诉自己,这次我一定可以成功,因为我的独立博客之魂还在燃烧。而最重要的就是专注写文章,专注写文章,专注写文章。

这也是我选择 Github Issues 的方式,简洁、无广告,同时把 Blog 仓库置顶到首页,作为一个每天都上 Github 的来说,也是对自己的一个提醒和激励。

这次我成功了,在花了一年多写了十来篇博客后,虽然产量不高,但是我发现坚持写文章对我来说已经不是问题了(如何坚持有机会额外分享)。而这时 Github Issues 的缺点也渐渐暴露了出来。

  • 贴图困难。我之前都是手动截图,传到 Github 仓库,然后链接原始文件地址,非常繁琐。后面贴图的问题通过 upic 这个小工具有所缓解
  • 分享困难。我有些读书笔记想和我的朋友们分享,但不是所有人都是程序员,访问 Github 对某些人来说太不方便了。
  • 交流困难。因为分享困难,导致我的文章基本没有互动,除了第一篇文章有 10 来条捧场评论,后面在两年间通常只有一到两条评论。
  • 没有统计。对于文章的相关数据基本一无所知,再加上评论的稀少,给自己一种玩单机游戏的感觉。
  • 没有订阅。虽然有 Watch,但是功能还是太弱了,基本上可以说是可有可无。

第四个博客,有苦有乐:公众号

这时候我了解到了公众号这个平台,觉得对以上几个问题是比较好的解决方式。一开始是在 Github 发布文章之后再手动同步到公众号,但是很快我就喜欢上了公众号的体验。

文章在公众号的阅读量和活跃度比在 Github Issues 高的多,而且跟朋友的交流也很方便,附带的数据统计也够用。这时因为贴图过于繁琐的问题,我渐渐不再同步内容到 Github Issues 上了。

在公众号写作了快一年后,公众号的缺陷也慢慢暴露出来了。

  • 更新文章受限。文章发出后,只能有一次机会修改二十五个字。有时候只能通过留言来纠正,体验并不好。
  • 广告嫌疑太浓。公众号目前的营销和商业氛围太浓。有时候跟朋友或者在群里聊天,都不敢发自己的公众号文章链接,总感觉自己是在打广告,特别羞耻。
  • 无法被搜索引擎收录。文章的阅读数集中在发表后的一两天内,之后基本不再增加,除了特意翻看历史文章的人,基本不再有机会被曝光。
  • 无法外链。之前我经常外链 Wiki、Github 等丰富文章内容,而公众号只提供一个阅读原文,有时候真的让人感觉非常不便。
  • 自定义功能太弱。比如我想跟朋友交换友链、加上作品列表、支持 RSS 订阅、放上 Github 链接、这在公众号的系统中是无法满足的。

第五个博客,浴火重生:自己开发 shidenggui.com

其实很早前就动过开发博客系统的念头,本身作为一个后端工程师,博客系统可说是非常简单的应用。但是真正的问题在于前端,之前也曾自学过 CSSJavascript,但 CSS 给我留下了难以掌握的心理阴影,尤其是其中的 Float 布局。

不过最近一年事情出现了转机,我花了不少时间打磨我的小说推荐网站 推书君(www.tuishujun.com) 以及对应的小程序版本,在这个过程中我渐渐熟悉了前端,虽然还称不上专业,但是我想开发一个简单的博客应该是够了。

时机成熟了,我告诉自己,而且正逢春节在家隔离,时间充裕。说动就动,在吸取了前几个博客的教训之后,做了以下几点考虑:

  • 文章依旧使用 Markdown 编写,显示的时候渲染为 HTML。现在有很多优秀的 Markdown 编辑器,比如 typora 等,没有必要再实现一套复杂的编辑系统。而文章的元信息比如创建时间等参考了 hexo ,使用 YAML 附加于文章头部。
  • 支持搜索引擎收录。使用支持服务端渲染的 SSR 框架 Nextjs。
  • 保证加载速度。CSS 使用 Tailwincss,基本没有单独写过样式类,CSS 大小控制在 5K 以下。尽量减少 Javascript 类库的引入。使用 CDN 进行加速。
  • 提供 RSS 和公众号两种订阅方式。
  • 尽量小的内存占用,降低后续维护成本。使用 Docker 打包,整个博客包括使用 Nestjs 的后端,内存占用 170 MB。

总体开发花了三天时间,其中一天用于将公众号和 Github 的文章改为当前的 Markdown 格式,于 2020 年 2 月 14 日正式上线。

独立博客上线一周了,带来了什么变化?

说实话,效果有点超出我的预料,容我细细道来。

友链

博客上线之后,第一步自然就是跟朋友交换友链了,终于给朋友们的博客地址找了一个好家。

更好的文章分享支持

在发推或者 tg 群里面聊天的时候,常常会看到别人贴的链接有特效,而自己贴的文章却不行,研究后发现是需要在网页中添加关于社会化分享的配置,这次也给自己的博客加上了。

更好的传播

程序员的交流还有很多一部分不处于微信生态圈,而大家也大多不愿意分享微信文章链接。

博客上线一周之后,我遇到了一个针对开源开发者的福利活动,整体流程比较复杂,有不少朋友遇到问题,我就写了一篇自己的操作流程分享到博客上,看能不能对大家提供帮助。没想到大家非常热情,也有不少朋友写文章的时候顺带提了一句,结果这篇文章在三天不到的时间收获了两万多的阅读。

虽然是暂时的,不过还是很高兴能给那么多人带来帮助,也算是给自己的博客开了一个好头。

一些小问题

  • 图床:图片的存储一直是独立博客比较烦恼的问题,我这次使用的是 gitee 的图床,当后来发现图片无法在微信浏览器中正常加载,比较恼人,后续准备换用自己的存储系统,具体还在调研中。
  • 原创保护:之前我在公众号翻译过一篇谈产品的文章,反响比较热烈,好几个人找我开转载白名单。而这次发布的教程文章同样受到好评,但是我在一天后发现 segmentfault 和知乎已经有了我的盗文,而我却没什么太好的办法。

尾声

博客刚刚上线一周,有很多小细节还在优化中,有些功能尚待开发,不过也收获了很多惊喜,后面我也会持续努力。

如果大家对独立博客有兴趣的话,欢迎加我好友(博客右上角订阅/公众号菜单),一起交流。

以一段话纪念我这曲折的独立博客史:

天方国古有神鸟,名「菲尼克斯」(Phoenix),满五百岁后,集香木自焚,复从死灰中更生,鲜美异常,不再死。 ————《凤凰涅槃》

文章首发于公众号 「食灯鬼」及个人博客 shidenggui.com

你可能感兴趣的:(javascript)