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

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
V
Visual Studio Blog
有赞技术团队
有赞技术团队
U
Unit 42
D
Docker
小众软件
小众软件
F
Full Disclosure
I
Intezer
Scott Helme
Scott Helme
P
Privacy International News Feed
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
B
Blog
Martin Fowler
Martin Fowler
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Spread Privacy
Spread Privacy
宝玉的分享
宝玉的分享
S
Security Affairs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
月光博客
月光博客
C
Cisco Blogs
云风的 BLOG
云风的 BLOG
Schneier on Security
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Threat Research - Cisco Blogs
量子位
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Heimdal Security Blog
N
Netflix TechBlog - Medium
H
Hacker News: Front Page
P
Proofpoint News Feed
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
S
Schneier on Security

胡涂说

当心流量别被 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 纪元 凡所有相,皆是虚妄 马斯克的故事与模式 纳瓦尔的智慧 当魔法消失时 人生无论怎么度过都像是浪费 我们都是新穷人 代码、法律和自由软件 乾隆的性格 当下我们还需要启蒙吗? 云门胡饼赵州茶 上海周末骑行:从浦东到外白渡桥 如何选择图书译本? No.13: 周刊的周刊 读书日,推荐些童话和小说 学习邓小平的智慧 自建博客 Nginx 基本配置 我所理解的存在主义 心经说了什么 觉悟之道就是活在当下 巨人的笔记 从零到百亿美金之路 人生如逆旅,我亦是行人 和自己非暴力沟通 听斯蒂芬·金谈写作 行不尽,行不尽,一路青山 周刊第12期:第一次十字军东征 周刊第11期:玄奘之路 周刊第十期:敦煌 周刊第九期:卡片盒笔记法 爸爸是最聪明的 Ruby 编程语言入门 影响人类命运的是什么? 周刊第八期:如何应对公开错误 周刊第七期:如何学习 周刊第六期 周刊第五期 只买书:一个失败的微信小程序产品 改变世界的一次代码提交 如何成为一名黑客 通往开源之路 空山不见人 如何做好演讲 “人生在世,永远也不该演戏作假” 周刊第四期 大卫四岁读的书 宇宙就是一个蛋 周刊第三期 周刊第二期 周刊开刊 阅读开源代码小技巧 重学C语言 英国随记 变成神的动物 人类伟大的时刻 最著名的黑客 《巨婴国》读后 若为自由故 买房记 答案在风中飘 陪产记 自由的代价 谈一谈英语学习 读《霍乱时期的爱情》 简洁 嵌套的梦 四月莎士比亚 七律三首 从明天起,做一个Scrum Master 不能承受的生命之轻 我是丽莎呀 爱美丽、黑暗王子和豌豆公主 诗歌与烟台
给博客换了套新评论系统
胡涂说 · 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 模板上修改的,加了很多我需要的功能,有需要的小伙伴也可以直接取用。

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