From e449c0bb7dbf0b8ee241e7bd50aaef5e1b9b960b Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Mon, 25 Mar 2013 20:16:12 +0000 Subject: [PATCH] Added support for deleting tiddlers during file synchronisation --- .../filesystem/filesystemadaptor.js | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/plugins/tiddlywiki/filesystem/filesystemadaptor.js b/plugins/tiddlywiki/filesystem/filesystemadaptor.js index 794d7f7be..c425e3f54 100644 --- a/plugins/tiddlywiki/filesystem/filesystemadaptor.js +++ b/plugins/tiddlywiki/filesystem/filesystemadaptor.js @@ -147,8 +147,36 @@ console.log("FileSystem: Loading",title); Delete a tiddler and invoke the callback with (err) */ FileSystemAdaptor.prototype.deleteTiddler = function(title,callback) { -console.log("FileSystem: Deleting",title); - callback(null); + var self = this, + fileInfo = $tw.boot.files[title]; + // Only delete the tiddler if we have writable information for the file + if(fileInfo) { + if($tw.boot.wikiInfo.doNotSave && $tw.boot.wikiInfo.doNotSave.indexOf(title) !== -1) { + // Don't delete the tiddler if it is on the blacklist + callback(null); + } else { + // Delete the file + fs.unlink(fileInfo.filepath,function(err) { + if(err) { + return callback(err); + } +console.log("FileSystem: Deleted file",fileInfo.filepath); + // Delete the metafile if present + if(fileInfo.hasMetaFile) { + fs.unlink(fileInfo.filepath + ".meta",function(err) { + if(err) { + return callback(err); + } + callback(null); + }); + } else { + callback(null); + } + }); + } + } else { + callback(null); + } }; if(fs) {