mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-10-31 07:32:59 +00:00 
			
		
		
		
	Experimental plugin for Tahoe-LAFS
This commit is contained in:
		
							
								
								
									
										10
									
								
								bld.sh
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								bld.sh
									
									
									
									
									
								
							| @@ -59,7 +59,15 @@ node ./tiddlywiki.js \ | |||||||
| 	--savetiddler $:/core/templates/tiddlywiki5.template.html $TW5_BUILD_OUTPUT/empty.html text/plain \ | 	--savetiddler $:/core/templates/tiddlywiki5.template.html $TW5_BUILD_OUTPUT/empty.html text/plain \ | ||||||
| 	|| exit 1 | 	|| exit 1 | ||||||
|  |  | ||||||
| # Fourth, run the test edition to run the node.js tests and to generate test.html for tests in the browser | # Fourth, tahoelafs.html: empty wiki with plugin for Tahoe-LAFS | ||||||
|  |  | ||||||
|  | node ./tiddlywiki.js \ | ||||||
|  | 	./editions/tahoelafs \ | ||||||
|  | 	--verbose \ | ||||||
|  | 	--savetiddler $:/core/templates/tiddlywiki5.template.html $TW5_BUILD_OUTPUT/tahoelafs.html text/plain \ | ||||||
|  | 	|| exit 1 | ||||||
|  |  | ||||||
|  | # Fifth, run the test edition to run the node.js tests and to generate test.html for tests in the browser | ||||||
|  |  | ||||||
| node ./tiddlywiki.js \ | node ./tiddlywiki.js \ | ||||||
| 	./editions/test \ | 	./editions/test \ | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								editions/tahoelafs/tiddlers/DefaultTiddlers.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								editions/tahoelafs/tiddlers/DefaultTiddlers.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | title: $:/DefaultTiddlers | ||||||
|  |  | ||||||
|  | HelloThere | ||||||
							
								
								
									
										6
									
								
								editions/tahoelafs/tiddlers/HelloThere.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								editions/tahoelafs/tiddlers/HelloThere.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | title: HelloThere | ||||||
