kopia lustrzana https://github.com/miklobit/TiddlyWiki5
				
				
				
			Started to move dropbox bits and pieces into a plugin
Currently tw5dropbox is broken, pending some further changes around module handlingprint-window-tiddler
							rodzic
							
								
									11b2af34d2
								
							
						
					
					
						commit
						ce47f5e1d4
					
				
							
								
								
									
										23
									
								
								core/boot.js
								
								
								
								
							
							
						
						
									
										23
									
								
								core/boot.js
								
								
								
								
							|  | @ -77,6 +77,9 @@ $tw.crypto.sjcl = $tw.browser ? window.sjcl : require("./sjcl.js"); | ||||||
| // Boot information
 | // Boot information
 | ||||||
| $tw.boot = {}; | $tw.boot = {}; | ||||||
| 
 | 
 | ||||||
|  | // Plugin state
 | ||||||
|  | $tw.plugins = {}; | ||||||
|  | 
 | ||||||
| // Modules store registers all the modules the system has seen
 | // Modules store registers all the modules the system has seen
 | ||||||
| $tw.modules = $tw.modules || {}; | $tw.modules = $tw.modules || {}; | ||||||
| $tw.modules.titles = $tw.modules.titles || {}; // hashmap by module title of {fn:, exports:, moduleType:}
 | $tw.modules.titles = $tw.modules.titles || {}; // hashmap by module title of {fn:, exports:, moduleType:}
 | ||||||
