1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-09-29 15:30:47 +00:00

Merge branch 'master' of https://github.com/Jermolene/TiddlyWiki5 into de-DE

This commit is contained in:
Mario Pietsch 2014-02-26 19:41:33 +01:00
commit 9ce79b0795
45 changed files with 356 additions and 257 deletions

View File

@ -0,0 +1,22 @@
title: $:/language/Help/default
\define commandTitle()
$:/language/Help/$(command)$
\end
```
usage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]
```
Available commands:
<ul>
<$list filter="[commands[]sort[title]]" variable="command">
<li><$link to=<<commandTitle>>><$macrocall $name="command" $type="text/plain" $output="text/plain"/></$link>: <$transclude tiddler=<<commandTitle>> field="description"/></li>
</$list>
</ul>
To get detailed help on a command:
```
tiddlywiki --help <command>
```

View File

@ -0,0 +1,10 @@
title: $:/language/Help/help
description: Display help for TiddlyWiki commands
Displays help text for a command:
```
--help [<command>]
```
If the command name is omitted then a list of available commands is displayed.

View File

@ -0,0 +1,23 @@
title: $:/language/Help/init
description: Initialise a new wiki folder
Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.
```
--init <edition> [<edition> ...]
```
For example:
```
tiddlywiki ./MyWikiFolder --init empty
```
Note:
* The wiki folder directory will be created if necessary
* The "edition" defaults to ''empty''
* The init command will fail if the wiki folder is not empty
* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file
* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)
* `--help editions` returns a list of available editions

View File

@ -0,0 +1,14 @@
title: $:/language/Help/load
description: Load tiddlers from a file
Load tiddlers from 2.x.x TiddlyWiki files (`.html`), `.tiddler`, `.tid`, `.json` or other files
```
--load <filepath>
```
To load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:
```
tiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html
```

View File

@ -0,0 +1,3 @@
title: $:/language/Help/notfound
No such help item

View File

@ -0,0 +1,9 @@
title: $:/language/Help/password
description: Set a password for subsequent crypto operations
Set a password for subsequent crypto operations
```
--password <password>
```

View File

@ -0,0 +1,8 @@
title: $:/language/Help/rendertiddler
description: Render an individual tiddler as a specified ContentType
Render an individual tiddler as a specified ContentType, defaults to `text/html` and save it to the specified filename:
```
--rendertiddler <title> <filename> [<type>]
```

View File

@ -0,0 +1,14 @@
title: $:/language/Help/rendertiddlers
description: Render tiddlers matching a filter to a specified ContentType
Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).
```
--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]
```
For example:
```
--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain
```

View File

@ -0,0 +1,8 @@
title: $:/language/Help/savetiddler
description: Saves a raw tiddler to a file
Saves an individual tiddler in its raw text or binary format to the specified filename.
```
--savetiddler <title> <filename>
```

View File

@ -0,0 +1,30 @@
title: $:/language/Help/server
description: Provides an HTTP server interface to TiddlyWiki
The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage.
At the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for `GET`, `PUT` and `DELETE`.
```
--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host>
```
The parameters are:
* ''port'' - port number to serve from (defaults to "8080")
* ''roottiddler'' - the tiddler to serve at the root (defaults to "$:/core/save/all")
* ''rendertype'' - the content type to which the root tiddler should be rendered (defaults to "text/plain")
* ''servetype'' - the content type with which the root tiddler should be served (defaults to "text/html")
* ''username'' - the default username for signing edits
* ''password'' - optional password for basic authentication
* ''host'' - optional hostname to serve from (defaults to "127.0.0.1" aka "localhost")
If the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation isn't suitable for general use.
For example:
```
--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd
```
To run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port.

View File

@ -0,0 +1,8 @@
title: $:/language/Help/verbose
description: Triggers verbose output mode
Triggers verbose output, useful for debugging
```
--verbose
```

View File

