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

推荐订阅源

N
Netflix TechBlog - Medium
J
Java Code Geeks
爱范儿
爱范儿
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
I
InfoQ
月光博客
月光博客
博客园 - 聂微东
博客园 - Franky
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research

达拉斯・卢

一些没有意义的事情 博客程序的一次大重构 OpenWRT 使用 udp2raw 对抗 WireGuard 阻断 OpenWRT 使用 udp2raw 对抗 WireGuard 阻断 博客程序架构的思考与展望 如何证明你是原创作者 如何证明你是原创作者 Nginx 泛域名配置的隐患与对策 Nginx 泛域名配置的隐患与对策 WISeID S/MIME 证书 WISeID S/MIME 证书 V2EX 刑满释放记 V2EX 刑满释放记 使用 Radicale 在 Ubuntu 24.04 中搭建 vCards CardDav 服务 使用 Radicale 在 Ubuntu 24.04 中搭建 vCards CardDav 服务 邮件服务的域名成功从 SURBL 黑名单移除 邮件服务的域名成功从 SURBL 黑名单移除 网站多语言的设计细节 网站多语言的设计细节 网站评论系统的目前进展和展望 在公网使用 iptables 转发端口时保留客户端 IP 在公网使用 iptables 转发端口时保留客户端 IP 邮件投递平台 Postal 的使用经验 邮件投递平台 Postal 的使用经验 自建 Postal 完美替代 SendGrid 自建 Postal 完美替代 SendGrid 互联网在崩塌吗,然后呢 互联网在崩塌吗,然后呢 在 SvelteKit 应用中使用 JSON-LD 在 SvelteKit 应用中使用 JSON-LD
网站评论系统的目前进展和展望
达拉斯・卢 · 2024-08-08 · via 达拉斯・卢

一年多前,我研究了一下当时评论系统的现状,最后给网站选择了传统的评论系统。截至目前,有了一些新的进展,和新的想法。

进展

接入 Webmention

出于研究的目的,接入了 Webmention。方便起见,选择了 webmention.io。通过一些桥接服务,可以主动地收集到更多散落各处的互动信息。比如,你将文章链接发布到社交媒体,并收到了一千个赞,这一千赞可以显示在文章上1

理论上,通过桥接,可以收集到更多类型的内容,比如 Hacker News 上的讨论互动。如果整合 Nostr 的话,就不需要网站本身接入 Nostr 网络了。

接入邮件

邮件通知

传统评论与邮件是一对老搭档了。为了更好地发送评论相关的邮件通知,我还从 SendGrid 迁移到了 Postal。

早年间,豆瓣网的站内信的邮件通知,只有一句话:你有新豆邮。我对此非常愤恨,明明邮件都发过来了,也不说一下是谁发的,说了什么。还要辛苦地登录网站去看。所幸,博客界一般都比较开放,如果你在网站发布的评论,被他人提及或回应,一般就会收到包含全文详情的邮件。

邮件回复

明明全文详情都发过来了,为什么不能直接回复呢?太多的通知邮件的发件信箱都是noreply@*,除了一些商家的工单系统,以及 Github 等服务。从这点来说,借用 Github Issue 来实现评论系统的方式还真是很棒。

通过邮件回复,也并不难,可以使用现代的邮件平台,他们可以把解析好的邮件内容转发到指定的 Http Endpoint 上2

使用邮件来做评论系统,可以让讨论博客文章像使用邮件列表一样。在页面上也很方便地处理成嵌套评论。

邮件评论

再进一步,为什么发邮件只能用来回复邮件通知呢?或许可以主动出击,可以打开邮箱客户端,直接发送邮件来评论文章或是别人的评论。喜欢用邮件来与人交流的,有福了,终于。

在发表评论的按钮旁,我放置了一个 mailto 协议的超链接,点击打开邮件客户端,就可以用发邮件来替代页面表单。

访客的身份

如果你用发邮件的方式来评论,那么你的邮箱地址就自然是有效的。在网站上就可以显示一个认证图标,以向人明示,这人使用了真实的邮箱。

当然这不是说,使用表单评论的人的邮箱就算是无效的。不过,谁知道呢,邮箱一栏是可以随便填的,可以填别人的,也可以填一个假的。

既然邮箱不一定是真实的,索性,我就允许你不写邮箱。让你彻底享受隐私的礼遇、上网的快乐,代价是在你的信息旁边显示一颗狗头——在网络上没人知道你是一条狗。

既然邮箱这样的东西,都可以不填了,那么名称也就更无所谓了。当然,后面这种信息不全的回复,是会受到一定的发送限制,以及可能需要审核。

敏感信息

一条评论,大概只有两个字段是敏感的,IP 与邮箱。我的文章内容是基于 markdown 文件的,非常便于开源。但本地评论中的敏感信息,则需要加密存储,使用时再使用密钥还原。

展望

改进

性能与有用的小功能,是永远的改进方向。比如分页加载、投票、查询等等。以及,更好的邮件通知。因为在使用 WordPress 的日子里,网站常常被 Spam 评论轰炸,而我的邮箱则被评论的邮件通知轰炸。

整合

我认为文章的评论,是文章内容的延伸。如果没有评论,那么还不如直接在 RSS 阅读器、公众号平台、营销号发的截图里读一读就算了。除了联系作者外,就没有必要访问文章了。所以四处散落的信息,可以收集起来,让读者更直观地评估文章。

评论服务

当前静态网站非常流行,更多的时候大家需要的是一个第三方评论系统。鉴于多说关闭事件,使用第三方评论系统的风险也必须要考虑。如果我来做一个评论系统的话,那么最重要的一点就是数据随时可导出,或者说实时导出——因为我的评论系统目前是基于文件存储的,可以 push 到 git repo。

结语

个人网站或博客,已经是一种怀旧玩具了。最近竟看到有人还在折腾第三方评论系统3,或是自研程序和评论系统4。怀旧不一定复古,应该会有更多花样。


  1. Jason. 透過 webmention 來搜集 blog 的社群迴響. Jason's Web Memo. 2022-09-12. ↩

  2. Tautvydas Tijūnaitis. Enable the use of email replies to post comments or messages. Mailersend. 2022-05-25. ↩

  3. ashin. 个人博客新增云评论留言板,欢迎大家测试. V2EX. 2024-08-06. ↩

  4. Darmau. This site has evolved to the third generation. Darmau. 2024-08-05. ↩