游客们观测到了小球飞鱼在水面上游玩的讯息。

游客们观测到了小球飞鱼在水面上游玩的讯息。

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

本文介绍了在Hugo博客中显示联邦宇宙(Fedi)互动数据(转嘟和喜欢数)的两种方案。方案1通过浏览器直接请求Mastodon API,实现简单但隐私性较差;方案2通过定时脚本获取数据并生成静态文件,隐私性好但实现复杂。文章详细说明了实现步骤、优缺点及注意事项,并强调该功能虽无实际意义但有趣。

🔎

延伸解读

隐私权衡:两种方案的取舍

方案1在浏览器中直接请求API,实现简单且实时,但嘟文链接和账号信息会暴露在控制台和网络请求中,隐私性较差。方案2通过定时脚本预取数据并生成静态文件,网页只显示数字,隐私性更好,且不依赖实例在线,但实现复杂,需要处理定时任务和构建部署。选择时需根据个人对隐私和复杂度的接受度权衡。

数据准确性与负载考量

由于联邦宇宙的分布式特性,API返回的互动数可能因实例间延迟和互通性而不完全准确。两种方案的请求负载对个人博客而言均不构成实际压力,但方案2的请求量随文章数和同步频率线性增长,需注意脚本避免无效提交和死循环。

实现要点与注意事项

嘟文链接必须指向具体嘟文,而非个人主页,可通过复制链接获取。方案2中,同步脚本需处理失败情况,保留旧数据;GitHub Actions应仅在数据变化时更新仓库,避免无意义提交。本地推送前需先拉取线上内容,防止冲突。

Q&A

如何在Hugo博客中显示Mastodon的转嘟和喜欢数?

有两种方案:方案1是浏览器直接请求Mastodon API,实现简单但隐私性较差;方案2是定时脚本获取数据生成静态文件,隐私性好但实现复杂。具体步骤包括在文章front-matter中添加嘟文链接,创建Hugo partial和JavaScript(方案1)或同步脚本和Data文件(方案2)。

在博客中显示Fedi互动数据,方案1和方案2的优缺点分别是什么?

方案1优点:实现简单、数据实时、无需重新构建;缺点:嘟文链接和API请求暴露在浏览器中,隐私性差,实例离线则无法显示。方案2优点:隐私性好,仅显示数字,不依赖实例在线;缺点:实现复杂,数据实时性依赖定时频率,需要重新构建部署。

在Hugo博客中显示Fedi互动数据,如何获取嘟文链接?

在Mastodon中,点击嘟文右下角的三个点展开菜单,选择“复制嘟文链接”即可。注意链接必须指向具体嘟文,不能是个人主页。然后将链接填入博客文章的front-matter中,例如:mastodon: "https://example.social/@name/123456789"。

Mastodon API中表示转嘟数和喜欢数的字段是什么?

Mastodon API返回的JSON中,转嘟数量对应字段为reblogs_count,喜欢数量对应字段为favourites_count。

在方案2中,如何实现定时同步Fedi互动数据并自动部署?

使用GitHub Actions创建workflow,定时(例如每24小时)运行Python同步脚本,脚本扫描Markdown文件中的mastodon字段,请求API并更新data/mastodon.json。当数据变化时,workflow自动提交并推送,触发Hugo自动部署。注意处理失败保留旧数据,并防止死循环。

在博客中显示Fedi互动数据,隐私性方面有哪些注意事项?

方案1中,嘟文链接和API请求在浏览器中可见,可能暴露账号信息。方案2中,虽然网页只显示数字,但链接仍保存在front-matter和同步脚本中,如果GitHub仓库公开,链接仍可能被看到。因此隐私性是相对的,需根据自身需求选择方案。

Fedi互动数据是否绝对准确?为什么?

不绝对准确。由于联邦宇宙的分布式特性,API返回的是实例当前已知的互动数量,受实例间延迟、互通性等因素影响,可能不是绝对准确的数字。

🏷️

标签

➡️

继续阅读