Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
前段时间我发了几篇文章介绍了一下自己的博客搭建流程及组件,有很多朋友跟着我的教程也搭建了自己的博客。同时,也有一些朋友提出了疑问,在 2022 年这个时间节点,已经有那么多成熟的写作与发布平台,为什么我们还要那么大费周章,搭建与更新自己的博客呢?
我从大一(2015 年)开始写公众号,分享一些关于书、电影与个人生活的文章;2018 年开始使用 Wordpress 搭建了一个自己的个人博客,于 2019 年迁移到了 Hugo + Github Pages 并维护至今 。
在这两年时间里,我共计更新了 70 篇文章,主要包含课程笔记、技术与效率相关主题,自搭建了网站数据统计系统以来有近万名访客。本文想从我个人经历的角度跟大家讲讲我在写博客过程中的所思所想,也许能够为正在犹豫的你提供一些参考。
我们先从上文的问题谈起:
既然现在已经有了那么多成熟的内容分发平台了,为什么我们还要选择搭建个人博客呢?
移动互联网与智能手机普及之后,「blogger」 一词似乎已经成为了时代的眼泪,前段时间我还被加入了一个「致敬仍然在写博客的朋友」的列表,有些哭笑不得。
随着互联网的迅速发展,我们有了更多的表达渠道,却又似乎丧失了表达的欲望。朋友圈、微博等似乎是适合情绪表达的第一阵地,但字数限制与太多的社交关联又让我们望而却步;而知乎、简书这样的平台又似乎太过「专业」,并不适合所有内容,也容易被网络舆论所左右。
个人博客则是一个更完美的选择。我们可以随心所欲地按自己的喜好定制博客的各个模块,而折腾与优化的过程就像装修自己的一个小屋一样,很有成就感。配合个性域名也能打造自己的个人品牌,不管是在个人社交平台还是求职简历上放上自己的个人网站链接都是一个不错的加分项。
那么,我们怎么样以最低的成本(甚至完全免费!!!)搭建一个既省心又功能完备的博客系统呢?
我的个人博客经历了很多次更迭,最早使用 WordPress 搭建在自己的 Vultr VPS 上,因为国内网络访问比较慢所以迁移到了腾讯云服务器上并且进行备案,虽然访问速度有提升,但是发布博客的流程很繁琐,服务器的维护长期也是一笔不小的开支。
因此,我也一直在探索能够既能保障国内外访问体验,又能够托管在一些平台上,实现部署和发布流程的最优化体验。后来也一直不断在改善博客系统搭建和发布流程,迄今为止对自己的全流程解决方案还是比较满意的,虽然部署和搭建上需要进行一些配置,但后续更新维护都很方便,具体可以参照我博客搭建的系列文章,我也会对我的搭建方案与组件选择进行简要介绍,希望对大家有所帮助。
目前已经有很多比较成熟的博客平台,如前文所提到的 WordPress,虽然功能强大,但对于个人博客站点来说有些太重了,也不够酷,因此,我最后选择了静态网站生成器这种方式。
经过一番调研,发现目前有许多静态网站生成框架/平台可供选择,实现和使用各异,各有利弊。大家可以自行查阅这个静态网站生成器列表,迄今已经收录了 460 个工具,许多个人项目很有特色。当然,经过博客技术的不断发展,其中的一些有着近十年的历史依旧人气不减,而更多可能只是程序员一时兴起的自嗨,许久不再更新,消失在人们的目光里
因不同博客价格实现原理不同,大多也无法进行「无缝」迁移,因此,博客框架选择是第一步需要思考的问题,可以尽可能选择一些热门且更新较为频繁的项目,如Hugo、Jekyll、Hexo 等。
最后,我选择了 Hugo。Hugo 是用 Go 实现的博客工具,采用 Markdown 进行文章编辑,自动生成静态站点文件,支持丰富的主题配置,也可以通过 js 嵌入像是评论系统等插件,高度定制化。
Hugo 的一个显著特征是网页生成得很快,且社区比较活跃,贡献了丰富的主题,可以满足我们的定制化需求,大家可以根据自己的偏好进行选择。
个人博客比起一些固有平台的一个优势是我们可以对其做一些 SEO 优化而无需被内容平台的算法所左右,读者也许会从一篇文章链接到自己的其他想法与态度的表达,让他们感觉文字背后是一个真实的、有趣的人,而不仅仅是互联网同质化知识的一个分子。
还有很重要的一点是,我们在博客上发布的内容与数据都属于我们自己,不会随着平台的消亡而丧失所有数据或经历大规模迁移的痛苦,经历过虾米音乐消亡的惨痛教训,我对这一点尤其关注,也会定期备份我的文章数据。
因此,我还对博客配置及所有文章的源文件进行管理,配合 GitHub Action 进行自动化部署,自动生成静态站点推送到 GitHub Pages 博客发布仓库,这样我们不仅可以定期备份,还可以结合 git 对文章变更进行详细的版本管理。我的方案基于 github 进行托管,以不同的仓库来管理各个模块,主要分为以下几个核心部分:
.md
源文件进行版本管理,配合 GitHub Action 进行自动化部署,自动生成静态站点推送到 GitHub Pages 博客发布仓库。username.github.io
形式命名的仓库,使用 GitHub Pages 实现网站部署,可以通过配置域名 CNAME 解析使用自定义域名。git submodule
的方式链接到个人博客源仓库。具体搭建教程请参看:
我的博客已经建成近两年了,陆陆续续发布了一些内容,渐渐也会收到一些读者的评论,对于创作者而言是莫大的激励,因此,接下来我就来谈谈我的博客评论系统。
像 WordPress 这样的 CMS 系统有着强大的评论插件支持,而静态博客则需要自己对接评论系统。我最早使用的博客评论系统是万恶的 Disqus,一个笨重且会收集用户隐私的知名评论系统,因为加载比较慢,且免费版本经常会附带一些广告,实在难以忍受,于是换成了另一个基于 GitHub issues 的评论系统 utterances,它会为每篇文章生成一个 issue,用户需要通过授权 GitHub 登录来对 issue 发表评论。这种方式的好处是只需要授权一个 utterances-bot 来进行管理,无需自己部署服务,维护数据库等。但是用了一段时间后,觉得有几点不足:
经过一番调研后,Randy 的 Cusdis 很合我的心意。Cusdis 是一个注重数据隐私的开源的评论系统,十分轻量,经过 gzipped 后大约只有 5kb,从名字来看也知道开发者也是难以忍受 Disqus,自己做了一个替代版,因此它也是支持 Disqus 历史数据导入的,很贴心。
虽然这是一个开发早期的项目,但是已经提供了电子邮件通知以及通过 Webhook 方式联动 Telegram 等平台进行评论提醒,对使用者来说很方便进行管理。Cusdis 提供了免费托管服务与自行部署两种方式,如果不想折腾可以直接用作者提供的服务。
我选择使用 Railway 来搭建部署。Railway 和 Vercel 类似,也是一个 PaaS 平台,能够支持多种语言项目的部署,比起 Vercel,它同时支持部署数据库实例,可以将数据库与实例一起部署在单个项目中,减少搭建维护成本。对于个人项目来说,它每月提供的 5 美元免费额度非常够用,实测了一下,把之前的 umami 网站数据统计系统 连同 Postgre SQL 数据库实例部署在 Railway 平台,大约一个月 0.7 美元,对于个人使用来说完全足够。详细搭建教程请参看:
作为一个持续更新运营的博客平台,我们一定很好奇哪篇文章阅读量最高、哪个关键词检索最频繁等,数据统计能帮助我们专注在更有价值的内容创作与分享上。
类似的工具也很多,我选择了 splitbee 与 Google Console 来统计分析我的访客信息与搜索权重。
Cloudflare 也能够对网络流量进行分析,不过因为有很多网络无关流量,如爬虫等,所以参考性不强。
此外,我选择了一个可代替 Google Analytics 的开源服务 umami,并通过 Vercel 与 Heroku 进行部署,实现了访客数据的实时监控,搭建教程请参看:
可能是因为初高中对语文学科的热忱以及大学时英语专业的耳濡目染,我一直很享受于阅读与分享,很早之前也和故友一起维护过个人公众号,写了一些有关书籍、电影、音乐与个人生活相关的文章。这是我第一次通过文字传达自己的情绪,也体会到了外界反馈带来的欣喜与感动。
后来因为一些原因公众号停止更新了,我也很久没再公开发布文章。不过因为当时有转专业的想法,一直在自己学一些新的知识,会定期把笔记与学习心得记在自己的笔记软件中,逐渐也养成了记录的习惯。
尤其是在香港留学期间,因为是全英授课,课后需要花很多时间来整理回顾,也会分享给很多同学,于是捡起了断更很久的博客,陆续发布了很多学习笔记,收到了很多同学的积极反馈与感谢。后来还加上了网站访问统计、评论等组件,偶尔查看会很惊喜地发现有很多来自搜索引擎的访问者,也给我继续更新提供了很多动力。
博客文章与零散记录的知识点不同,需要有着特定的主题、一定的行文结构与完整的内容。这促使着我在构思与写作时对自己的知识体系进行梳理总结,有时还需要用一些思维导图与流程图来辅助理解,这个过程让我不断巩固所学知识点,帮助我度过了很多作业与考试。
尽管前期阅读的人并不多,但我视其为自己的一个表达渠道,也是自己获取认同感与价值的窗口。因此,一篇文章需要花很多心血来写,让我更自律地放弃了很多无意义的消遣,投入更多时间打磨自己的文章。此外,时间上的紧迫也促进了我对学习方式与效率的思考,在听课或阅读资料时就会自然地从整个知识结构的维度来进行理解与思考。
工作后,因为我从事的区块链行业是一个新兴的领域,有时候一个小小的知识点需要查阅很多零散的资料才能理解,而且大多是来自于同行业大佬的博文,有时候会追着一位博主的文章时间线从头开始看,获益良多。这时,我便也萌生了自己将这些工作学习中踩过的坑记录并分享出来的想法。
我发现网上区块链相关的资料大多都比较简略、偏底层,没有很详细的步骤讲解,对于入门学习者来说可复现性不强。于是,我开始定期把自己的学习心得与工作经验分主题组织成文在自己的博客上发布,并将区块链相关的单独抽出来为一个入门指南,以便大家学习交流。
发布后得到了很多反馈,也因此结识了不少志同道合的人,建立了自己的关系网络,对自己的学习与工作发展有了更深的认识,甚至也能获得一些有趣的机会。
工作一段时间后,做了一些项目的技术负责人,需要带团队快速接入项目。这时,我的这些博文就可以作为与团队成员共享的培训资料,极大减少了重复工作量,也推动着自己保持稳定的输出节奏。此外,因为这种乐于分享的态度,我还被指派与团队 leader 一起搭建技术团队的文档库,这推动了部门乃至公司内的信息传播与业务发展,对自己的职业发展也有一些帮助。
工作之余,我还是一个效率控,很喜欢折腾各类工具应用,还维护了一个「pseudoyu/yu-tool 个人工具箱」项目。久而久之,很多朋友遇到软硬件相关的问题都会来问我,例如「我想实现这个功能有什么好的软件可以做到?」「这个要怎么下载安装?」等等,我也会一一给他们解答,但因为有些软件自己使用已经不那么频繁,对细节记忆会有偏差。因此,我会将自己软件系统的搭建、使用过程作详细的记录,组织为博文并发布,以便之后自己查阅或直接分享给需要的朋友。
我一直觉得记录软硬件与这些折腾的过程并不是一些冷冰冰的条目与截图的堆砌,而是我个人价值观、生活方式以及思维方式的传导,正如我在另一篇文章中的有感而发:
但当我在日常工作学习中使用自己当初花了很多心思调研和优化的系统后,或当一个突发的需求使用到了我之前的一个折腾过的软件/配置时,会莫名地很开心、很有成就感,这大概就是折腾的意义吧。
经过了学业与工作的各个时期,我发现自己在不同阶段与角色可能会有着截然不同的思考与成长,有时回顾起来也会很有感触。因此,我设立了一个「思考」板块,之前会以每年生日为期记录一下自己的成长,也会在一些特定的时间节点记录自己的所思所想,后续也将以周报/月报的形式记录自己的一些阶段性感悟。
相信几个月甚至几年后的自己也能从这点点滴滴的记录中找到自己当时的心境。当自己逐渐培养起记录生活的习惯,也会让自己能关注与感受到生活的美好,也能更积极地面对来自未来的挑战。
个人博客就像自己的一个树洞,在记录与表达自己情绪的同时,也许也会收获一些来自陌生人的温暖。
写作并不是一件很容易的事,当我很长时间没动笔之后,常常也会觉得「没有手感」,之前没有写作习惯的朋友们可能会更容易感觉「不知道写什么」「自己写的东西没有意义」或「会不会没人看」。
这其实是一个误区,有句话叫「达人须悦己」,写作(尤其是个人博客写作)不应该是一个目的性很强的事,而应该是一个自我记录、自我发现、自我探索与自我表达的过程。我们每个人都处于不同的角色,都有着自己的独特角度与看待事物的眼光。只要多多关注自己所在或感兴趣的领域,收集碎片化的想法,积极思考,对一些有意思的想法用导图等方式进行挖掘,将这些想法组织成文后,仔细打磨自己的文章,以真诚的态度表达出来,就能创作出有价值的内容。
文章完成后我们可以选择在各个平台发布与传播,积极获取正反馈,也会促进自己更有动力坚持下去。除了个人博客外,我们可以选择简书、知乎、微博这样的内容社区,少数派、即刻等相对垂类的一些内容平台等。
好的内容也会自然地传播,被更多人看到,我们需要做的就是坚持与持续输出,前期可以给自己制定一个固定频率,如半个月/一个月,给自己一些小小的物质激励,后期再慢慢根据自己的情况与意愿调整。
2022 年了,我依然在写博客,并且会继续坚持写下去。博客就像是我的一个私人空间,一篇篇笔记记录了我的变化与成长,也承载了我人生的几段最重要的时光。希望屏幕前的你们也能体会到博客的魅力,让更多的朋友加入我们仍在坚守的「blogger」阵地。
> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰
> 实用、好用的 正版软件,少数派为你呈现 🚀
© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。