手动解决Obsidian Calender插件的字数判断问题

Calendar作为Obsidian的必备插件,它有一个功能,能在日期下用小点来大致显示笔记的字数。

就是每超过一定字数就它就会在对应日期下方打一个小点(最多5个),帮助你粗略的判断当天写下的笔记数量(大概就是图1这样的效果)。

但如果你和我一样,主要使用中文来记笔记的话,那么大概率你可能从始至终都只会看到一个点。就算Obsidian自带的字数统计告诉你这篇笔记已经有好几百字了,也仍然会是这样。

经过一点点实验,我发现,当前版本Calendar插件的字符计算是以空格为判断依据的。也就是说,只有在一段字符后面加上一个空格,Calendar才会把这它认定为一个词。再换句话说,其实就是类似英文单词的认定逻辑,所以如果你正常输入中文,不管写了多少,只要没打空格,Calendar也认为只有一个词。

虽然说这个问题完全不影响其他功能的正常使用,但是作为特别喜欢瞎折腾的我来说,每次看到所有日期下面都只有一个点,还是会产生想要解决这个问题的冲动。

可是每次在网上搜索,却感觉好像没有多少人讨论这个问题。我猜要么真的是大家都不太关心,要么是压根都没遇到,所以我也总会三天两头怀疑是不是自己哪里设置得不对。

直到今天,我突发奇想跑到插件作者的github页面上一顿翻找,才知道这原来是个bug……而修正这个bug原来只需要7个字符。

好的,现在废话说完了,准备进入修复bug的正题。

但是在此之前还需要说明一下,虽说是要修复程序bug,但解决这个问题完全不需要任何正经的编程知识,所以毫无编程背景的我也能解决。

也就是说,只要愿意,每个人都能解决。

(这里要对感谢jasonszang提供的修复方法,具体的修复方法图片里也可以看到)

具体步骤如下:

1.打开Obsidian库的如下文件“.obsidian\plugins\calendar\main”。(用电脑里的各种文本编辑软件应该都能打开,如果实在不知道用什么,就直接用自带的记事本)

2.搜索“nonSpaceDelimitedWords,”(请忽略两端的引号)。

3.把这段字符修改成“[${nonSpaceDelimitedWords}]`,”(请同样忽略两端的引号)。

4.保存、退出、重启Obsidian。

大功告成。

7 个赞

認眞、專注、點讚!!!

calendar 1.5.10版本,按这个方案修改了,插件就报错停止工作。
main文件里有两个这个字段(一个有逗号,一个没有),单独、全部都试了替换,都不行。

我的也是1.5.10版本,目前还是运行正常。看要么重新装一下插件试试看,我的文件里只有图片里的那一个。

换成2.0的测试版了。中文字数问题,修复了

1 个赞