mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-10-31 15:42:59 +00:00 
			
		
		
		
	More rearchitecting of tw5dropbox
This commit is contained in:
		
							
								
								
									
										13
									
								
								dbld.sh
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								dbld.sh
									
									
									
									
									
								
							| @@ -2,13 +2,22 @@ | ||||
|  | ||||
| # build TiddlyWiki5 in the Sky for Dropbox | ||||
|  | ||||
| pushd tw5dropbox/appwiki > /dev/null | ||||
|  | ||||
| node ../../core/boot.js \ | ||||
| 	--verbose \ | ||||
| 	--savetiddler $:/core/templates/tw5dropbox.template.js ../../../../../Apps/Static\ Web\ Apps/TiddlyWiki5/public/tw5dropbox.js text/plain [!is[shadow]] \ | ||||
| 	--savetiddler $:/core/templates/index.template.html ../../../../../Apps/TiddlyWiki5/My\ TiddlyWiki/index.html text/plain [!is[shadow]] \ | ||||
| 	--savetiddler $:/core/templates/styles.template.css ../../../../../Apps/Static\ Web\ Apps/TiddlyWiki5/public/styles.css text/plain [!is[shadow]] \ | ||||
| 	|| exit 1 | ||||
|  | ||||
| popd > /dev/null | ||||
|  | ||||
| pushd tw5dropbox/mainwiki > /dev/null | ||||
|  | ||||
| node ../../core/boot.js \ | ||||
| 	--verbose \ | ||||
| 	--savetiddler $:/core/templates/tw5dropbox.template.js ../../../../../Apps/Static\ Web\ Apps/TiddlyWiki5/public/tw5dropbox.js text/plain [!is[shadow]] \ | ||||
| 	--savetiddler $:/core/templates/index.template.html ../../../../../Apps/Static\ Web\ Apps/TiddlyWiki5/public/index.html text/plain [!is[shadow]] \ | ||||
| 	--savetiddler $:/core/templates/styles.template.css ../../../../../Apps/Static\ Web\ Apps/TiddlyWiki5/public/styles.css text/plain [!is[shadow]] \ | ||||
| 	|| exit 1 | ||||
|  | ||||
| popd > /dev/null | ||||
|   | ||||
							
								
								
									
										22
									
								
								tw5dropbox/appwiki/plugins/dropbox-app.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tw5dropbox/appwiki/plugins/dropbox-app.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| /*\ | ||||
| title: $:/plugins/dropbox/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() { | ||||
| 	// Load tiddlers | ||||
| 	$tw.plugins.dropbox.loadTiddlerFiles("/My TiddlyWiki/tiddlers",function() { | ||||
| 		console.log("Loaded all tiddlers",$tw.wiki.tiddlers); | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| })(); | ||||
							
								
								
									
										36
									
								
								tw5dropbox/appwiki/plugins/tiddlywiki.files
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								tw5dropbox/appwiki/plugins/tiddlywiki.files
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| { | ||||
| 	"tiddlers": [ | ||||
| 		{ | ||||
| 			"file": "../../plugins/async.js",  | ||||
| 			"fields": { | ||||
| 				"title": "$:/plugins/dropbox/async.js", | ||||
| 				"type": "application/javascript", | ||||
| 				"library": "yes" | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"file": "../../plugins/dropbox.js", | ||||
| 			"fields": { | ||||
| 				"title": "$:/plugins/dropbox/dropbox.js", | ||||
| 				"type": "application/javascript", | ||||
| 				"module-type": "startup" | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"file": "../../plugins/logoutmacro.js", | ||||
| 			"fields": { | ||||
| 				"title": "$:/plugins/dropbox/logoutmacro.js", | ||||
| 				"type": "application/javascript", | ||||
| 				"module-type": "macro" | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"file": "dropbox-app.js", | ||||
| 			"fields": { | ||||
| 				"title": "$:/plugins/dropbox/dropbox-app.js", | ||||
| 				"type": "application/javascript", | ||||
| 				"module-type": "dropbox-startup" | ||||
| 			} | ||||
| 		} | ||||
| 	] | ||||
| } | ||||
							
								
								
									
										3
									
								
								tw5dropbox/appwiki/wiki/DefaultTiddlers.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tw5dropbox/appwiki/wiki/DefaultTiddlers.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| title: $:/DefaultTiddlers | ||||
|  | ||||
| AllTiddlers | ||||
							
								
								
									
										80
									
								
								tw5dropbox/appwiki/wiki/PageTemplate.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								tw5dropbox/appwiki/wiki/PageTemplate.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | ||||
| title: $:/templates/PageTemplate | ||||
|  | ||||
| <!-- The navigator catches navigation events and updates the story and history tiddlers --> | ||||
| <<navigator story:"$:/StoryTiddlers" history:"$:/History" >< | ||||
|  | ||||
| <!--  Zooming chooser --> | ||||
| {{navigation-panel{ | ||||
| <<chooser>< | ||||
| 	<<list all>> | ||||
| >> | ||||
| }}} | ||||
|  | ||||
| <!--  Zooming navigator --> | ||||
| <<zoomigator>> | ||||
|  | ||||
| <!-- The top navigation bar --> | ||||
| <div class="navbar navbar-fixed-top"> | ||||
| <div class="navbar-inner"> | ||||
| <div class="container"> | ||||
| {{nav{ | ||||
|  | ||||
| <<reveal state:[[$:/plugins/dropbox/IsLoggedIn]] type:match text:no>< | ||||
| Not logged in | ||||
| >> | ||||
| <<reveal state:[[$:/plugins/dropbox/IsLoggedIn]] type:match text:yes>< | ||||
| Logged in as (($:/plugins/dropbox/UserName)) | ||||
| <<dropbox.logout>< Log me out >> | ||||
| >> | ||||
|  | ||||
| <!-- Navigation menu --> | ||||
| * HelloThere | ||||
| * [[Docs]] | ||||
| *{{divider-vertical}} | ||||
|  | ||||
| <!-- Full screen button --> | ||||
| <<button full-screen class:"btn btn-warning"><Full screen>> | ||||
|  | ||||
| <!-- View button --> | ||||
| <<button popup:ViewDropDownState class:"btn btn-danger"><View <span class="caret"></span>>> | ||||
|  | ||||
| <!-- View dropdown --> | ||||
| {{pull-right{ | ||||
| <<reveal state:[[$:/EditMode]] type:nomatch text:yes>< | ||||
| <<button modal param:[[$:/messages/EnterEditMode]] set:[[$:/EditMode]] setTo:yes class:"btn btn-success"><Edit>> | ||||
| >> | ||||
|  | ||||
| <!-- Save changes is only visible in edit mode --> | ||||
| <<reveal state:[[$:/EditMode]] type:match text:yes>< | ||||
| <<button save-wiki param:"$:/core/templates/tiddlywiki5.encrypted.template.html" class:"btn pull-right"><Save Changes (encrypted)>> | ||||
| >> | ||||
| <<reveal state:[[$:/EditMode]] type:match text:yes>< | ||||
| <<button save-wiki class:"btn pull-right"><Save Changes>> | ||||
| >> | ||||
| }}} | ||||
|  | ||||
| }}} | ||||
|  | ||||
| <!-- This navigator intercepts navigation events and sets the text of the specified tiddler to the target tiddler title --> | ||||
| <<navigator set:[[$:/CurrentView]]>< | ||||
| <<reveal state:ViewDropDownState type:popup position:below>< | ||||
| <div class="open"> | ||||
| {{dropdown-menu tw-suppress-missing-tiddlylink{ | ||||
| * <<link to:classic>< <<reveal state:[[$:/CurrentView]] type:match text:classic>< <span class="tw-ticked-menu-item"></span> >> Classic>> | ||||
| * <<link to:sideways>< <<reveal state:[[$:/CurrentView]] type:match text:sideways>< <span class="tw-ticked-menu-item"></span> >> Sideways>> | ||||
| * <<link to:zoomin>< <<reveal state:[[$:/CurrentView]] type:match text:zoomin>< <span class="tw-ticked-menu-item"></span> >> Zoomin>> | ||||
| }}} | ||||
| </div> | ||||
| >> | ||||
| >> | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
|  | ||||
| <!-- The main story references the same story and history tiddlers as the outer navigator --> | ||||
| <div class="container"> | ||||
| <<story story:"$:/StoryTiddlers" history:"$:/History" storyviewTiddler:[[$:/CurrentView]] storyview:classic >> | ||||
| </div> | ||||
|  | ||||
| >> | ||||
|  | ||||
							
								
								
									
										4
									
								
								tw5dropbox/appwiki/wiki/SiteSubtitle.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								tw5dropbox/appwiki/wiki/SiteSubtitle.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| title: SiteSubtitle | ||||
| type: application/x-tiddler | ||||
|  | ||||
| for Dropbox | ||||
							
								
								
									
										4
									
								
								tw5dropbox/appwiki/wiki/SiteTitle.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								tw5dropbox/appwiki/wiki/SiteTitle.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| title: SiteTitle | ||||
| type: application/x-tiddler | ||||
|  | ||||
| TiddlyWiki5 in the Sky | ||||
							
								
								
									
										37
									
								
								tw5dropbox/appwiki/wiki/index.template.html.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								tw5dropbox/appwiki/wiki/index.template.html.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| title: $:/core/templates/index.template.html | ||||
| type: text/x-tiddlywiki-html | ||||
|  | ||||
| <!doctype html> | ||||
| <head> | ||||
| <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> | ||||
| <meta name="application-name" content="TiddlyWiki" /> | ||||
| <meta name="generator" content="TiddlyWiki" /> | ||||
| <meta name="tiddlywiki-version" content="<<version>>" /> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
| <meta name="apple-mobile-web-app-capable" content="yes" /> | ||||
| <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> | ||||
| <meta name="format-detection" content="telephone=no"> | ||||
| <meta name="copyright" content=" | ||||
| <<serialize "$:/core/copyright.txt" text/plain>> | ||||
| " /> | ||||
| <title><<tiddler "$:/core/wiki/title">></title> | ||||
| <!----------- This is a Tiddlywiki file. The points of interest in the file are marked with this pattern -----------> | ||||
|  | ||||
| <!----------- Raw markup -----------> | ||||
| <<serialize "[tag[$:/core/wiki/rawmarkup]]" text/plain>> | ||||
| </head> | ||||
| <body> | ||||
| <!----------- Static styles -----------> | ||||
| <link rel="stylesheet" href="//dl-web.dropbox.com/spa/4f6lw6nhu5zn5pr/TiddlyWiki5/public/styles.css" type="text/css" /> | ||||
| <!----------- Miscellaneous shadow tiddlers -----------> | ||||
| <div id="shadowArea" style="display:none;"> | ||||
| <<serialize "[is[shadow]] -[type[text/css]] -[type[application/javascript]has[module-type]] -[type[application/javascript]library[yes]] -[[$:/core/boot.js]] -[[$:/core/bootprefix.js]]" application/x-tiddler-html-div>> | ||||
| </div> | ||||
| <!----------- Ordinary tiddlers -----------> | ||||
| <div id="storeArea" style="display:none;"> | ||||
| <<serialize "$1" application/x-tiddler-html-div>> | ||||
| </div> | ||||
| </body> | ||||
| <script src="//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.6.1/dropbox.min.js"></script> | ||||
| <script src="//dl-web.dropbox.com/spa/4f6lw6nhu5zn5pr/TiddlyWiki5/public/tw5dropbox.js"></script> | ||||
| </html> | ||||
							
								
								
									
										22
									
								
								tw5dropbox/mainwiki/plugins/dropbox-main.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tw5dropbox/mainwiki/plugins/dropbox-main.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| /*\ | ||||
| title: $:/plugins/dropbox/dropbox-main.js | ||||
| type: application/javascript | ||||
| module-type: dropbox-startup | ||||
|  | ||||
| Startup the Dropbox main app | ||||
|  | ||||
| \*/ | ||||
| (function(){ | ||||
|  | ||||
| /*jslint node: true, browser: true */ | ||||
| /*global $tw: false */ | ||||
| "use strict"; | ||||
|  | ||||
| exports.startup = function() { | ||||
| 	// Load tiddlers | ||||
| 	$tw.plugins.dropbox.loadWikiFiles("/",function() { | ||||
| 		console.log("Loaded all wikis",$tw.wiki.tiddlers); | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| })(); | ||||
| @@ -23,6 +23,14 @@ | ||||
| 				"type": "application/javascript", | ||||
| 				"module-type": "macro" | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"file": "dropbox-main.js", | ||||
| 			"fields": { | ||||
| 				"title": "$:/plugins/dropbox/dropbox-main.js", | ||||
| 				"type": "application/javascript", | ||||
| 				"module-type": "dropbox-startup" | ||||
| 			} | ||||
| 		} | ||||
| 	] | ||||
| } | ||||
| @@ -0,0 +1,11 @@ | ||||
| title: TiddlyWiki5 in the Sky with Dropbox | ||||
|  | ||||
| Welcome to TiddlyWiki5 in the Sky with Dropbox. | ||||
|  | ||||
| ! Your ~TiddlyWikis | ||||
|  | ||||
| ((( [tag[wiki]] ))(WikiTemplate)) | ||||
|  | ||||
| ! Create new ~TiddlyWiki | ||||
|  | ||||
| + | ||||
							
								
								
									
										10
									
								
								tw5dropbox/mainwiki/tiddlers/WikiTemplate.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tw5dropbox/mainwiki/tiddlers/WikiTemplate.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| title: WikiTemplate | ||||
