哥们儿,最近琢磨着搭个个人博客,想把平时踩坑的经验、摸鱼发现的好工具都记下来。博客倒是好搞,一堆静态站点生成器,往GitHub Pages上一扔就行,零成本,稳如老狗。但评论系统这块儿真让人头疼——用Disqus?广告铺天盖地,动不动就让你付费升级;自己撸个后端?维护个服务器比写代码还累,图啥呢?
后来发现了Giscus,跟捡到宝似的。其实GitHub Pages本身就是个白嫖利器——你只要在GitHub上建个仓库,把写好的Markdown文章扔进去,稍微配一下Jekyll或者Hugo,一个漂亮博客就上线了。流量不大时完全免费,域名想用xxx.github.io也行,或者绑个自己的域名,全在你的掌控之中。
那评论系统咋整?Giscus这玩意儿贼有意思——它把评论功能挂在了GitHub的Discussions(讨论区)上。你可以想象成:每个博客文章对应GitHub仓库里的一个“讨论帖”,读者点“评论”的时候,其实是登录自己的GitHub账号,在那个讨论帖下面留言。跟你在GitHub上给开源项目提Issue一样,你得有个账号才能说话。
这下垃圾信息的问题就解决了大半。你想啊,一个想发广告的机器人,首先它得有个活生生的GitHub账号——现在注册GitHub得要手机号验证,门槛不算低。而且账号本身有信誉体系,如果恶意刷垃圾回复,折腾半天号被封了,你说亏不亏。基本上你不用担心那种“一夜之间五百条卖片评论”的噩梦。
不过我做事喜欢上双保险。Giscus本身没有内置防垃圾功能,但GitHub的Discussions可以设置审核模式。在仓库Settings里找到Discussions,打开“Require approval for new discussions”和“Require approval for new replies”。这样一来,每条评论都得你先点个赞才显示出来。对个人博客来说,每天流量就几十上百,审核个把评论不费事。如果你文章火了,突然涌进几十条评论,至少能先把明显是垃圾的过滤掉,只放行正常留言。
我自己的博客就这么干的,用了小半年,没收到一条垃圾评论。有一次半夜两点,有个老外发了一条“Nice blog! Check my crypto giveway”,我早上起来看到,直接当垃圾回复删掉,没让它在页面上出现一秒。如果当时没开审核,这条评论就会挂一夜,让其他读者看到,多膈应。
装Giscus也很简单,不用写代码。它的官网上有个配置生成器——你填上你的GitHub仓库名、Discussion分类,选好映射方式(通常用文章URL匹配),它直接给你一段JavaScript代码。你把这段代码复制黏贴到博客模板里的评论区域就完事了。跟当年往博客园里加“站长统计”一个意思,贴上去生效。
搭建步骤给你捋一遍,就当聊天说个流程:
- 在GitHub新建仓库,名字叫
你的用户名.github.io,这就是你的博客仓库。 - 用Jekyll或者Hugo生成静态页面,推到那个仓库里。网上模板一抓一大把,挑个顺眼的直接fork。
- 进仓库Settings -> 勾选“Discussions”,再打开“Require approval”开关。
- 访问Giscus官网(giscus.app),授权Giscus访问你的仓库,填好参数,复制生成的代码。
- 把代码放到博客模板中合适的位置(比如
_layouts/post.html里评论区域)。
整个过程半小时搞定,不花一分钱。域名想买就买,不买就用默认的免费域名。
说实话,GitHub Pages+Giscus这套组合拳,算是我这几年做过性价比最高的站点部署方案。完全自控,没有广告,没有被迫升级的焦虑,垃圾评论又少,一个月打开管理后台看一眼就行。要是哪天流量大到超了GitHub Pages的限制(其实很少见),也有办法把钱花在刀刃上,比如上Cloudflare加速,或者买个小VPS做反向代理。
另外,如果你对这套方案还存在疑虑,或者想看看其他同样零成本、低成本的博客方案,可以到itfangan.com转转。那边整理了不少IT老炮的实战经验,从免费CI/CD到替代付费服务的方案都有,省得你一个个翻文档。毕竟咱们这行,能白嫖就不花钱,能简单就别折腾,对吧?