@ -0,0 +1,8 @@
title: $:/language/Help/version
description: Displays the version number of TiddlyWiki
Displays the version number of TiddlyWiki.
```
--version
```

View File

@ -10,6 +10,7 @@ Recent/Caption: Recent
Shadows/Caption: Shadows Shadows/Caption: Shadows
System/Caption: System System/Caption: System
Tags/Caption: Tags Tags/Caption: Tags
Tags/TagManager/Caption: Tag Manager
Tags/Untagged/Caption: untagged Tags/Untagged/Caption: untagged
Tools/Caption: Tools Tools/Caption: Tools
Types/Caption: Types Types/Caption: Types

View File

@ -0,0 +1,41 @@
/*\
title: $:/core/modules/commands/help.js
type: application/javascript
module-type: command
Help command
\*/
(function(){
/*jshint node: true, browser: true */
/*global $tw: false */
"use strict";
exports.info = {
name: "help",
synchronous: true
};
var Command = function(params,commander) {
this.params = params;
this.commander = commander;
};
Command.prototype.execute = function() {
var subhelp = this.params[0] || "default",
helpBase = "$:/language/Help/",
text;
if(!this.commander.wiki.getTiddler(helpBase + subhelp)) {
subhelp = "notfound";
}
// Wikify the help as formatted text (ie block elements generate newlines)
text = this.commander.wiki.renderTiddler("text/plain-formatted",helpBase + subhelp);
// Remove any leading linebreaks
text = text.replace(/^(\r?\n)*/g,"");
this.commander.streams.output.write(text);
};
exports.Command = Command;
})();

View File

@ -1,114 +0,0 @@
/*\
title: $:/core/modules/commands/print.js
type: application/javascript
module-type: command
Print command for inspecting TiddlyWiki internals
\*/
(function(){
/*jshint node: true, browser: true */
/*global $tw: false */
"use strict";
exports.info = {
name: "print",
synchronous: true
};
var Command = function(params,commander) {
this.params = params;
this.commander = commander;
this.output = commander.streams.output;
};
Command.prototype.execute = function() {
if(this.params.length < 1) {
return "Too few parameters for print command";
}
var subcommand = this.subcommands[this.params[0]];
if(subcommand) {
return subcommand.call(this);
} else {
return "Unknown subcommand (" + this.params[0] + ") for print command";
}
};
Command.prototype.subcommands = {};
Command.prototype.subcommands.tiddler = function() {
if(this.params.length < 2) {
return "Too few parameters for print tiddler command";
}
var tiddler = this.commander.wiki.getTiddler(this.params[1]);
if(!tiddler) {
return "No such tiddler as '" + this.params[1] + "'";
}
this.output.write("Tiddler '" + this.params[1] + "' contains these fields:\n");
for(var t in tiddler.fields) {
this.output.write(" " + t + ": " + tiddler.getFieldString(t) + "\n");
}
return null; // No error
};
Command.prototype.subcommands.tiddlers = function() {
var tiddlers = this.commander.wiki.getTiddlers();
this.output.write("Wiki contains these tiddlers:\n");
for(var t=0; t<tiddlers.length; t++) {
this.output.write(tiddlers[t] + "\n");
}
return null; // No error
};
Command.prototype.subcommands.system = function() {
var tiddlers = this.commander.wiki.getSystemTitles();
this.output.write("Wiki contains these system tiddlers:\n");
for(var t=0; t<tiddlers.length; t++) {
this.output.write(tiddlers[t] + "\n");
}
return null; // No error
};
Command.prototype.subcommands.config = function() {
var self = this;
var quotePropertyName = function(p) {
var unquotedPattern = /^[A-Za-z0-9_]*$/mg;
if(unquotedPattern.test(p)) {
return p;
} else {
return "[\"" + $tw.utils.stringify(p) + "\"]";
}
},
printConfig = function(object,prefix) {
for(var n in object) {
var v = object[n];
if(typeof v === "object") {
printConfig(v,prefix + "." + quotePropertyName(n));
} else if(typeof v === "string") {
self.output.write(prefix + "." + quotePropertyName(n) + ": \"" + $tw.utils.stringify(v) + "\"\n");
} else {
self.output.write(prefix + "." + quotePropertyName(n) + ": " + v.toString() + "\n");
}
}
},
printObject = function(heading,object) {
self.output.write(heading +"\n");
for(var n in object) {
self.output.write(" " + n + "\n");
}
};
this.output.write("Configuration:\n");
printConfig($tw.config," $tw.config");
printObject("Tiddler field modules:",$tw.Tiddler.fieldModules);
printObject("Loaded modules:",$tw.modules.titles);
printObject("Command modules:",$tw.commands);
printObject("Parser modules:",$tw.wiki.parsers);
printObject("Macro modules:",$tw.wiki.macros);
printObject("Deserializer modules:",$tw.Wiki.tiddlerDeserializerModules);
return null; // No error
};
exports.Command = Command;
})();