|  |  | ||||||
|  | This is an experimental edition of TiddlyWiki5 for use with [[Tahoe-LAFS|https://tahoe-lafs.org/]]. At this point it is largely for experimentation by @zooko. Click the ''save changes'' button to PUT the updated TiddlyWiki HTML file back to the server. | ||||||
|  |  | ||||||
|  | <$button message="tw-new-tiddler" class="btn btn-mini btn-success">New Tiddler</$button> | ||||||
|  | <$button message="tw-save-wiki" class="btn btn-mini btn-primary">Save Changes</$button> | ||||||
							
								
								
									
										4
									
								
								editions/tahoelafs/tiddlers/SiteSubtitle.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								editions/tahoelafs/tiddlers/SiteSubtitle.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | title: SiteSubtitle | ||||||
|  | modifier: JeremyRuston | ||||||
|  |  | ||||||
|  | Tahoe-LAFS edition | ||||||
							
								
								
									
										4
									
								
								editions/tahoelafs/tiddlers/SiteTitle.tid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								editions/tahoelafs/tiddlers/SiteTitle.tid
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | title: SiteTitle | ||||||
|  | modifier: JeremyRuston | ||||||
|  |  | ||||||
|  | TiddlyWiki5 | ||||||
							
								
								
									
										47
									
								
								editions/tahoelafs/tiddlers/tests/test-wikitext.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								editions/tahoelafs/tiddlers/tests/test-wikitext.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | |||||||
|  | /*\ | ||||||
|  | title: test-wikitext.js | ||||||
|  | type: application/javascript | ||||||
|  | tags: [[$:/tags/test-spec]] | ||||||
|  |  | ||||||
|  | Tests the wikitext rendering pipeline end-to-end. We also need tests that individually test parsers, rendertreenodes etc., but this gets us started. | ||||||
|  |  | ||||||
|  | \*/ | ||||||
|  | (function(){ | ||||||
|  |  | ||||||
|  | /*jslint node: true, browser: true */ | ||||||
|  | /*global $tw: false */ | ||||||
|  | "use strict"; | ||||||
|  |  | ||||||
|  | describe("WikiText tests", function() { | ||||||
|  |  | ||||||
|  | 	// Create a wiki | ||||||
|  | 	var wiki = new $tw.Wiki(); | ||||||
|  | 	// Add a couple of tiddlers | ||||||
|  | 	wiki.addTiddler({title: "TiddlerOne", text: "The quick brown fox"}); | ||||||
|  | 	wiki.addTiddler({title: "TiddlerTwo", text: "The rain in Spain\nfalls mainly on the plain"}); | ||||||
|  | 	wiki.addTiddler({title: "TiddlerThree", text: "The speed of sound\n\nThe light of speed"}); | ||||||
|  |  | ||||||
|  | 	it("should render tiddlers with no special markup render as-is", function() { | ||||||
|  | 		expect(wiki.renderTiddler("text/plain","TiddlerOne")).toBe("The quick brown fox"); | ||||||
|  | 	}); | ||||||
|  | 	it("should preserve single new lines", function() { | ||||||
|  | 		expect(wiki.renderTiddler("text/plain","TiddlerTwo")).toBe("The rain in Spain\nfalls mainly on the plain"); | ||||||
|  | 	}); | ||||||
|  | 	it("should use double new lines to create paragraphs", function() { | ||||||
|  | 		// The paragraphs are lost in the conversion to plain text | ||||||
|  | 		expect(wiki.renderTiddler("text/plain","TiddlerThree")).toBe("The speed of soundThe light of speed"); | ||||||
|  | 	}); | ||||||
|  |  | ||||||
|  | 	it("should render plain text tiddlers as a paragraph", function() { | ||||||
|  | 		expect(wiki.renderTiddler("text/html","TiddlerOne")).toBe("<p>\nThe quick brown fox</p>"); | ||||||
|  | 	}); | ||||||
|  | 	it("should preserve single new lines", function() { | ||||||
|  | 		expect(wiki.renderTiddler("text/html","TiddlerTwo")).toBe("<p>\nThe rain in Spain\nfalls mainly on the plain</p>"); | ||||||
|  | 	}); | ||||||
|  | 	it("should use double new lines to create paragraphs", function() { | ||||||
|  | 		expect(wiki.renderTiddler("text/html","TiddlerThree")).toBe("<p>\nThe speed of sound</p><p>\nThe light of speed</p>"); | ||||||
|  | 	}); | ||||||
|  |  | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | })(); | ||||||
							
								
								
									
										5
									
								
								editions/tahoelafs/tiddlywiki.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								editions/tahoelafs/tiddlywiki.info
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | { | ||||||
|  | 	"plugins": [ | ||||||
|  | 		"tiddlywiki/tahoelafs" | ||||||
|  | 	] | ||||||
|  | } | ||||||
							
								
								
									
										7
									
								
								plugins/tiddlywiki/tahoelafs/plugin.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								plugins/tiddlywiki/tahoelafs/plugin.info
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"title": "$:/plugins/tiddlywiki/tahoelafs", | ||||||
|  | 	"description": "Support for saving changes to Tahoe-LAFS", | ||||||
|  | 	"author": "JeremyRuston", | ||||||
|  | 	"version": "0.0.0", | ||||||
|  | 	"coreVersion": ">=5.0.0" | ||||||
|  | } | ||||||
							
								
								
									
										57
									
								
								plugins/tiddlywiki/tahoelafs/saver.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								plugins/tiddlywiki/tahoelafs/saver.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | |||||||
|  | /*\ | ||||||
|  | title: $:/plugins/tiddlywiki/tahoelafs/saver.js | ||||||
|  | type: application/javascript | ||||||
|  | module-type: saver | ||||||
|  |  | ||||||
|  | A bare bones saver for Tahoe-LAFS. It just PUTs the new HTML file back to the server at the same URL. | ||||||
|  |  | ||||||
|  | \*/ | ||||||
|  | (function(){ | ||||||
|  |  | ||||||
|  | /*jslint node: true, browser: true */ | ||||||
|  | /*global $tw: false */ | ||||||
|  | "use strict"; | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | Select the appropriate saver module and set it up | ||||||
|  | */ | ||||||
|  | var TahoeSaver = function(wiki) { | ||||||
|  | 	this.wiki = wiki; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | TahoeSaver.prototype.save = function(text) { | ||||||
|  | 	// Do the HTTP post | ||||||
|  | 	var http = new XMLHttpRequest(); | ||||||
|  | 	http.open("PUT",document.location.toString(),true); | ||||||
|  | 	http.onreadystatechange = function() { | ||||||
|  | 		if(http.readyState == 4 && http.status == 200) { | ||||||
|  | 			window.alert("Saved to Tahoe-LAFS: " + http.responseText); | ||||||
|  | 		} | ||||||
|  | 	}; | ||||||
|  | 	http.send(text); | ||||||
|  | 	return true; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | Information about this saver | ||||||
|  | */ | ||||||
|  | TahoeSaver.prototype.info = { | ||||||
|  | 	name: "tahoelafs", | ||||||
|  | 	priority: 1000 | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | Static method that returns true if this saver is capable of working | ||||||
|  | */ | ||||||
|  | exports.canSave = function(wiki) { | ||||||
|  | 	return true; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | Create an instance of this saver | ||||||
|  | */ | ||||||
|  | exports.create = function(wiki) { | ||||||
|  | 	return new TahoeSaver(wiki); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | })(); | ||||||
		Reference in New Issue
	
	Block a user
	 Jeremy Ruston
					Jeremy Ruston