1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-07-02 18:23:28 +00:00
TiddlyWiki5/plugins/tiddlywiki/dropbox-app/dropbox-app.js
Jeremy Ruston 623a3ec8f8 Rename "shadow" tiddlers to "system" tiddlers
What we have at the moment isn't really the same as TiddlyWiki
classic's shadow tiddlers, it's a much simpler system for excluding
tiddlers. We'll use the term "shadow" instead to refer to the way that
tiddlers in plugins behave, which is exactly like TiddlyWiki classic's
shadow tiddlers.
2013-03-15 22:00:19 +00:00

55 lines
1.8 KiB
JavaScript

/*\
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");
}
}
};
})();