View File

@ -35,5 +35,6 @@ exports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:
exports.htmlVoidElements = "area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr".split(","); exports.htmlVoidElements = "area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr".split(",");
exports.htmlBlockElements = "address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video".split(",");
})(); })();

View File

@ -0,0 +1,27 @@
/*\
title: $:/core/modules/filters/commands.js
type: application/javascript
module-type: filteroperator
Filter operator for returning the names of the commands available in this wiki
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Export our filter function
*/
exports.commands = function(source,operator,options) {
var results = [];
$tw.utils.each($tw.commands,function(commandInfo,name) {
results.push(name);
});
results.sort();
return results;
};
})();

View File

@ -26,6 +26,12 @@ var TW_TextNode = function(text) {
this.textContent = text; this.textContent = text;
}; };
Object.defineProperty(TW_TextNode.prototype, "formattedTextContent", {
get: function() {
return this.textContent.replace(/(\r?\n)/g,"");
}
});
var TW_Element = function(tag,namespace) { var TW_Element = function(tag,namespace) {
bumpSequenceNumber(this); bumpSequenceNumber(this);
this.isTiddlyWikiFakeDom = true; this.isTiddlyWikiFakeDom = true;
@ -176,6 +182,30 @@ Object.defineProperty(TW_Element.prototype, "textContent", {
} }
}); });
Object.defineProperty(TW_Element.prototype, "formattedTextContent", {
get: function() {
if(this.isRaw) {
throw "Cannot get formattedTextContent on a raw TW_Element";
} else {
var b = [],
isBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;
if(isBlock) {
b.push("\n");
}
if(this.tag === "li") {
b.push("* ")
}
$tw.utils.each(this.children,function(node) {
b.push(node.formattedTextContent);
});
if(isBlock) {
b.push("\n");
}
return b.join("");
}
}
});
var document = { var document = {
setSequenceNumber: function(value) { setSequenceNumber: function(value) {
sequenceNumber = value; sequenceNumber = value;

View File

@ -892,11 +892,11 @@ parentWidget: optional parent widget for the root node
*/ */
exports.renderTiddler = function(outputType,title,options) { exports.renderTiddler = function(outputType,title,options) {
options = options || {}; options = options || {};
var parser = this.parseTiddler(title), var parser = this.parseTiddler(title,options),
widgetNode = this.makeWidget(parser,options); widgetNode = this.makeWidget(parser,options);
var container = $tw.fakeDocument.createElement("div"); var container = $tw.fakeDocument.createElement("div");
widgetNode.render(container,null); widgetNode.render(container,null);
return outputType === "text/html" ? container.innerHTML : container.textContent; return outputType === "text/html" ? container.innerHTML : (outputType === "text/plain-formatted" ? container.formattedTextContent : container.textContent);
}; };
/* /*

View File

@ -2,6 +2,9 @@ title: $:/core/ui/MoreSideBar/Tags
tags: $:/tags/MoreSideBar tags: $:/tags/MoreSideBar
caption: {{$:/language/SideBar/Tags/Caption}} caption: {{$:/language/SideBar/Tags/Caption}}
\define lingo-base() $:/language/SideBar/Tags/
<$button to="$:/TagManager"><<lingo TagManager/Caption>></$button>
<$list filter="[tags[]sort[title]]"> <$list filter="[tags[]sort[title]]">
<$transclude tiddler="$:/core/ui/TagTemplate"/> <small class="tw-menu-list-count"><$count filter="[is[current]tagging[]]"/></small> <$transclude tiddler="$:/core/ui/TagTemplate"/> <small class="tw-menu-list-count"><$count filter="[is[current]tagging[]]"/></small>

18
core/ui/TagManager.tid Normal file
View File

@ -0,0 +1,18 @@
title: $:/TagManager
<table>
<tbody>
<tr>
<th>Tag</th>
<th>Count</th>
<th>Colour</th>
</tr>
<$list filter="[tags[]sort[title]]">
<tr>
<td><$transclude tiddler="$:/core/ui/TagTemplate"/></td>
<td><$count filter="[is[current]tagging[]]"/></td>
<td><$edit-text field="color" tag="input" type="color"/></td>
</tr>
</$list>
</tbody>
</table>

View File

@ -1,5 +1,7 @@
created: 20140225211938920
modified: 20140225211938920
title: AllTiddlers title: AllTiddlers
tags: navigation type: text/vnd.tiddlywiki
Current tiddlers: Current tiddlers:

View File

@ -0,0 +1,7 @@
created: 20140225195548209
modified: 20140225195738745
tags: command
title: HelpCommand
type: text/vnd.tiddlywiki
{{$:/language/Help/help}}

View File

@ -4,23 +4,4 @@ tags: command
title: InitCommand title: InitCommand
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition. {{$:/language/Help/init}}
```
--init <edition> [<edition> ...]
```
For example:
```
tiddlywiki ./MyWikiFolder --init empty
```
Note:
* The edition directory will be created if necessary
* The "edition" defaults to ''empty''
* The init command will fail if the wiki folder does not exist, or is not empty
* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file
* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)

View File

@ -4,14 +4,4 @@ tags: command
title: LoadCommand title: LoadCommand
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Load tiddlers from 2.x.x TiddlyWiki files (`.html`), `.tiddler`, `.tid`, `.json` or other files {{$:/language/Help/load}}
```
--load <filepath>
```
To load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:
```
tiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html
```

View File

@ -1,9 +1,4 @@
title: PasswordCommand title: PasswordCommand
tags: command tags: command
Set a password for subsequent crypto operations {{$:/language/Help/password}}
```
--password <password>
```

View File

@ -1,36 +0,0 @@
title: PrintCommand
tags: command
The `print` command outputs specified information.
!!! print tiddlers
Output the titles of the tiddlers in the wiki store
```
--print tiddlers
```
!!! print tiddler
Print the fields of an individual tiddler
```
--print tiddler <title>
```
!!! print system
Print the titles of the system tiddlers in the wiki store
```
--print system
```
!!! print config
Print the current core configuration
```
--print config
```

View File

@ -1,8 +1,4 @@
title: RenderTiddlerCommand title: RenderTiddlerCommand
tags: command tags: command
Render an individual tiddler as a specified ContentType, defaults to `text/html` and save it to the specified filename {{$:/language/Help/rendertiddler}}
```
--rendertiddler <title> <filename> [<type>]
```

View File

@ -1,14 +1,4 @@
title: RenderTiddlersCommand title: RenderTiddlersCommand
tags: command tags: command
Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`). {{{$:/language/Help/rendertiddlers}}}
```
--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]
```
For example:
```
--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain
```

View File

@ -3,8 +3,4 @@ tags: command
created: 20131218121606089 created: 20131218121606089
modified: 20131218121606089 modified: 20131218121606089
Saves an individual tiddler in its raw text or binary format to the specified filename. {{$:/language/Help/savetiddler}}
```
--savetiddler <title> <filename>
```

View File

@ -4,30 +4,4 @@ tags: command
title: ServerCommand title: ServerCommand
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage. {{$:/language/Help/server}}
At the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for `GET`, `PUT` and `DELETE`.
```
--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host>
```
The parameters are:
* ''port'' - port number to serve from (defaults to "8080")
* ''roottiddler'' - the tiddler to serve at the root (defaults to "$:/core/save/all")
* ''rendertype'' - the content type to which the root tiddler should be rendered (defaults to "text/plain")
* ''servetype'' - the content type with which the root tiddler should be served (defaults to "text/html")
* ''username'' - the default username for signing edits
* ''password'' - optional password for basic authentication
* ''host'' - optional hostname to serve from (defaults to "127.0.0.1" aka "localhost")
If the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation isn't suitable for general use.
For example:
```
--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd
```
To run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port.

View File

@ -1,8 +1,4 @@
title: VerboseCommand title: VerboseCommand
tags: command tags: command
Triggers verbose output, useful for debugging {{$:/language/Help/verbose}}
```
--verbose
```

View File

@ -1,8 +1,4 @@
title: VersionCommand title: VersionCommand
tags: command tags: command
Displays the version number of TiddlyWiki. {{$:/language/Help/version}}
```
--version
```

View File

@ -0,0 +1,6 @@
color: #d64a35
created: 20140225201701450
modified: 20140225201702177
title: community
type: text/vnd.tiddlywiki

View File

@ -0,0 +1,6 @@
color: #84c271
created: 20140225211504611
modified: 20140225211646885
title: deserializers
type: text/vnd.tiddlywiki

View File

@ -1,6 +1,7 @@
color: #e37a61 color: #769ee1
created: 201308251459 created: 20130825145900000
modified: 201308251500 modified: 20140225211540527
title: dev title: dev
type: text/vnd.tiddlywiki
See DeveloperDocs. See DeveloperDocs.

View File

@ -0,0 +1,6 @@
color: #d96490
created: 20140225211653796
modified: 20140225211700061
title: howto
type: text/vnd.tiddlywiki

View File

@ -0,0 +1,6 @@
color: #d67fbf
created: 20140225211818954
modified: 20140225211825341
title: macros
type: text/vnd.tiddlywiki

View File

@ -1,5 +1,7 @@
created: 201308251538 color: #9fa3cb
modified: 201308251538 created: 20130825153800000
modified: 20140225211727889
title: mechanism title: mechanism
type: text/vnd.tiddlywiki
These are the internal mechanisms that fit together to make up TiddlyWiki. These are the internal mechanisms that fit together to make up TiddlyWiki.

View File

@ -0,0 +1,6 @@
color: #9bbfdf
created: 20140225211712317
modified: 20140225211717218
title: releasenote
type: text/vnd.tiddlywiki

View File

@ -1,5 +1,7 @@
created: 201308251034 color: #d98f77
modified: 201308251034 created: 20130825103400000
modified: 20140225211739650
title: tips title: tips
type: text/vnd.tiddlywiki
Hints and tips to help you get the most from TiddlyWiki. Hints and tips to help you get the most from TiddlyWiki.

View File

@ -0,0 +1,6 @@
color: #f4994a
created: 20140225211745035
modified: 20140225211754642
title: video
type: text/vnd.tiddlywiki

View File

@ -1,5 +1,6 @@
color: #6188da
created: 20131206164500332 created: 20131206164500332
modified: 20131206164518144 modified: 20140225211805914
title: widget title: widget
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -0,0 +1,6 @@
color: #c592ca
created: 20140225211810124
modified: 20140225211813335
title: wikitext
type: text/vnd.tiddlywiki

File diff suppressed because one or more lines are too long