|  | ||||
| <div class="alert"> | ||||
| <div> | ||||
| <<view title>> | ||||
| </div> | ||||
| <div> | ||||
| <<view url link>> | ||||
| </div> | ||||
| </div> | ||||
| @@ -1,3 +1,3 @@ | ||||
| title: $:/DefaultTiddlers | ||||
|  | ||||
| AllTiddlers | ||||
| [[TiddlyWiki5 in the Sky with Dropbox]] | ||||
|   | ||||
| @@ -3,16 +3,6 @@ title: $:/templates/PageTemplate | ||||
| <!-- The navigator catches navigation events and updates the story and history tiddlers --> | ||||
| <<navigator story:"$:/StoryTiddlers" history:"$:/History" >< | ||||
|  | ||||
| <!--  Zooming chooser --> | ||||
| {{navigation-panel{ | ||||
| <<chooser>< | ||||
| 	<<list all>> | ||||
| >> | ||||
| }}} | ||||
|  | ||||
| <!--  Zooming navigator --> | ||||
| <<zoomigator>> | ||||
|  | ||||
| <!-- The top navigation bar --> | ||||
| <div class="navbar navbar-fixed-top"> | ||||
| <div class="navbar-inner"> | ||||
| @@ -27,48 +17,10 @@ Logged in as (($:/plugins/dropbox/UserName)) | ||||
| <<dropbox.logout>< Log me out >> | ||||
| >> | ||||
|  | ||||
| ((Bugger)) | ||||
|  | ||||
| <!-- Navigation menu --> | ||||
| * HelloThere | ||||
| * [[Docs]] | ||||
| *{{divider-vertical}} | ||||
|  | ||||
| <!-- Full screen button --> | ||||
| <<button full-screen class:"btn btn-warning"><Full screen>> | ||||
|  | ||||
| <!-- View button --> | ||||
| <<button popup:ViewDropDownState class:"btn btn-danger"><View <span class="caret"></span>>> | ||||
|  | ||||
| <!-- View dropdown --> | ||||
| {{pull-right{ | ||||
| <<reveal state:[[$:/EditMode]] type:nomatch text:yes>< | ||||
| <<button modal param:[[$:/messages/EnterEditMode]] set:[[$:/EditMode]] setTo:yes class:"btn btn-success"><Edit>> | ||||
| >> | ||||
|  | ||||
| <!-- Save changes is only visible in edit mode --> | ||||
| <<reveal state:[[$:/EditMode]] type:match text:yes>< | ||||
| <<button save-wiki param:"$:/core/templates/tiddlywiki5.encrypted.template.html" class:"btn pull-right"><Save Changes (encrypted)>> | ||||
| >> | ||||
| <<reveal state:[[$:/EditMode]] type:match text:yes>< | ||||
| <<button save-wiki class:"btn pull-right"><Save Changes>> | ||||
| >> | ||||
| }}} | ||||
| [[App|TiddlyWiki5 in the Sky with Dropbox]] | ||||
|  | ||||
| }}} | ||||
|  | ||||
| <!-- This navigator intercepts navigation events and sets the text of the specified tiddler to the target tiddler title --> | ||||
| <<navigator set:[[$:/CurrentView]]>< | ||||
| <<reveal state:ViewDropDownState type:popup position:below>< | ||||
| <div class="open"> | ||||
| {{dropdown-menu tw-suppress-missing-tiddlylink{ | ||||
| * <<link to:classic>< <<reveal state:[[$:/CurrentView]] type:match text:classic>< <span class="tw-ticked-menu-item"></span> >> Classic>> | ||||
| * <<link to:sideways>< <<reveal state:[[$:/CurrentView]] type:match text:sideways>< <span class="tw-ticked-menu-item"></span> >> Sideways>> | ||||
| * <<link to:zoomin>< <<reveal state:[[$:/CurrentView]] type:match text:zoomin>< <span class="tw-ticked-menu-item"></span> >> Zoomin>> | ||||
| }}} | ||||
| </div> | ||||
| >> | ||||
| >> | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -14,6 +14,7 @@ type: text/x-tiddlywiki-html | ||||
| <meta name="copyright" content=" | ||||
| <<serialize "$:/core/copyright.txt" text/plain>> | ||||
| " /> | ||||
| <script src="//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.6.1/dropbox.min.js"></script> | ||||
| <title><<tiddler "$:/core/wiki/title">></title> | ||||
| <!----------- This is a Tiddlywiki file. The points of interest in the file are marked with this pattern -----------> | ||||
|  | ||||
| @@ -22,7 +23,15 @@ type: text/x-tiddlywiki-html | ||||
| </head> | ||||
| <body> | ||||
| <!----------- Static styles -----------> | ||||
| <link rel="stylesheet" type="text/css" href="styles.css" /> | ||||
| <div id="styleArea"> | ||||
| <<serialize "[is[shadow]type[text/css]]" application/x-tiddler-css>> | ||||
| </div> | ||||
| <!----------- Static content for Google and browsers without JavaScript -----------> | ||||
| <noscript> | ||||
| <div id="splashArea"> | ||||
| <<serialize "$:/templates/StaticContent" text/html>> | ||||
| </div> | ||||
| </noscript> | ||||
| <!----------- Miscellaneous shadow tiddlers -----------> | ||||
| <div id="shadowArea" style="display:none;"> | ||||
| <<serialize "[is[shadow]] -[type[text/css]] -[type[application/javascript]has[module-type]] -[type[application/javascript]library[yes]] -[[$:/core/boot.js]] -[[$:/core/bootprefix.js]]" application/x-tiddler-html-div>> | ||||
| @@ -31,7 +40,22 @@ type: text/x-tiddlywiki-html | ||||
| <div id="storeArea" style="display:none;"> | ||||
| <<serialize "$1" application/x-tiddler-html-div>> | ||||
| </div> | ||||
| <!----------- Library modules -----------> | ||||
| <div id="libraryModules" style="display:none;"> | ||||
| <<serialize "[[$:/core/lib/jquery.min.js]]" application/x-tiddler-library>> | ||||
| <<serialize "[is[shadow]type[application/javascript]library[yes]] -[[$:/core/lib/jquery.min.js]]" application/x-tiddler-library>> | ||||
| </div> | ||||
| <!----------- Boot kernel prologue -----------> | ||||
| <div id="bootKernelPrefix" style="display:none;"> | ||||
| <<serialize "$:/core/bootprefix.js" application/javascript>> | ||||
| </div> | ||||
| <!----------- Plugin modules -----------> | ||||
| <div id="modules" style="display:none;"> | ||||
| <<serialize "[is[shadow]type[application/javascript]has[module-type]]" application/x-tiddler-module>> | ||||
| </div> | ||||
| <!----------- Boot kernel -----------> | ||||
| <div id="bootKernel" style="display:none;"> | ||||
| <<serialize "$:/core/boot.js" application/javascript>> | ||||
| </div> | ||||
| </body> | ||||
| <script src="//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.6.1/dropbox.min.js"></script> | ||||
| <script src="tw5dropbox.js"></script> | ||||
| </html> | ||||
| @@ -17,7 +17,8 @@ var apiKey = "m+qwjj8wFRA=|1TSoitGS9Nz2RTwv+jrUJnsAj0yy57NhQJ4TkZ/+Hw=="; | ||||
|  | ||||
| // Tiddler titles | ||||
| var titleIsLoggedIn = "$:/plugins/dropbox/IsLoggedIn", | ||||
| 	titleUserName = "$:/plugins/dropbox/UserName"; | ||||
| 	titleUserName = "$:/plugins/dropbox/UserName", | ||||
| 	titlePublicAppUrl = "$:/plugins/dropbox/PublicAppUrl"; | ||||
|  | ||||
| $tw.plugins.dropbox = { | ||||
| 	client: null // Dropbox.js client object | ||||
| @@ -38,22 +39,27 @@ $tw.plugins.dropbox.login = function() { | ||||
| 		// Mark us as logged in | ||||
| 		$tw.wiki.addTiddler({title: titleIsLoggedIn, text: "yes"}); | ||||
| 		// Get user information | ||||
| 		$tw.plugins.dropbox.getUserInfo(); | ||||
| 		// Get tiddler file metadata | ||||
| 		$tw.plugins.dropbox.loadTiddlerFiles("/My TiddlyWiki/tiddlers",function() { | ||||
| 			console.log("Loaded all tiddlers",$tw.wiki.tiddlers); | ||||
| 		$tw.plugins.dropbox.getUserInfo(function() { | ||||
| 			// Invoke any dropbox-startup modules | ||||
| 			var mods = $tw.modules.types["dropbox-startup"]; | ||||
| 			for(var m=0; m<mods.length; m++) { | ||||
| 				mods[m].startup(); | ||||
| 			} | ||||
| 		}); | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| // Get user information | ||||
| $tw.plugins.dropbox.getUserInfo = function() { | ||||
| $tw.plugins.dropbox.getUserInfo = function(callback) { | ||||
| 	$tw.plugins.dropbox.client.getUserInfo(function(error,userInfo) { | ||||
| 		if(error) { | ||||
| 			callback(error); | ||||
| 			return $tw.plugins.dropbox.showError(error); | ||||
| 		} | ||||
| 		$tw.plugins.dropbox.userInfo = userInfo; | ||||
| 		// Save the username | ||||
| 		$tw.wiki.addTiddler({title: titleUserName, text: userInfo.name}); | ||||
| 		callback(); | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| @@ -69,6 +75,25 @@ $tw.plugins.dropbox.logout = function() { | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| // Load tiddlers representing each wiki in a folder | ||||
| $tw.plugins.dropbox.loadWikiFiles = function(path,callback) { | ||||
| 	// First get the list of tiddler files | ||||
| 	$tw.plugins.dropbox.client.stat(path,{readDir: true},function(error,stat,stats) { | ||||
| 		if(error) { | ||||
| 			return $tw.plugins.dropbox.showError(error); | ||||
| 		} | ||||
| console.log(stats); | ||||
| 		// Create a tiddler for each folder | ||||
| 		for(var s=0; s<stats.length; s++) { | ||||
| 			var stat = stats[s]; | ||||
| 			if(!stat.isFile && stat.isFolder) { | ||||
| 				$tw.wiki.addTiddler({title: stat.name, text: "wiki", tags: ["wiki"], url: $tw.plugins.dropbox.userInfo.publicAppUrl + stat.path + "/index.html"}); | ||||
| 			} | ||||
| 		} | ||||
| 		callback(); | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| // Load tiddler files from a folder | ||||
| $tw.plugins.dropbox.loadTiddlerFiles = function(path,callback) { | ||||
| 	// First get the list of tiddler files | ||||
| @@ -148,6 +173,7 @@ $tw.plugins.dropbox.loadTiddlerFile = function(path,mimeType,stats,callback) { | ||||
| 		} | ||||
| 	}); | ||||
| }; | ||||
|  | ||||
| // Encode a binary file as returned by Dropbox into the base 64 equivalent | ||||
| // Adapted from Jon Leighton, https://gist.github.com/958841 | ||||
| $tw.plugins.dropbox.base64EncodeString = function(data) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jeremy Ruston
					Jeremy Ruston