不保存经常自己变的系统和插件Tiddler

2020年06月02日 15:26
Ref:
Keywords:

来自 TiddlyMap 的 $:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder 和来自系统的 $:/StoryList 老是自动变:

created: 20200409022623558
creator: 林一二
-modified: 20200414104033109
+modified: 20200414135126182
modifier: 林一二
title: $:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder
type: text/vnd.tiddlywiki

没有实质性的变化,而且又经常发生在 wiki 部署后,这样在线版 wiki 就会弹出「This page is asking you to confirm that you want to leave - data you have entered may not be saved」。

但我只是想做浏览不想做编辑啊,这让我觉得很烦,于是我去问了一下解决办法

看来只要修改 $:/core/save/all 就好了。于是我给这里面的过滤器加上了 -[[$:/plugins/felixhayashi/tiddlymap/misc/defaultViewHolder]] -[[$:/StoryList]]


不行,这也没用,这是在生成 HTML 时不要把它们加进去,而不加进去它们更爱变。应该要加到 SyncAdaptor 的 filter 里才行。


原来是 onbeforeunload 导致的,我去仓库里搜到了$tw.utils.each($tw.unloadTasks 在用它,所以我就过滤了一下 $tw.unloadTasks。而且还不能立即做这个过滤,因为 $:/tags/RawMarkup 是在沙盒里执行的,不能修改 $tw

所以最终我跟着 Adding Babel Polyfill to TiddlyWiki 这篇教程,加了一个 startup script,在启动时、上述代码之后,就清理掉那个导致弹窗的 unloadTask,世界终于清静了。

最终,我把它包装成了一个 prevent-edit 插件。