/*\ title: $:/plugins/tiddlywiki/dropbox-app/dropbox-app.js type: application/javascript module-type: dropbox-startup Startup the Dropbox wiki app \*/ (function(){ /*jslint node: true, browser: true */ /*global $tw: false */ "use strict"; exports.startup = function(loggedIn) { // Load any tiddlers embedded in the index file var index = $tw.wiki.getTiddlerData($tw.plugins.dropbox.titleTiddlerIndex); if(index) { $tw.wiki.addTiddlers(index.tiddlers); $tw.wiki.addTiddlers(index.systemTiddlers,true); $tw.plugins.dropbox.fileInfo = index.fileInfo; } if(loggedIn) { // Figure out the wiki name var url = (window.location.protocol + "//" + window.location.host + window.location.pathname), wikiName; if(url.indexOf($tw.plugins.dropbox.userInfo.publicAppUrl) === 0) { var p = url.indexOf("/",$tw.plugins.dropbox.userInfo.publicAppUrl.length + 1); if(p !== -1 && url.substr(p) === "/index.html") { wikiName = decodeURIComponent(url.substring($tw.plugins.dropbox.userInfo.publicAppUrl.length + 1,p)); } } if(wikiName) { // Save the wiki name for later $tw.plugins.dropbox.wikiName = wikiName; $tw.wiki.addTiddler({title: $tw.plugins.dropbox.titleWikiName, text: $tw.plugins.dropbox.wikiName},true); // Check for later versions of files on Dropbox $tw.plugins.dropbox.refreshTiddlerFiles("/" + $tw.plugins.dropbox.wikiName + "/tiddlers",function(hadChanges) { // Save the tiddler index if we had changes if(hadChanges) { $tw.plugins.dropbox.saveTiddlerIndex("/" + $tw.plugins.dropbox.wikiName + "/index.html",function(error) { console.log("Saved tiddler index"); // Sync any subsequent tiddler changes $tw.plugins.dropbox.setupSyncer($tw.wiki); }); } }); } else { alert("This TiddlyWiki file must be in Dropbox"); } } }; })();