惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
Recent Announcements
Recent Announcements
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
J
Java Code Geeks
V
V2EX
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园 - Franky
爱范儿
爱范儿
T
Tailwind CSS Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
博客园_首页
B
Blog RSS Feed
博客园 - 司徒正美
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

胡涂说

当心流量别被 Agent 都吃了 当 AI 构建自己 阿嬷 ā mó Bun 要从 Zig 迁移到 Rust ? 好奇心周刊第25期: 如何让AI写好代码 好奇心周刊第24期: 关于AI编程的一些体会和设想 云何降伏其心 好奇心周刊第23期: Claude Code 氛围编程初体验 好奇心周刊第22期: 纳瓦尔谈人生 不确定性世界的生存策略 好奇心周刊第21期: 推理模型的构建与未来 好奇心周刊第20期: 从四个方面了解Palantir 周刊第19期: 一起学习 MCP 周刊第18期: 什么是理工科思维 周刊第17期: 如何构建智能体(Agent) 周刊第16期: Andrej Karpathy 讲 AI 读《毛泽东传》对个人的启发 周刊第15期:Nat Friedman 和 Derek Sivers 的自我介绍 周刊第14期:罗振宇和《罗辑思维》 我看《哪吒》 为什么写作? 心猿意马 从铁幕到硅幕 银弹飞过先锋大厦 从神经网络到 Hugging Face 在大理,听打雷 Git 纪元 凡所有相,皆是虚妄 马斯克的故事与模式 纳瓦尔的智慧
给博客换了套新评论系统
胡涂说 · 2022-04-04 · via 胡涂说

我的博客引擎用的是 Jekyll,一款 “古老” 的静态博客引擎。写下 “古老” 这个词,我不禁感叹时间飞逝,回想当时刚用 Jekyll 时,那时可是新东西。在那个年代,如果不是在 Blogspot、新浪博客这种博客托管平台上写博客而是想自建的话,wordpress 几乎是不二选择。可以说,wordpress 几乎是博客软件的代名词。而 Jekyll 的发明可以说是创造性的,用作者 Tom Preston-Werner(同时也是 GitHub 的创始人)的话说就是用 Jekyll 写博客就“像黑客一样写博客”(Blogging Like a Hacker)。从此,自建博客系统不需要关系服务器,不需要配置数据库,只需要懂 Git、熟悉 Markdown 语法就可以拥有一个完美的程序员的博客。

Jekyll 是用 Ruby 写的静态博客生成引擎,在 github 上开源后,各种语言实现的静态博客生成引擎如雨后春笋般出现。如 NodeJS 实现的 Hexo,Go 实现的 Hugo,还有很多为自己设计的静态博客框架。换静态博客引擎是很多程序员 blogger 的乐趣之一。另外一个乐趣就是换模板,以及换评论系统。

由于静态博客没有后台服务,因此无法实现交互式的评论功能,不过在程序员黑客的世界这不是问题。最方便的是用第三方评论系统服务,做的最好的是 disqus, 国内有「多说」,不过已下线。只需要在博客中添加一段 JavaScript 代码就可以实现评论功能,评论数据由第三方托管。如 disqus,评论者需要注册 disqus 账号,评论数据也是存在 disqus 上。对于博主而言,就是在 disqus 上根据 提示 创建一个站点,简单配置一后,然后将 链接指导的这段代码 贴到静态博客模板中皆可。而新版 Jekyll 中已经集成了 disqus 服务插件,只需在配置中打开评论功能即可。

但由于众所周知的原因,disqus 早就不能正常访问,因此如果想要用 disqus 作为评论系统则需要考虑到国内有很多人可能无法评论。而 github 的第三方应用扩展机制开放后,利用 github issue 来回复并保存评论。这种开源工具有很多,做的好的有 gitalkutterances,前者是国内网友做的,后者可配置性更强些。

我最早用的是 disqus,后来改成了 gitalk。改成 gitalk 的最好好处是解决了 disqus 一般不能用的问题,而且由于使用 github 账号和 issue 系统,程序员群体会比较喜欢这种体验。不过 gitalk 和 utterances 这种使用 github issue 功能的评论系统,也集成了 issue 的缺点,即不能进行楼中楼式的回复交互。而等到 github discussion 功能推出后,基于 github discussion 开发的评论系统 giscus 也应运而生了。

本来是不打算再折腾评论系统了,不过清明节放假加上上海疫情一直居家,所以有了空闲时间再折腾下博客,将原先的 gitalk 换成了 giscus。按照 giscus 官网(做的与 utterances 几乎一致) 的指导一步步操作,并按照提示输入,最后就能得到一段适用自己网站的 JavaScript 代码,然后将这段代码粘贴到博客模板中即可。原 github issue 评论也可以在 github 上转换成 discussion,只是没有 API,需要在页面上单条手工转换,因此我将有评论的 issue 都转成了 discussion。转换 discussion 后,该 issue 会被 lock 并且关闭,而且是无法再打开的。giscus 即 github discussion 的楼中楼功能非常适合做博客评论,加上 emoji 的 reaction 机制简直与 disqus 功能无异了。

另外我将博客做成了双评论系统的方式,默认为 giscus,在评论区点击 disqus 按钮可切换到 disqus 评论方式:giscus 和 disqus 任君选择。虽然这样并不一定能带来更多的评论量,但总是给读者多一种选择。就像我在博文页面左侧添加的 addthis 分享按钮,分享数据并不多,但是只要有,我心里就很高兴。

我将博客的样式模板和博客本身做了分离,样式库在 hutusi/taletype,是基于 type 这个 Jekyll 模板上修改的,加了很多我需要的功能,有需要的小伙伴也可以直接取用。

最后,说一下我对博客评论的看法。我觉得评论对于博客来说就像是炒菜所放的盐,缺少了评论的博客固然还是那盘菜,但却失了味道,吃没有味道的菜是坚持不久的。因此,我非常期待博客读者的评论,每一条评论都是对我最大的鼓励。如果碰巧你也在写博客,欢迎与我互换友链