From c4a186f9d05045f5191bd52a053c7a78aa18efbb Mon Sep 17 00:00:00 2001 From: buggyj Date: Mon, 22 Sep 2014 22:55:58 +0200 Subject: [PATCH 1/9] first try --- content/overlay.js | 239 +++++++++++++++++++++++++++++++++++++++++++++ tiddlyfox.xpi | Bin 12787 -> 14950 bytes 2 files changed, 239 insertions(+) diff --git a/content/overlay.js b/content/overlay.js index 030213a..acc074e 100644 --- a/content/overlay.js +++ b/content/overlay.js @@ -4,6 +4,190 @@ The JavaScript code in this file is executed via `overlay.xul` when Firefox star */ var TiddlyFox = (function () { +var util = { + + Date : function () { + this.date = new Date(); + }, + + CreateAPI : function (name, index, array) { + util.Date.prototype[name] =function () { + return(this.date[name]()); + } + } +}; +["getDate", "getFullYear", "getMonth", "getDay", "getHours", "getMinutes", "getSeconds", "getMilliseconds" ].forEach(util.CreateAPI); +["getUTCDate","getUTCFullYear","getUTCMonth","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds"].forEach(util.CreateAPI); +["getTime","getTimezoneOffset"].forEach(util.CreateAPI); + + +// --------------------------------------------------------------------------------- +// Start of Utility functions copied from TiddlyWiki. +// --------------------------------------------------------------------------------- + + + + + +var zeroPad = function(n,d) +{ + var s = n.toString(); + if(s.length < d) + s = "000000000000000000000000000".substr(0,d-s.length) + s; + return(s); +} + +// Convert a date to UTC YYYYMMDDHHMM string format +util.Date.prototype.convertToYYYYMMDDHHMM = function() +{ + return(zeroPad(this.getUTCFullYear(),4) + zeroPad(this.getUTCMonth()+1,2) + zeroPad(this.getUTCDate(),2) + zeroPad(this.getUTCHours(),2) + zeroPad(this.getUTCMinutes(),2)); +} + +// Convert a date to UTC YYYYMMDD.HHMMSSMMM string format +util.Date.prototype.convertToYYYYMMDDHHMMSSMMM = function() +{ + return(zeroPad(this.getUTCFullYear(),4) + zeroPad(this.getUTCMonth()+1,2) + zeroPad(this.getUTCDate(),2) + "." + zeroPad(this.getUTCHours(),2) + zeroPad(this.getUTCMinutes(),2) + zeroPad(this.getUTCSeconds(),2) + zeroPad(this.getUTCMilliseconds(),4)); +} + + + + +// Convert a date to UTC YYYY-MM-DD HH:MM string format +util.Date.prototype.convertToFullDate = function() +{ + return(zeroPad(this.getUTCFullYear(),4) + "-" + + zeroPad(this.getUTCMonth()+1,2) + "-" + + zeroPad(this.getUTCDate(),2) + " " + + zeroPad(this.getUTCHours(),2) + ":" + + zeroPad(this.getUTCMinutes(),2)); +} + +util.Date.prototype.formatString = function(template) +{ + var t = template.replace(/0hh12/g,zeroPad(this.getHours12(),2)); + t = t.replace(/hh12/g,this.getHours12()); + t = t.replace(/0hh/g,zeroPad(this.getHours(),2)); + t = t.replace(/hh/g,this.getHours()); + t = t.replace(/mmm/g,dateS.shortMonths[this.getMonth()]); + t = t.replace(/0mm/g,zeroPad(this.getMinutes(),2)); + t = t.replace(/mm/g,this.getMinutes()); + t = t.replace(/0ss/g,zeroPad(this.getSeconds(),2)); + t = t.replace(/ss/g,this.getSeconds()); + t = t.replace(/[ap]m/g,this.getAmPm().toLowerCase()); + t = t.replace(/[AP]M/g,this.getAmPm().toUpperCase()); + t = t.replace(/wYYYY/g,this.getYearForWeekNo()); + t = t.replace(/wYY/g,zeroPad(this.getYearForWeekNo()-2000,2)); + t = t.replace(/YYYY/g,this.getFullYear()); + t = t.replace(/YY/g,zeroPad(this.getFullYear()-2000,2)); + t = t.replace(/MMM/g,dateS.months[this.getMonth()]); + t = t.replace(/0MM/g,zeroPad(this.getMonth()+1,2)); + t = t.replace(/MM/g,this.getMonth()+1); + t = t.replace(/0WW/g,zeroPad(this.getWeek(),2)); + t = t.replace(/WW/g,this.getWeek()); + t = t.replace(/DDD/g,dateS.days[this.getDay()]); + t = t.replace(/ddd/g,dateS.shortDays[this.getDay()]); + t = t.replace(/0DD/g,zeroPad(this.getDate(),2)); + t = t.replace(/DDth/g,this.getDate()+this.daySuffix()); + t = t.replace(/DD/g,this.getDate()); + var tz = this.getTimezoneOffset(); + var atz = Math.abs(tz); + t = t.replace(/TZD/g,(tz < 0 ? '+' : '-') + zeroPad(Math.floor(atz / 60),2) + ':' + zeroPad(atz % 60,2)); + t = t.replace(/\\/g,""); + return t; +}; + +util.Date.prototype.getWeek = function() +{ + var dt = new Date(this.getTime()); + var d = dt.getDay(); + if(d==0) d=7;// JavaScript Sun=0, ISO Sun=7 + dt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week to calculate weekNo + var n = Math.floor((dt.getTime()-new Date(dt.getFullYear(),0,1)+3600000)/86400000); + return Math.floor(n/7)+1; +}; + +util.Date.prototype.getYearForWeekNo = function() +{ + var dt = new Date(this.getTime()); + var d = dt.getDay(); + if(d==0) d=7;// JavaScript Sun=0, ISO Sun=7 + dt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week + return dt.getFullYear(); +}; + +util.Date.prototype.getHours12 = function() +{ + var h = this.getHours(); + return h > 12 ? h-12 : ( h > 0 ? h : 12 ); +}; + +util.Date.prototype.getAmPm = function() +{ + return this.getHours() >= 12 ? dateS.pm : dateS.am; +}; + +util.Date.prototype.daySuffix = function() +{ + return dateS.daySuffixes[this.getDate()-1]; +}; + +// Convert a date to local YYYYMMDDHHMM string format +util.Date.prototype.convertToLocalYYYYMMDDHHMM = function() +{ + return this.getFullYear() + zeroPad(this.getMonth()+1,2) + zeroPad(this.getDate(),2) + zeroPad(this.getHours(),2) + zeroPad(this.getMinutes(),2); +}; + +// Convert a date to UTC YYYYMMDDHHMM string format +util.Date.prototype.convertToYYYYMMDDHHMM = function() +{ + return this.getUTCFullYear() + zeroPad(this.getUTCMonth()+1,2) + zeroPad(this.getUTCDate(),2) + zeroPad(this.getUTCHours(),2) + zeroPad(this.getUTCMinutes(),2); +}; + +// Convert a date to UTC YYYYMMDD.HHMMSSMMM string format +util.Date.prototype.convertToYYYYMMDDHHMMSSMMM = function() +{ + return this.getUTCFullYear() + zeroPad(this.getUTCMonth()+1,2) + zeroPad(this.getUTCDate(),2) + "." + zeroPad(this.getUTCHours(),2) + zeroPad(this.getUTCMinutes(),2) + zeroPad(this.getUTCSeconds(),2) + zeroPad(this.getUTCMilliseconds(),3) +"0"; +}; + +// Static method to create a date from a UTC YYYYMMDDHHMM format string +util.Date.convertFromYYYYMMDDHHMM = function(d) +{ + d = d?d.replace(/[^0-9]/g, ""):""; + return util.Date.convertFromYYYYMMDDHHMMSSMMM(d.substr(0,12)); +}; + +// Static method to create a date from a UTC YYYYMMDDHHMMSS format string +util.Date.convertFromYYYYMMDDHHMMSS = function(d) +{ + d = d?d.replace(/[^0-9]/g, ""):""; + return util.Date.convertFromYYYYMMDDHHMMSSMMM(d.substr(0,14)); +}; + +// Static method to create a date from a UTC YYYYMMDDHHMMSSMMM format string +util.Date.convertFromYYYYMMDDHHMMSSMMM = function(d) +{ + d = d ? d.replace(/[^0-9]/g, "") : ""; + return new Date(Date.UTC(parseInt(d.substr(0,4),10), + parseInt(d.substr(4,2),10)-1, + parseInt(d.substr(6,2),10), + parseInt(d.substr(8,2)||"00",10), + parseInt(d.substr(10,2)||"00",10), + parseInt(d.substr(12,2)||"00",10), + parseInt(d.substr(14,3)||"000",10))); +}; +var dateS ={}; +dateS.months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November","December"]; +dateS.days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; +dateS.shortMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; +dateS.shortDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; +// suffixes for dates, eg "1st","2nd","3rd"..."30th","31st" +dateS.daySuffixes = ["st","nd","rd","th","th","th","th","th","th","th", + "th","th","th","th","th","th","th","th","th","th", + "st","nd","rd","th","th","th","th","th","th","th", + "st"]; +dateS.am = "am"; +dateS.pm = "pm"; + var TiddlyFox = { // Name of the permission for TiddlyFox used by Firefox @@ -80,6 +264,26 @@ var TiddlyFox = { // Attach the event handler to the message box messageBox.addEventListener("tiddlyfox-save-file",TiddlyFox.onSaveFile,false); }, + copyFile: function(sourcefile,destdir) +{ + // get a component for the file to copy + var aFile = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + if (!aFile) return false; + + // get a component for the directory to copy to + var aDir = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + if (!aDir) return false; + + // next, assign URLs to the file components + aFile.initWithPath(sourcefile); + aDir.initWithPath(TiddlyFox.getSpecialBackupPath(sourcefile)); + + // finally, copy the file + + aFile.copyTo(aDir,TiddlyFox.getSpecialBackupFile(sourcefile)); +}, saveFile: function(filePath,content) { // Attempt to convert the filepath to a proper UTF-8 string @@ -90,8 +294,10 @@ var TiddlyFox = { } // Save the file try { + TiddlyFox.copyFile(filePath,"/media/3497f82e-3b95-41de-90af-df905eceeab4/data/radice/firefoxextension/Tw516/plugins/etc"); var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath(filePath); + if(!file.exists()) file.create(0,0x01B4);// 0x01B4 = 0664 var out = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); @@ -108,6 +314,35 @@ var TiddlyFox = { } }, +getSpecialBackupPath: function(localPath) { + var slash = "\\"; + var dirPathPos = localPath.lastIndexOf("\\"); + if(dirPathPos == -1) { + dirPathPos = localPath.lastIndexOf("/"); + slash = "/"; + } + var backupFolder = "backups";//config.options.txtBackupFolder; + if(!backupFolder || backupFolder == "") + backupFolder = "."; + backupFolder=localPath.substr(0,dirPathPos) + slash + backupFolder;alert(backupFolder); + return backupFolder; +}, +getSpecialBackupFile: function(localPath) { + var slash = "\\"; + var dirPathPos = localPath.lastIndexOf("\\"); + if(dirPathPos == -1) { + dirPathPos = localPath.lastIndexOf("/"); + slash = "/"; + } + var backupPath = localPath.substr(dirPathPos+1); + backupPath = backupPath.substr(0,backupPath.lastIndexOf(".")) + "."; + //if (config.options.chkOneADayBackUpFile==true) + backupPath += (new util.Date()).convertToYYYYMMDDHHMMSSMMM().replace (/(.*)\.(.*)/,"$1") + "." + "html"; + //else + // backupPath += (new Date()).convertToYYYYMMDDHHMMSSMMM() + "." + "html"; + alert(backupPath); + return backupPath; +}, onSaveFile: function(event) { // Get the details from the message var message = event.target, @@ -180,4 +415,8 @@ window.addEventListener("load",function load(event) { TiddlyFox.onLoad(event); },false); return TiddlyFox; + + + + }()); diff --git a/tiddlyfox.xpi b/tiddlyfox.xpi index 9d3952c95560c4fea099a69729154fc937631b92..1b72d0dd8b651482c705b8e6c17e88a2c4cf5158 100644 GIT binary patch delta 5940 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 Date: Tue, 23 Sep 2014 10:00:32 +0200 Subject: [PATCH 2/9] first try --- content/overlay.js | 74 ++++++++++++++++++++------------------------- tiddlyfox.xpi | Bin 14950 -> 14869 bytes 2 files changed, 32 insertions(+), 42 deletions(-) diff --git a/content/overlay.js b/content/overlay.js index acc074e..998a0e7 100644 --- a/content/overlay.js +++ b/content/overlay.js @@ -4,6 +4,10 @@ The JavaScript code in this file is executed via `overlay.xul` when Firefox star */ var TiddlyFox = (function () { +/* + * note that Date is not a 'real' object so you cannot extend it + * so instead we wrap it + */ var util = { Date : function () { @@ -20,15 +24,10 @@ var util = { ["getUTCDate","getUTCFullYear","getUTCMonth","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds"].forEach(util.CreateAPI); ["getTime","getTimezoneOffset"].forEach(util.CreateAPI); - // --------------------------------------------------------------------------------- // Start of Utility functions copied from TiddlyWiki. // --------------------------------------------------------------------------------- - - - - var zeroPad = function(n,d) { var s = n.toString(); @@ -49,9 +48,6 @@ util.Date.prototype.convertToYYYYMMDDHHMMSSMMM = function() return(zeroPad(this.getUTCFullYear(),4) + zeroPad(this.getUTCMonth()+1,2) + zeroPad(this.getUTCDate(),2) + "." + zeroPad(this.getUTCHours(),2) + zeroPad(this.getUTCMinutes(),2) + zeroPad(this.getUTCSeconds(),2) + zeroPad(this.getUTCMilliseconds(),4)); } - - - // Convert a date to UTC YYYY-MM-DD HH:MM string format util.Date.prototype.convertToFullDate = function() { @@ -264,28 +260,23 @@ var TiddlyFox = { // Attach the event handler to the message box messageBox.addEventListener("tiddlyfox-save-file",TiddlyFox.onSaveFile,false); }, - copyFile: function(sourcefile,destdir) -{ - // get a component for the file to copy - var aFile = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); - if (!aFile) return false; - - // get a component for the directory to copy to - var aDir = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); - if (!aDir) return false; - - // next, assign URLs to the file components - aFile.initWithPath(sourcefile); - aDir.initWithPath(TiddlyFox.getSpecialBackupPath(sourcefile)); - - // finally, copy the file - - aFile.copyTo(aDir,TiddlyFox.getSpecialBackupFile(sourcefile)); -}, + moveFile: function(sourcefile,destdir,onceaday) { + var aFile = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + if (!aFile) return false; + + var aDir = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + if (!aDir) return false; + + aFile.initWithPath(sourcefile); + aDir.initWithPath(TiddlyFox.getBackupPath(sourcefile,destdir)); + + + aFile.moveTo(aDir,TiddlyFox.getBackupFile(sourcefile,onceaday)); + }, - saveFile: function(filePath,content) { + saveFile: function(filePath,content,destdir,onceaday) { // Attempt to convert the filepath to a proper UTF-8 string try { var converter = Components.classes["@mozilla.org/intl/utf8converterservice;1"].getService(Components.interfaces.nsIUTF8ConverterService); @@ -294,7 +285,8 @@ var TiddlyFox = { } // Save the file try { - TiddlyFox.copyFile(filePath,"/media/3497f82e-3b95-41de-90af-df905eceeab4/data/radice/firefoxextension/Tw516/plugins/etc"); + if (destdir) + TiddlyFox.moveFile(filePath,destdir,onceaday); var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); file.initWithPath(filePath); @@ -314,20 +306,20 @@ var TiddlyFox = { } }, -getSpecialBackupPath: function(localPath) { +getBackupPath: function(localPath,destdir) { var slash = "\\"; var dirPathPos = localPath.lastIndexOf("\\"); if(dirPathPos == -1) { dirPathPos = localPath.lastIndexOf("/"); slash = "/"; } - var backupFolder = "backups";//config.options.txtBackupFolder; + var backupFolder = destdir;//config.options.txtBackupFolder; if(!backupFolder || backupFolder == "") backupFolder = "."; - backupFolder=localPath.substr(0,dirPathPos) + slash + backupFolder;alert(backupFolder); + backupFolder=localPath.substr(0,dirPathPos) + slash + backupFolder; return backupFolder; }, -getSpecialBackupFile: function(localPath) { +getBackupFile: function(localPath,onceaday) { var slash = "\\"; var dirPathPos = localPath.lastIndexOf("\\"); if(dirPathPos == -1) { @@ -336,11 +328,10 @@ getSpecialBackupFile: function(localPath) { } var backupPath = localPath.substr(dirPathPos+1); backupPath = backupPath.substr(0,backupPath.lastIndexOf(".")) + "."; - //if (config.options.chkOneADayBackUpFile==true) + if (onceaday) backupPath += (new util.Date()).convertToYYYYMMDDHHMMSSMMM().replace (/(.*)\.(.*)/,"$1") + "." + "html"; - //else - // backupPath += (new Date()).convertToYYYYMMDDHHMMSSMMM() + "." + "html"; - alert(backupPath); + else + backupPath += (new util.Date()).convertToYYYYMMDDHHMMSSMMM() + "." + "html"; return backupPath; }, onSaveFile: function(event) { @@ -348,8 +339,10 @@ getSpecialBackupFile: function(localPath) { var message = event.target, path = message.getAttribute("data-tiddlyfox-path"), content = message.getAttribute("data-tiddlyfox-content"); + backupdir = message.getAttribute("data-tiddlyfox-backupdir"), + onceaday = message.getAttribute("data-tiddlyfox-onceaday"); // Save the file - TiddlyFox.saveFile(path,content); + TiddlyFox.saveFile(path,content,"../backup",true); // Remove the message element from the message box message.parentNode.removeChild(message); // Send a confirmation message @@ -416,7 +409,4 @@ window.addEventListener("load",function load(event) { },false); return TiddlyFox; - - - }()); diff --git a/tiddlyfox.xpi b/tiddlyfox.xpi index 1b72d0dd8b651482c705b8e6c17e88a2c4cf5158..935b9f009573fc842f662291f87f897e4b7b0492 100644 GIT binary patch delta 5112 zcmY*dWmJ@F7oA}oS|o=Y1WBcap}VA0$^q#Rsi8}_yf9J{5<`f92+|$WDTqjl(k0!k zfRcV!zpK~#uJt@?oxS!sXTSUTw^u!rJg@4gL#_~leta96BJo$@c%f{}`hTBzemckx zM2qb=^04p+f@KFY{)YZf!ae|V{DP{J!J^=wybm}xe}iC%GMM7;W<@B{j@OG61o|QY z0+E9lu*@P<009W{&r*FaUm_6r$~puD`gzUL13uHW2QDiu0eI0a#f7NsUvDs zo}ezgoPg@UUvlE2kessW>C)~<;nto&8X+>fMY+&95fGSKHps&=UHvu0n+KTidaL); zQZzRg^$vjp4zeSrDWeX-C;-Od)Eqm?UUc#=G8lZWxb!Y2=(KlaF6dQBa@eFbS8gsM3!3*?6EXA zd+~_1|P z&hQ^*l~}&)XB&-{nhHggbKt2VFLc%N@Lt*AdfPv*v4NT}rv{27r245>Npw96@!+A5 z{!7KmO*~^&{!=6Yc*=U#{OtN2_>!?@PhtyhS(eGO2fdb8^O(77?URB2qeVZ8)@vVU_ z0z@nyj(_)P4seU_>)-Lgpyl!hYK_WzwhZD~nqsFo@KlM7@b#|n7^Wid@sFj>>0`n= zsri&xRFpVbA!~zT%Rod}==w=yFKZ!_F^qF`T>b%9A)9fGOWo|GVkNyS=i=<~vDVrG z9e$GCnAUJdy{#D^6=q^agRw}0F}AfGMd;sURr)=S7$jc2Qkqel z1f5s7!tr9)Cypt`QW5>>VQOgMF!ZIt*v4!i6N5LkZkLb~1rQyXnckwQL$}n@f=EtRR(A9Sh zc}44-xYN66kq0uqr#2}LOTy&6b_@FQ1eI?Ht&orOW4pr`o`kuMK!q$u*5cdRW1^JI z*o}MZT@#V+p?c#51xlraS#y*2E;0|ZS=W=Q5|4qJh_@}}md>AS_tccmWcUN@pEN@E zs=~@}$0jWA^T@YU-^ooIax;~8tw)`9fL_vQyL}K!W6B=;B2JdGJ#DAxx?w$K(FFNX|(9I88>vp zPBh@NWzCj(%OBx4}zc=B1U7c4Ub09RG z4ZNd1qQP}8dzGh^E~oc=inf;e)lMwP#ng3^#31T8)CH$F;``mUvo((bVwyx;|0mYD zLlU%c{8 ziPW*}l<98lN!s-*Rj=QFLtkHQZ*<9U@oS!^HKP<&UcABeTv_tV0sHGo?P`QBi{JsU za|5>Nb9?VBs!x&kz@A(8<|;K#IZL{pIs55>t$S{GM%Mo5QUe(@)`%5<#39%Uym3cH z6Lw=f*5x*78g)_M;g>tG&3yiF&i1v0#?cGTSEJ7y*lHpTpf!QUQl)8QYK|dovT5SQ zS-CNWid$J;LmwSq*NohTI%=DeFA&}U%2(j*ys6cXaJ?Dd2JJ}p;&gwJT)UIGtH-#I zZrhh#bb}c`rUH2`hhKNuzCHyiA=vujyYjJ$sheAa*-^Ku{GP7)c7+*oFHkq&Pjpq)*InuFIdJv;eDPt!MGxbAwHHDLawX4fxAt>ekK`g# z|LY7d(d=;_A|RFLr*!-T-Hrhb%! zMvfC%+3=AsDMR)k$Ac)8O__is9A3~vfy^D|Z#_)-MywIK1W)A&@iH*>iJQNSRu$cu zTpj4)fj&MeJ86nro{_hGYwhYsgV!S@#amUePZkv9j6bJdwU3PU6I`GLCRB2r+I4Hc z;P9_Rsa jyn(*wCfi#%)fY0UOfc$UFw5;wiGp}JKVosw@VNc5h`hErp0)hA$zFxENPmZg9X z!zS=8C%2U9iVjw{?OgW*aO6f-4br*;+=rDDg`ug3YhTdFv)XO3P%wEw@Iy8P`&Y}X zODejAvoE0SHGD316QL7<(RwTsai;O189rr3?f?m#3PV= zfvjj;A?j|Poht8^_01H4^Yf0=<4(hZc%g!Dqc>yf7`w<&Ujcu%%Tj-nxfm@omDCQ< zh)`qG)C~}ys^Ydd0LY}b@2aF8sXGs%5R%KBDIOirIE2hf_n52(+ancCs@blSJ=WZp#t z>o)E7ATP)LzWDASW!ctn&9{u_aASrW>0S{{82ikaspE8gHexmsFef#$4c?s z)KSfw@UkpGElIiy*cQ785)TN8#mrb=S6PXxt5r8-yB+7|z^S4Y(%`K7q7h743b;-c zPuV&)Nz8jm099R2ep5pczkYvZghQA3X_b)nNd3xdNh6z9S@I0fm?7!?4Ax`jTm5&9 zHXUJ4d@X_?6HnT&kSa3f!sFY#E`_zFL+-q>gtTol7cw5vW$uWs*>LWpEQzKtJZOT& zkS5y+hf+A~cAfAa(Zt7B!2`KFUzBB&{blart*rja5_ozM%L*Cf!Yq`Ws$w8nI;{jN z+r;iUw!0Y8j|Cn2x1O!d0BtIc^`XU6&er&8ERB8%^(qa+vc#57R&VEy^Zmul38=0p z$%%^>mJ!iV?O=M7LpDA^p<=r2r8wPLCH+i(cH2kG1!p6IQpP-~JV&R7sfj~fN{qOf ziY=k(fV2=w2WcAGDjQx*@A}Ym&yI9;LoT=^%Zu>l$X$aN45zq2xj8&mZ$X><4d2z3 zIJ7w4Um?ayrvi5=Pl{Ep=Bddw7eNudgyz)`dvr=x6Xqfnp3_Qb$vB<_?w&GP8@y~J zt-?3z-MGSzW~yGeOQ0r4rx!3Am=6rk`L(Kx02-TQiR&_cRgRSEFn5X;E9P?Sw$#Qr zG~JWAiPQu0UPe`0{~)oVJEUY3ipk-zCqT*sL}2#3dy5tY9!**V1oyK)r@z9-lKKXZ z9iI2Hw)1rVJZ9-c;JM}ND!$o3f9Re#QSQ*3C@g`_ zo4H+OWZfZqrB!9Zqf5zr9JAI$Snb zLWqs^+DjADcPOauPQBGby^ou!xxLnOA+6+baUed}izgJWJx#WuPb!}59wfH3$LJKB zs=|4|qmA?n^dT6444y{LIp5d1u2!gP$fEdqJ9(XttUn`N{Y>zF+dccSvJ-U{+fLut z7U9pW*97n=&UAgol@T7q6gndP3)~Jov@OQ^orXRr^hRm_ZA!LxFc({3AAoL6bUzMb zN7cm0mg-ciaa6p|A{hxO_e|Kjxc8Ngqmm*LZ7~y`&C&g(tIql&MQ0)tLiCC#|50ki zXx+6kv*E`TOzDw$Gpo{*ARk@N3r3r+@>b+Pu=uPAd#a8;5n?=fwYVHru3x&Q>f~(% zVyykk)1|FturU^(YLW&ni8}|GbG5$Nwptl9EriG_N;kgo#>IQ7|LoH+tH;J!uiST9 zEO4`6v&}0wYsb0xuBk>_(i)>TQ<8x1Go>tdJ!)n6tJ13uy8QAf4ib3+j(zu!8U`A6 zus1NY4vn>3(liKQbZo?(<4(U3siyq+Lmx(lUPlqscpR!qTbu_-l#izLwuR<+MD}*l z?@l{^5d-+ZWU{4Hk*5jE8PsJaTJNk7d}_gKeyj$^p-iyVO6Th4#UtHL^%i9 z8wBcS4qf8?Co;jBQt|(eIg+TdsDEZ3Vm$u_B6d7joS)zYAMHeQI~XI&vA@J|isrO=$tVRuzuxw@r2jt}fjB)xPY{HC SElBapO<8d!T!_#QOa2EB!wkLv delta 5217 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 O<@N(8t{VSO58!_>oL0gB From c513eba5bcf7aa00621be5c8adbf12d227a0fe26 Mon Sep 17 00:00:00 2001 From: buggyj Date: Tue, 23 Sep 2014 20:14:56 +0200 Subject: [PATCH 3/9] added fixed backup --- content/inject.js | 3 ++- content/overlay.js | 11 +++++++---- tiddlyfox.xpi | Bin 14869 -> 14892 bytes 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/content/inject.js b/content/inject.js index 3c99e97..b6c9666 100644 --- a/content/inject.js +++ b/content/inject.js @@ -15,6 +15,7 @@ The JavaScript in this file is injected into each TiddlyWiki page that loads var message = document.createElement("div"); message.setAttribute("data-tiddlyfox-path",path); message.setAttribute("data-tiddlyfox-content",content); + message.setAttribute("data-tiddlyfox-tw2","true"); messageBox.appendChild(message); // Create and dispatch the custom event to the extension var event = document.createEvent("Events"); @@ -52,4 +53,4 @@ The JavaScript in this file is injected into each TiddlyWiki page that loads window.convertUriToUTF8 = injectedConvertUriToUTF8; window.convertUnicodeToFileFormat = injectedConvertUnicodeToFileFormat; -})(); \ No newline at end of file +})(); diff --git a/content/overlay.js b/content/overlay.js index 998a0e7..0b77a97 100644 --- a/content/overlay.js +++ b/content/overlay.js @@ -338,12 +338,15 @@ getBackupFile: function(localPath,onceaday) { // Get the details from the message var message = event.target, path = message.getAttribute("data-tiddlyfox-path"), - content = message.getAttribute("data-tiddlyfox-content"); + content = message.getAttribute("data-tiddlyfox-content"), backupdir = message.getAttribute("data-tiddlyfox-backupdir"), - onceaday = message.getAttribute("data-tiddlyfox-onceaday"); + onceaday = message.getAttribute("data-tiddlyfox-onceaday"), + tw2 =message.getAttribute("data-tiddlyfox-tw2"); // Save the file - TiddlyFox.saveFile(path,content,"../backup",true); - // Remove the message element from the message box + if (tw2) + TiddlyFox.saveFile(path,content); + else + TiddlyFox.saveFile(path,content,"../backup",true); message.parentNode.removeChild(message); // Send a confirmation message var event = document.createEvent("Events"); diff --git a/tiddlyfox.xpi b/tiddlyfox.xpi index 935b9f009573fc842f662291f87f897e4b7b0492..e4a1522e587f61d4891208f1fc0099748f69330e 100644 GIT binary patch delta 5774 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 delta 5820 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 ORN{nKm_k3zf&K>phjZot From d0281d4241c537b1945f9fb133215e36ff034eb4 Mon Sep 17 00:00:00 2001 From: buggyj Date: Tue, 23 Sep 2014 20:57:52 +0200 Subject: [PATCH 4/9] fixed backup --- content/overlay.js | 2 +- tiddlyfox.xpi | Bin 14892 -> 14889 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/content/overlay.js b/content/overlay.js index 0b77a97..03164b9 100644 --- a/content/overlay.js +++ b/content/overlay.js @@ -346,7 +346,7 @@ getBackupFile: function(localPath,onceaday) { if (tw2) TiddlyFox.saveFile(path,content); else - TiddlyFox.saveFile(path,content,"../backup",true); + TiddlyFox.saveFile(path,content,"backup",true); message.parentNode.removeChild(message); // Send a confirmation message var event = document.createEvent("Events"); diff --git a/tiddlyfox.xpi b/tiddlyfox.xpi index e4a1522e587f61d4891208f1fc0099748f69330e..443d48695909d56a4e2fef8fc0411d8f7eac6217 100644 GIT binary patch delta 1451 zcmZ2eva*CHz?+$civa{wmrvx8V{1L67}9!ZGNZZhgq9!Bu+m$q%5wd>c5N>6tGUsJQWSNu5mHuU_ov_oogb00F*b~sOb3v`BR$Kg$X zd_vDmuX^}XWV_E%2iHHztM?|Comy)4zH5JA5Vz7i!yC7k-!MMw%937vce?z6GlD)2 zM-A&+gV$`m@x>~5ZQR}2I~Qsj3kFV6h~9Jl;D6CI$?`5)x6-e&v6u#){UvvhuhS~v z_r6Qbac}=S@oq}SFPq9F`LQyAn~xreJ+#m z$nOWmH@0?Ly6YsFC(V-k6DT}ysS_%xjmd4uo8BO1J=1r-*@y}ex(En3; zcyjZiV&5hG+G_K8L;1=%2QQm&O`Uzq;?;uO+yDtIQ~ za%kemm5o2EckD{5x9v>wo0uWAOJL8}6M=Cz4(@6@GO6~8>4C6|r79QBwTetg@HoX#hUi5kHYtDop1aZqCYqytaC3c3rJKthM~m0+q~={JFe z@{Evk2p1yjOkQuK0#%HZcP4)`(uIj?8qWb4dfZqaCi2JFQU#PLz_|}fumUqhadu{& zK2knFHn7Y@9j1M;Ni)bmO$(XHE~WxZ;7lt%S-^}9BwA`}0uhk~@lKiQqRC5`nW2f~ zn^_=<@S^0_$(PM^kc?9>mtka|Y-_HJqyc12BT)SDVN|pl}rU1keP-7W^>@AHujNxv97z-<)Qc6;g y9H)owI93$LX_zp;A`|8xxTDTl%1Ecf|X{;-)|cF#rJXog7vG delta 1492 zcmZ2kvZjP5z?+$civa|l1Wn|TV|%Tu81hDUa-ya1lP^ zMtP_JlB&t+j2ckU%~KgI89@p!Flj-BHZglJ8a@d!cU@nxt+7FXfx*CrfkB8th9NmW zuOv0EL_fbQwJ0aCQZK7GG=!6Z8Dih&N)~Uv`p1>BOLrxkT5@j;p2sL4cT{oP#->#= zx4mY5T%THTao-}f<4G+mlIL8#es%eIZ>#D{>tm!HTLs>2sM@wgOdv|h+Z%gSwz)GMtD|1)z^l<>!%gWv3qZp+kDvbgv9 z+8>6rz67TFu0Bnfl(k=%O`rAZ+pBM9czb7db}VAK`DiNNzx4^SzjcBxJFfnwu%bU} z+7Avh&nt~qKc<>}N&0+!?;+2e#fzjRzAsEV^|9d7;eh{=qGsO@Fr7X0GC}Q)@Vmy< z;ad!KIF>(R+`jMRwZpj*vHQ6-zrJ4Yo1Qo^Pj9l1#wyks+1{V)zg}Mxyz1IVm9kSh z4E)t@zmgX0Jhh8|Uq`HbO;h6X3H|PWl;St7y1UkCfs$lwf__VLpqA|C!bv;76sE2J zJ>z6P_o`p~sRUw1lP}DDuy%Rhr*nMQOjV}6S==YJRDiiP zHj?q>ltrH&%=%q+zV_68E(?drH^TNWdN(cbXl|k1ifsyr`KOnn;eB1(FCaN@ksW!Au9qI9YQUMy|FFVVI;V z!paKD!!QS#fDB9OwGT{ZVqkd7%D}+QAOZF(BaqzExJ{pdAv3SIBrzvPuP7xgGz6wu z)&MFgIouwkd|TH)okpNz z_5iUMisN1(>`2Yi4Gq@MNX^N~*Gnl$L0Ab6Rj{=m6^xSQfMzHFu>^`ayC>UQDjlqrY@0ARj5 AmH+?% From 6cc0164b5783aa604af2b30baa52cb6b0d2dc327 Mon Sep 17 00:00:00 2001 From: buggyj Date: Thu, 25 Sep 2014 18:55:43 +0200 Subject: [PATCH 5/9] leave tw2 as is --- content/overlay.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/content/overlay.js b/content/overlay.js index 03164b9..ba9d7a2 100644 --- a/content/overlay.js +++ b/content/overlay.js @@ -338,15 +338,12 @@ getBackupFile: function(localPath,onceaday) { // Get the details from the message var message = event.target, path = message.getAttribute("data-tiddlyfox-path"), - content = message.getAttribute("data-tiddlyfox-content"), - backupdir = message.getAttribute("data-tiddlyfox-backupdir"), - onceaday = message.getAttribute("data-tiddlyfox-onceaday"), - tw2 =message.getAttribute("data-tiddlyfox-tw2"); + content = message.getAttribute("data-tiddlyfox-content"); + backuprelpath = message.getAttribute("data-tiddlyfox-backup-relative-path"), + onceaday = message.getAttribute("data-tiddlyfox-onceaday"); // Save the file - if (tw2) - TiddlyFox.saveFile(path,content); - else - TiddlyFox.saveFile(path,content,"backup",true); + TiddlyFox.saveFile(path,content,backuprelpath,onceaday); + // Remove the message element from the message box message.parentNode.removeChild(message); // Send a confirmation message var event = document.createEvent("Events"); From 829f8ca4e49af5e13e76f87c726b58c24b87b3f3 Mon Sep 17 00:00:00 2001 From: buggyj Date: Thu, 25 Sep 2014 19:03:06 +0200 Subject: [PATCH 6/9] reinstate correct versin --- content/overlay.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/content/overlay.js b/content/overlay.js index ba9d7a2..03164b9 100644 --- a/content/overlay.js +++ b/content/overlay.js @@ -338,12 +338,15 @@ getBackupFile: function(localPath,onceaday) { // Get the details from the message var message = event.target, path = message.getAttribute("data-tiddlyfox-path"), - content = message.getAttribute("data-tiddlyfox-content"); - backuprelpath = message.getAttribute("data-tiddlyfox-backup-relative-path"), - onceaday = message.getAttribute("data-tiddlyfox-onceaday"); + content = message.getAttribute("data-tiddlyfox-content"), + backupdir = message.getAttribute("data-tiddlyfox-backupdir"), + onceaday = message.getAttribute("data-tiddlyfox-onceaday"), + tw2 =message.getAttribute("data-tiddlyfox-tw2"); // Save the file - TiddlyFox.saveFile(path,content,backuprelpath,onceaday); - // Remove the message element from the message box + if (tw2) + TiddlyFox.saveFile(path,content); + else + TiddlyFox.saveFile(path,content,"backup",true); message.parentNode.removeChild(message); // Send a confirmation message var event = document.createEvent("Events"); From d80c985dab40f0505fd1ce22079fe98f539c0cc5 Mon Sep 17 00:00:00 2001 From: buggyj Date: Thu, 27 Nov 2014 17:31:36 -0600 Subject: [PATCH 7/9] added xpi file --- tiddlyfox.xpi | Bin 14889 -> 23671 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tiddlyfox.xpi b/tiddlyfox.xpi index 443d48695909d56a4e2fef8fc0411d8f7eac6217..051a3b650514c0619d8776217187d90a2eb22cf1 100644 GIT binary patch delta 5508 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 delta 904 zcmeyqgK=dEZ-6&53l{?js4h33$ScdRN*33D?uWY)fnaALJ&oh zO@-89LYtF?EEvJ+<_T-U1W7AKGBCsaB!Xn0ONcVe6sTt> zcZcY}geLC`nGLoqCR7hDHZjx!EOsVT8YTwQ${nT#6Pj!h)&y3zH%uF3^<>8g88DwK z+!)FiLvlxaxDJXc&IswrC&GCIGg5PM^7Sf8b3#K{!CruylMo@zbcAVgZG;qx#+?z; za&{~X49WREO`uSz4MLCI;dRfItCLr6K6DiHiF3K=@x0xIpniXdwrDY%MAk50l z%SufyK{ZOo6cp}Bz4n3WObiTfSs56(86?0lzz8I_G;Y>sV93lXE=kPE(JM+x!{La% zVba3!MhuAfg1bb_7M?gzVwV?c3j>1y!(Yb*2)(I!x}m|q7>Ao6qX=^0wyu9VjX)Re z0b(%}7d|&)m^?c~65aEK(b7yij3@U+%VUYI^U>0R8YT=3#o3v8D0YFPSSm(ZCLJaV ai-6=}L<|JRNbvD9@H6}YMwGZID6|0VMFL&` From 9e43ca78b952a1ed5ab5332eabf56d53b98bfa68 Mon Sep 17 00:00:00 2001 From: buggyj Date: Thu, 27 Nov 2014 20:19:45 -0600 Subject: [PATCH 8/9] Update README.md --- README.md | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 127452c..b3d77c6 100644 --- a/README.md +++ b/README.md @@ -2,24 +2,9 @@ TiddlyFox is an extension for Mozilla Firefox that enables TiddlyWiki to save changes directly to the file system. TiddlyWiki is complete wiki packaged as a standalone HTML file; see http://tiddlywiki.com/ for more details. -# Installation - -TiddlyFox can be installed from Mozilla's Add-ons page: - -https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/ - -However, due to the duration of Mozilla's approval process, you will often find a more up to date version here on Github: - -https://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi +This personalised version keeps a one a day backup in the subfolder 'backup' relative to the tiddlywiki. -# Building the extension - -The shell script `build_mac.sh` builds `tiddlyfox.api` successfully on Mac OS X. - -# Development mode installation - -To make it easier to work on the extension, you can configure Firefox to use the unpacked, development version of the extension. To set it up, edit the file `tiddlyfox@tiddlywiki.org` to contain your local path to the TiddlyFox folder, and then drop the file in your `[firefox profile folder]\extensions\` folder. +# Installation -# Credits +https://github.com/buggyj/TiddlyFox/raw/saver/tiddlyfox.xpi -This extension started life as the sample code accompanying this MozillaZine Knowledge Base article: http://kb.mozillazine.org/Getting_started_with_extension_development From 2c720951fd4b60edd1dabc864e4024efd24880fa Mon Sep 17 00:00:00 2001 From: buggyj Date: Fri, 28 Nov 2014 06:53:31 -0600 Subject: [PATCH 9/9] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3d77c6..bd41afe 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ TiddlyFox is an extension for Mozilla Firefox that enables TiddlyWiki to save ch This personalised version keeps a one a day backup in the subfolder 'backup' relative to the tiddlywiki. # Installation +Open the addons page in firefox and select the 'Extensions' tab. Drag and drop the link below into the list of addons. https://github.com/buggyj/TiddlyFox/raw/saver/tiddlyfox.xpi