缘起
一直想拥有一个属于自己的独立博客,这或许算是我作为程序员的执念之一吧。
为什么
因为我从别人的博客中收益良多。像学习 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
其实很早前就动过开发博客系统的念头,本身作为一个后端工程师,博客系统可说是非常简单的应用。但是真正的问题在于前端,之前也曾自学过 CSS
和 Javascript
,但 CSS
给我留下了难以掌握的心理阴影,尤其是其中的 Float
布局。
不过最近一年事情出现了转机,我花了不少时间打磨我的小说推荐网站推书君 https://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),满五百岁后,集香木自焚,复从死灰中更生,鲜美异常,不再死。 ————《凤凰涅槃》
回到开始
最后再来折返到最开始的问题,尤其做为一个远程工作者来说,我们有必要拥有自己的独立博客吗?我认为是有必要的。一方面是通过博客可以逐渐增强自己的知名度,认识更多的朋友,另一方面因为远程的特性,雇主、同事互相之间本身就缺乏了解,如果能在博客放上自己的作品列表,是让大家迅速熟悉的一个非常好的方式。
题外话:Markdown 编辑器的必要性
第一次在电鸭发帖,在电鸭还是一早一晚的时候我就关注了这个平台,一直觉得这里氛围特别好,而这次正好写了一篇跟独立博客相关的文章,觉得跟远程工作者的关联还挺强的,就希望能跟大家多加交流。
在发帖过程中,我发现电鸭还不支持 Markdown 格式,一开始还不敢相信,花了一点时间想找到源码模式的按钮。最后咨询了大灰后才发现确实不提供 Markdown 编辑。对我个人作为一个程序员来说,已经好几年没用 Markdown 以外的格式写文章,我是觉得挺不方便的,但是不知道大家的意见,经过跟大灰的商量,特地将这个问题提出放在文末,希望大家能有所反馈,看看支持 Markdown 编辑器的必要性有多大?
虽然对md没有执念,但是强烈支持你继续写blog。
old school blogger rocks!!🤘
非常好的话题和建议。已充电+置顶+转发!
我相信很多人都断断续续写过自己的博客。
至于是否一定要有自己的独立博客,我觉得取决与本人对写东西这件事的诉求是什么。
As i say above:
是的,独立博客的成本还是比较高的,尤其是在国内想要体验好的话,云服务器、备案、CDN、运维都是开销。像我这样整个网站都自己开发的就更不用说了。
强烈希望支持 Markdown ,主要是更省事更严谨。
这个编辑器我手机输入法没法输入英文,诡异的一塌糊涂。
另外编辑起来的难用程度和知乎编辑器有得一拼。
哈哈,md肯定是要加的,等开发们忙完这段。
btw,虽然是吐槽,但能和知乎并列被吐,心中一股骄傲油然而生。😂
曾经对自己的博客寄托了太多东西,后来就释然了。现在只是作为自己发牢骚的地方。
我一开始也是,对博客抱有太大的期待,希望一上线就有很多人访问、评论。实际上却是用户稀少,像单机游戏一样,幻想破灭就没动力了。后面把重心放到写文章上,博客是自己感悟的积淀,才慢慢坚持下来。
我也是,曾经幻想过
一度也怀疑,觉得写完个东西所搜引擎也搜不到,后来觉得就是做完一件事写点东西出来留下点痕迹好了。
写博客其实有时候挺寂寞的,所以最重要的是要保证自己能坚持写文章,养成这个习惯,其他就都是自然而然的事情了。
说得对,把事情做好,其他的都会水到渠成
赞。请教下,写博客如何能保持持续输出呢?写哪些题材呢?写的内容是面向自己还是面向用户?
保持持续输出的关键是有持续输入,输入多了自然就有想说的话了。我的题材一般是读书笔记、自己创建的各种产品以及一些编程思考。
目前的内容都是面向自己的,后续逐渐考虑更加面向用户一点。
持续输入,这点很有启发
膜拜大佬~之前想做一个自己用的工具网站,但是同为后端程序员,对css感到很头疼
都是在项目中慢慢积累的,我的前端水平在维护推书君这个网站的时候产生了质的飞越。编程更多是工程能力,实践是最快的提高手段。
以前弄了个放在公司内网服务器结果机子过了再没兴趣了
我一开始几个也是,要长期维护必须先弄明白自己为什么要搭建独立博客。
嗯,有个博客还是有必要的,自己的田地,想重点啥都行,沉淀自己的东西。同时也能慢慢建立自己的个人品牌。
嗯,个人品牌需要长期的积累,一个维护良好的独立博客,会慢慢让更多的人认识你,甚至还有人会成为朋友,因为喜欢你的文章通常都跟你兴趣相投。
个人博客也写了好些年 感觉还是需要写,能记录自己的成长过程
嗯,其实写着写着也就习惯了。而且写成文章有时候可以跟大家一起讨论交流,别有一番乐趣。
个人写文章的静态博客,推荐使用 Hugo + Github actions + CDN + 对象储存。
我的个人博客:https://w3cfed.com 整体速度一般在一秒内打开
我是用的又拍云:https://console.upyun.com/register/?invite=B1vD3D478
使用了又拍云的感受就是,操作真的很方便。阿里云和七牛云的操作真的很难受,个人感觉是工程师的产品,不是用户使用的产品。
又拍云有一个联盟计划,如下图:
希望能帮到想写文章,又不想花钱去部署和运维服务器的社员。
这个有点儿广告嫌疑,我是因为好用和配置方便,然后你能白嫖,才推荐的。
可是你的网站打不开!
准备搞起来技术blog,写写自己的技术沉淀
加油,不管怎样都是自己的经验积累。
本来想过用公众号,但是就是觉得你所有的文章都在微信上边,就是你根本就无法控制。所以就自己做了
然后呃,微信端的界面我是仿微信做的
http://www.pigwan.me
我额外搭建独立博客也是因为微信平台太过封闭,尤其是在外网交流,微信公众号的文章就非常不合适。
有文字功底也有码字的热情,搞个独立博客挺好的。其实每年花在服务器和域名上的钱并不多,这事值得干
其实对喜欢写文章的程序员来说,我感觉开发一个独立博客可能是比较好的选择。对其他不会开发的人来说,可能成本确实会高一点。
感谢楼主分享!
请问这种独立的博客怎么能让别人关注呢?比如微信公众号大家就可以关注,独立博客出了新内容大家不一定也会持续看。
我想到的方法是
2.自己的朋友圈或者社交软件更新文章链接
但是不知道“回头客”效果如何
找个趁手的 SSG 然后部到 Netlify 很方便
准备拜读
感谢又拍云。我的网站已经申请成功了。
看到你的沉淀,又给了我写东西的动力
学到了几个细节知识