可以在语雀阅读。
正文
写了一个小脚本,用来实现全库的文本替换。在思源推出了更新块的 API 之后,实现这个功能已经非常简便了。
思源的大部分数据都是 markdown,如果不涉及到跨块操作,那么简单的文本替换就可以满足许多需求。各种块内的格式也是支持的,包括块引用。
举一个简单的例子,我想要将文章开头的 类型:文章
批量加上块引用,那么我可以考虑将其替换为 类型:((20220114165451-cs2hp0o \"文章\"))
.
执行命令:
python3 siyuan_replacer.py "类型:文章" "类型:((20220114165451-cs2hp0o \"文章\"))"
当然,更好的操作方法是在模板中添加好引用。但对于那些陈旧的数据,利用这个方法更新一下就可以维护数据的统一性。
每次执行都会在同目录产生一个备份文件,以每行 id:::markdown
的形式记录了被更新的块的数据。如果出了什么问题,可以利用这个备份来恢复数据。
不过在没出问题之前,我是不会写好恢复工具的、、、
请注意使用最新版的 siyuanhelper. 全局替换有潜在的数据风险,请做好防范工作。目前为了方便,只支持了段落块 type=p
的替换。
想要使用,请在 TinyScripts 仓库中找到 siyuan_replacer.py
下载下来使用。安装 siyuanhelper 依赖即可。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于