|  | @ -296,7 +299,7 @@ if(!$tw.browser) { | ||||||
| Register the exports of a single module in the $tw.modules.types hashmap | Register the exports of a single module in the $tw.modules.types hashmap | ||||||
| */ | */ | ||||||
| $tw.modules.registerModuleExports = function(name,moduleType,moduleExports) { | $tw.modules.registerModuleExports = function(name,moduleType,moduleExports) { | ||||||
| 	if(!(moduleType in $tw.modules.types)) { | 	if(!$tw.utils.hop($tw.modules.types,moduleType)) { | ||||||
| 		$tw.modules.types[moduleType] = []; | 		$tw.modules.types[moduleType] = []; | ||||||
| 	} | 	} | ||||||
| 	$tw.modules.types[moduleType].push(moduleExports); | 	$tw.modules.types[moduleType].push(moduleExports); | ||||||
|  | @ -487,19 +490,11 @@ $tw.Wiki.prototype.registerModuleTiddlers = function() { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	// Register and execute any modules in ordinary tiddlers
 | 	// Register and execute any modules in ordinary tiddlers
 | ||||||
| 	if($tw.browser) { | 	for(title in $tw.wiki.tiddlers) { | ||||||
| 		for(title in $tw.modules.titles) { | 		if($tw.utils.hop($tw.wiki.tiddlers,title)) { | ||||||
| 			if($tw.utils.hop($tw.modules.titles,title)) { | 			tiddler = $tw.wiki.getTiddler(title); | ||||||
| 				$tw.modules.registerModuleExports(title,$tw.modules.titles[title].moduleType,$tw.modules.execute(title)); | 			if(tiddler.fields.type === "application/javascript" && tiddler.hasField("module-type")) { | ||||||
| 			} | 				$tw.modules.registerModuleExports(title,tiddler.fields["module-type"],$tw.modules.execute(title)); | ||||||
| 		} |  | ||||||
| 	} else { |  | ||||||
| 		for(title in $tw.wiki.tiddlers) { |  | ||||||
| 			if($tw.utils.hop($tw.wiki.tiddlers,title)) { |  | ||||||
| 				tiddler = $tw.wiki.getTiddler(title); |  | ||||||
| 				if(tiddler.fields.type === "application/javascript" && tiddler.hasField("module-type")) { |  | ||||||
| 					$tw.modules.registerModuleExports(title,tiddler.fields["module-type"],$tw.modules.execute(title)); |  | ||||||
| 				} |  | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -1,17 +0,0 @@ | ||||||
| title: TemporaryTestPlugin |  | ||||||
| type: application/json |  | ||||||
| bundle: yes |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
| 	"title": "$:/plugins/tiddlywiki/test", |  | ||||||
| 	"description": "An exemplary plugin for demonstration purposes", |  | ||||||
| 	"author": "JeremyRuston", |  | ||||||
| 	"version": "0.0.0-alpha0", |  | ||||||
| 	"coreVersion": ">=5.0.0", |  | ||||||
| 	"tiddlers": { |  | ||||||
| 		"Test1": {"text": "Some text"}, |  | ||||||
| 		"Test2": {"text": "Some more text"}, |  | ||||||
| 		"Test3": {"text": "console.log(require('$:/plugins/tiddlywiki/test/Test4').string);", "type": "application/javascript", "module-type": "custom"}, |  | ||||||
| 		"Test4": {"text": "exports.string = 'Plugin I am in You!';", "type": "application/javascript", "module-type": "custom"} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /*\ | /*\ | ||||||
| title: $:/plugins/dropbox/dropbox-app.js | title: $:/plugins/tiddlywiki/dropbox-app/dropbox-app.js | ||||||
| type: application/javascript | type: application/javascript | ||||||
| module-type: dropbox-startup | module-type: dropbox-startup | ||||||
| 
 | 
 | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | { | ||||||
|  | 	"title": "$:/plugins/tiddlywiki/dropbox-app", | ||||||
|  | 	"description": "Dropbox app components", | ||||||
|  | 	"author": "JeremyRuston", | ||||||
|  | 	"version": "0.0.0", | ||||||
|  | 	"coreVersion": ">=5.0.0" | ||||||
|  | } | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /*\ | /*\ | ||||||
| title: $:/plugins/dropbox/dropbox-main.js | title: $:/plugins/tiddlywiki/dropbox-main/dropbox-main.js | ||||||
| type: application/javascript | type: application/javascript | ||||||
| module-type: dropbox-startup | module-type: dropbox-startup | ||||||
| 
 | 
 | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | { | ||||||
|  | 	"title": "$:/plugins/tiddlywiki/dropbox-main", | ||||||
|  | 	"description": "Dropbox main components", | ||||||
|  | 	"author": "JeremyRuston", | ||||||
|  | 	"version": "0.0.0", | ||||||
|  | 	"coreVersion": ">=5.0.0" | ||||||
|  | } | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | title: $:/plugins/tiddlywiki/dropbox/async.js | ||||||
|  | type: application/javascript | ||||||
|  | module-type: library | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| /*\ | /*\ | ||||||
| title: $:/plugins/dropbox/dropbox.js | title: $:/plugins/tiddlywiki/dropbox/dropbox.js | ||||||
| type: application/javascript | type: application/javascript | ||||||
| module-type: startup | module-type: browser-startup | ||||||
| 
 | 
 | ||||||
| Main Dropbox integration module. It creates the `$tw.plugins.dropbox` object that includes static methods for various Dropbox operations. It also contains a startup function that kicks off the login process | Main Dropbox integration module. It creates the `$tw.plugins.dropbox` object that includes static methods for various Dropbox operations. It also contains a startup function that kicks off the login process | ||||||
| 
 | 
 | ||||||
|  | @ -18,6 +18,9 @@ var apiKey = "m+qwjj8wFRA=|1TSoitGS9Nz2RTwv+jrUJnsAj0yy57NhQJ4TkZ/+Hw=="; | ||||||
| // Query string marker for forcing authentication
 | // Query string marker for forcing authentication
 | ||||||
| var queryLoginMarker = "login=true"; | var queryLoginMarker = "login=true"; | ||||||
| 
 | 
 | ||||||
|  | // Require async.js
 | ||||||
|  | var async = require("./async.js"); | ||||||
|  | 
 | ||||||
| $tw.plugins.dropbox = { | $tw.plugins.dropbox = { | ||||||
| 	// State data
 | 	// State data
 | ||||||
| 	client: null, // Dropbox.js client object
 | 	client: null, // Dropbox.js client object
 | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /*\ | /*\ | ||||||
| title: $:/plugins/dropbox/logoutmacro.js | title: $:/plugins/tiddlywiki/dropbox/loginmacro.js | ||||||
| type: application/javascript | type: application/javascript | ||||||
| module-type: macro | module-type: macro | ||||||
| 
 | 
 | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /*\ | /*\ | ||||||
| title: $:/plugins/dropbox/logoutmacro.js | title: $:/plugins/tiddlywiki/dropbox/logoutmacro.js | ||||||
| type: application/javascript | type: application/javascript | ||||||
| module-type: macro | module-type: macro | ||||||
| 
 | 
 | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /*\ | /*\ | ||||||
| title: $:/plugins/dropbox/newwikimacro.js | title: $:/plugins/tiddlywiki/dropbox/newwikimacro.js | ||||||
| type: application/javascript | type: application/javascript | ||||||
| module-type: macro | module-type: macro | ||||||
| 
 | 
 | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | { | ||||||
|  | 	"title": "$:/plugins/tiddlywiki/dropbox", | ||||||
|  | 	"description": "Dropbox components", | ||||||
|  | 	"author": "JeremyRuston", | ||||||
|  | 	"version": "0.0.0", | ||||||
|  | 	"coreVersion": ">=5.0.0" | ||||||
|  | } | ||||||
|  | @ -1,52 +0,0 @@ | ||||||
| { |  | ||||||
| 	"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": "../../plugins/loginmacro.js", |  | ||||||
| 			"fields": { |  | ||||||
| 				"title": "$:/plugins/dropbox/loginmacro.js", |  | ||||||
| 				"type": "application/javascript", |  | ||||||
| 				"module-type": "macro" |  | ||||||
| 			} |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			"file": "../../plugins/newwikimacro.js", |  | ||||||
| 			"fields": { |  | ||||||
| 				"title": "$:/plugins/dropbox/newwikimacro.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" |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	] |  | ||||||
| } |  | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | { | ||||||
|  | 	"plugins": [ | ||||||
|  | 		"tiddlywiki/fullscreen", | ||||||
|  | 		"tiddlywiki/dropbox", | ||||||
|  | 		"tiddlywiki/dropbox-app" | ||||||
|  | 	] | ||||||
|  | } | ||||||
|  | @ -1,52 +0,0 @@ | ||||||
| { |  | ||||||
| 	"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": "../../plugins/loginmacro.js", |  | ||||||
| 			"fields": { |  | ||||||
| 				"title": "$:/plugins/dropbox/loginmacro.js", |  | ||||||
| 				"type": "application/javascript", |  | ||||||
| 				"module-type": "macro" |  | ||||||
| 			} |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			"file": "../../plugins/newwikimacro.js", |  | ||||||
| 			"fields": { |  | ||||||
| 				"title": "$:/plugins/dropbox/newwikimacro.js", |  | ||||||
| 				"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,7 @@ | ||||||
|  | { | ||||||
|  | 	"plugins": [ | ||||||
|  | 		"tiddlywiki/fullscreen", | ||||||
|  | 		"tiddlywiki/dropbox", | ||||||
|  | 		"tiddlywiki/dropbox-main" | ||||||
|  | 	] | ||||||
|  | } | ||||||
|  | @ -1,3 +0,0 @@ | ||||||
| title: $:/plugins/dropbox/async.js |  | ||||||
| type: application/javascript |  | ||||||
| library: yes |  | ||||||
		Ładowanie…
	
		Reference in New Issue
	
	 Jeremy Ruston
						Jeremy Ruston