字数统计靠手数?
用 AI 手搓一个Obsidian
字数统计插件
图文统计 · 免费下载 · 保姆级教程
图文统计
全文共:1705 字 · 阅读约 6 分钟 · 图片共:13 张

做了个 Obsidian 插件:一键统计字数、图片、阅读时长,正文 / 属性区自由决定显示。本文开头那句「全文共 1705 字,阅读约 6 分钟」,正是用这个插件自动生成的——工具先用在了自己身上。
4 Parts + Conclusion
👉 滑动
PART 01
缘起
为什么自制
PART 02
功能介绍
三要素定制
PART 03
如何使用
安装到修改
PART ///
写在最后
下载与计划

其实我最开始的诉求很简单,很多人都看过公众号最开头的那句「全文共 XX 字,阅读约需要 XX 分钟」吧。我只是想一键在 Obsidian 文档开头加入这么个东西,但找了很久,没找到现成、好用的工具,最后只好用 AI 自制一个。从 QuickAdd 脚本到插件,中间经历了统计规则优化、写入属性字段、优化触发方式、加入个性化设置几个阶段,最后形成这个「图文统计」插件。

最后形成的功能:按照一般写作习惯,统计文档字数、图片数、阅读时长三个要素后,自由决定在正文区、属性区,以上三要素是否显示、如何显示。
三大功能模块:统计字数、统计图片数、计算阅读用时,并分别将结果插入正文区与属性区。并进行了讨好型功能优化,3 个要素、2 个区域,均可自行定制一键增、删。
2.1 统计原则
2.1.1 文字
给 AI 下命令的时候,要求按照一般文章的统计习惯计数。期间 AI 也犯了按照单个字母计数、将图片链接、网址计入字数等问题,已经一并修正。所以插件的统计值与 Obsidian 自带的字数插件数据并不一致,你也可以按照自身需求修改。
2.1.2 图片
主流图片格式、通过链接引入的在线图片,都能正确计数。
2.1.3 阅读用时
根据统计出的字数计算、取整得出,每分钟阅读字数默认为 300,你也可以自行修改。
2.2 正文插入内容设置
为这三个要素提供了开关,自主决定自动插入哪些内容。每次运行,插件首先会检测现有的统计内容、并删除,以免影响字数统计结果。因此,当你关闭某要素的开关、再次运行插件时,相应要素的内容也会被一并删除。

调整开关后,你可以在第④部分(设置面板里的 ①②③④ 是插件内部分区,并非本文章节)的「效果预览」中,实时查看开关状态;此处指开关状态会实时反映,自定义文字的刷新问题见下方说明。

如果你需要个性化设置每项统计内容前后的文字,那第③部分功能正是你需要的。但这有个 BUG,原本意图是这里修改之后,在「效果预览」中实时刷新调整效果,但实际上预览并不会刷新。不过,好消息是,预览的 bug 不影响实际功能。鉴于插件能够正常使用,为避免 AI 为这个 363 行的代码引入新的 bug,我就不修了,凑合用吧,运行后直接在正文里看效果也一样。
提示
预览的 bug 不影响实际功能——好在插件能正常用,就不修了,凑合用吧。

2.3 属性字段设置
这三个要素,不依附于正文中插入的内容,可以在属性区作为三个字段独立控制。插入后,base 等数据库插件可以直接调用数据。
每个要素你都可以通过下拉框自由控制,这里提供了三个控制功能:写入字段与数值、不写入或删除已有字段与数值、只写入字段但数值留空。这样可以由你决定是否插入字段,后悔了也方便删除。

3.1 如何安装插件
将插件压缩包下载下来之后,把里边的「words-images-stats」文件夹直接拖入你「仓库」里的「plugin」文件夹中,我的插件路径如下图,你可以按照自己的路径自己找一下。

拖入后重启 Obsidian,然后在「第三方插件」中,打开「图文统计」插件。

3.2 如何运行
插件启用后,会自动在这里出现一个图标,点击即可运行。每次运行成功后,右上角会弹出运行提示。如果不知道图标去哪了,到设置里的「界面」>「功能区」找一下。

习惯用快捷键的,也可以去快捷键功能区自行绑定一个快捷键。

3.3 如何修改插件
到刚才的插件文件夹里,右键点击「main.js」文件,选择「在记事本中编辑」,然后把里边的代码复制后发给 AI,说出你的需求。将 AI 修改好的代码,贴回到这个文档中,保存、关闭。需要重启 Obsidian,修改才会生效。
记得做好备份,遇到修不好的 bug,你会觉得还是第一版更眉清目秀。实在修不好的时候,也可以考虑换个 AI 工具试试,我这个插件是用了两个免费的 AI 工具做好的。
3.4 为什么不能自动刷新
最初版本确实是实时自动刷新的,但写文章的时候,总是会弹出下边这个弹窗。虽然不影响功能,但经常弹出还是很没边界感。试过调整为定时自动更新、无操作后多久自动更新、保存后更新、保存后延时更新……都无法解决这个问题,因此将自动刷新功能直接删掉了,只能手动刷新。

3.5 更轻量级的 QuickAdd 脚本方案
我最开始的想法是尽量轻量,不引入新的插件,因此前期自制过两个脚本。
第一个叫「字数统计」,仅仅统计字数并写入正文;第二个叫「字数与图片统计」,统计字数、图片数,将结果写入属性及正文。以上两句话就是脚本的功能介绍了,个人觉得不如插件好用:一方面无法个性化定制,想调整只能改代码;另一方面,需要手动进二级菜单点击,或者新绑定一个快捷键。

将脚本放在网盘里了,各位需要的话可以叫 AI 帮你改,里边的计数规则还算可用。
4.1 下载链接
4.2 后续分享计划
关于如何使用脚本,由于本文已经干到 1700 多字了且确实与其关联不大,我计划另外弄一篇内容专门介绍,顺便介绍下我写的另外几个脚本。此外,关于 windows 常用软件、效率工具,Obsidian 使用心得、插件推荐,也在计划之内。
夜雨聆风