mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-23 18:17:20 +00:00
Experimental plugin for Tahoe-LAFS
This commit is contained in:
parent
add35e9523
commit
8e582e002b
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);
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
Loading…
Reference in New Issue
Block a user