kopia lustrzana https://github.com/miklobit/TiddlyWiki5
Merge branch 'master' into new-json-store-area
commit
c8e7a6ac07
|
@ -3,6 +3,7 @@ title: $:/language/Import/
|
|||
Editor/Import/Heading: Import images and insert them into the editor.
|
||||
Imported/Hint: The following tiddlers were imported:
|
||||
Listing/Cancel/Caption: Cancel
|
||||
Listing/Cancel/Warning: Do you wish to cancel the import?
|
||||
Listing/Hint: These tiddlers are ready to import:
|
||||
Listing/Import/Caption: Import
|
||||
Listing/Select/Caption: Select
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
/*\
|
||||
title: $:/core/modules/filterrunprefixes/map.js
|
||||
type: application/javascript
|
||||
module-type: filterrunprefix
|
||||
\*/
|
||||
(function(){
|
||||
|
||||
/*jslint node: true, browser: true */
|
||||
/*global $tw: false */
|
||||
"use strict";
|
||||
|
||||
/*
|
||||
Export our filter prefix function
|
||||
*/
|
||||
exports.map = function(operationSubFunction,options) {
|
||||
return function(results,source,widget) {
|
||||
if(results.length > 0) {
|
||||
var inputTitles = results.toArray();
|
||||
results.clear();
|
||||
$tw.utils.each(inputTitles,function(title) {
|
||||
var filtered = operationSubFunction(options.wiki.makeTiddlerIterator([title]),{
|
||||
getVariable: function(name) {
|
||||
switch(name) {
|
||||
case "currentTiddler":
|
||||
return "" + title;
|
||||
case "..currentTiddler":
|
||||
return widget.getVariable("currentTiddler");
|
||||
default:
|
||||
return widget.getVariable(name);
|
||||
}
|
||||
}
|
||||
});
|
||||
results.push(filtered[0] || "");
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
})();
|
|
@ -172,4 +172,14 @@ exports.pad = function(source,operator,options) {
|
|||
return results;
|
||||
}
|
||||
|
||||
exports.charcode = function(source,operator,options) {
|
||||
var chars = [];
|
||||
$tw.utils.each(operator.operands,function(operand) {
|
||||
if(operand !== "") {
|
||||
chars.push(String.fromCharCode($tw.utils.parseInt(operand)));
|
||||
}
|
||||
});
|
||||
return [chars.join("")];
|
||||
};
|
||||
|
||||
})();
|
||||
|
|
|
@ -179,7 +179,7 @@ Key descriptors have the following format:
|
|||
ctrl+enter
|
||||
ctrl+shift+alt+A
|
||||
*/
|
||||
KeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {
|
||||
KeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor,options) {
|
||||
var components = keyDescriptor.split(/\+|\-/),
|
||||
info = {
|
||||
keyCode: 0,
|
||||
|
@ -206,6 +206,9 @@ KeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {
|
|||
info.keyCode = this.namedKeys[s];
|
||||
}
|
||||
}
|
||||
if(options.keyDescriptor) {
|
||||
info.keyDescriptor = options.keyDescriptor;
|
||||
}
|
||||
if(info.keyCode) {
|
||||
return info;
|
||||
} else {
|
||||
|
@ -237,6 +240,7 @@ KeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options)
|
|||
lookupName = function(configName) {
|
||||
var keyDescriptors = wiki.getTiddlerText("$:/config/" + configName + "/" + name);
|
||||
if(keyDescriptors) {
|
||||
options.keyDescriptor = keyDescriptor;
|
||||
result.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));
|
||||
}
|
||||
};
|
||||
|
@ -245,7 +249,7 @@ KeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options)
|
|||
});
|
||||
}
|
||||
} else {
|
||||
result.push(self.parseKeyDescriptor(keyDescriptor));
|
||||
result.push(self.parseKeyDescriptor(keyDescriptor,options));
|
||||
}
|
||||
});
|
||||
return result;
|
||||
|
@ -276,12 +280,16 @@ KeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {
|
|||
};
|
||||
|
||||
KeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {
|
||||
return (this.getMatchingKeyDescriptor(event,keyInfoArray) !== null);
|
||||
};
|
||||
|
||||
KeyboardManager.prototype.getMatchingKeyDescriptor = function(event,keyInfoArray) {
|
||||
for(var t=0; t<keyInfoArray.length; t++) {
|
||||
if(this.checkKeyDescriptor(event,keyInfoArray[t])) {
|
||||
return true;
|
||||
return keyInfoArray[t];
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return null;
|
||||
};
|
||||
|
||||
KeyboardManager.prototype.getEventModifierKeyDescriptor = function(event) {
|
||||
|
|
|
@ -7,6 +7,12 @@ Wiki text block rule for HTML comments. For example:
|
|||
|
||||
```
|
||||
<!-- This is a comment -->
|
||||
\define macroX()
|
||||
<!-- This is a comment -->
|
||||
xxxx
|
||||
\end
|
||||
<!-- This is a comment -->
|
||||
|
||||
```
|
||||
|
||||
Note that the syntax for comments is simplified to an opening "<!--" sequence and a closing "-->" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)
|
||||
|
@ -19,7 +25,7 @@ Note that the syntax for comments is simplified to an opening "<!--" sequence an
|
|||
"use strict";
|
||||
|
||||
exports.name = "commentblock";
|
||||
exports.types = {block: true};
|
||||
exports.types = {block:true, pragma:true};
|
||||
|
||||
exports.init = function(parser) {
|
||||
this.parser = parser;
|
||||
|
|
|
@ -41,7 +41,7 @@ exports.startup = function() {
|
|||
$tw.rootWidget.addEventListener("tm-focus-selector",function(event) {
|
||||
var selector = event.param || "",
|
||||
element,
|
||||
doc = event.event ? event.event.target.ownerDocument : document;
|
||||
doc = event.event && event.event.target ? event.event.target.ownerDocument : document;
|
||||
try {
|
||||
element = doc.querySelector(selector);
|
||||
} catch(e) {
|
||||
|
|
|
@ -104,6 +104,7 @@ CreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {
|
|||
}
|
||||
this.setVariable("createTiddler-title",title);
|
||||
this.setVariable("createTiddler-draftTitle",draftTitle);
|
||||
this.refreshChildren();
|
||||
return true; // Action was invoked
|
||||
};
|
||||
|
||||
|
|
|
@ -53,7 +53,8 @@ KeyboardWidget.prototype.render = function(parent,nextSibling) {
|
|||
};
|
||||
|
||||
KeyboardWidget.prototype.handleChangeEvent = function(event) {
|
||||
if($tw.keyboardManager.checkKeyDescriptors(event,this.keyInfoArray)) {
|
||||
var keyInfo = $tw.keyboardManager.getMatchingKeyDescriptor(event,this.keyInfoArray);
|
||||
if(keyInfo) {
|
||||
var handled = this.invokeActions(this,event);
|
||||
if(this.actions) {
|
||||
var variables = {
|
||||
|
@ -61,6 +62,9 @@ KeyboardWidget.prototype.handleChangeEvent = function(event) {
|
|||
"event-code": event.code,
|
||||
"modifier": $tw.keyboardManager.getEventModifierKeyDescriptor(event)
|
||||
};
|
||||
if(keyInfo.keyDescriptor) {
|
||||
variables["event-key-descriptor"] = keyInfo.keyDescriptor;
|
||||
}
|
||||
this.invokeActionString(this.actions,this,event,variables);
|
||||
}
|
||||
this.dispatchMessage(event);
|
||||
|
|
|
@ -160,6 +160,7 @@ NavigatorWidget.prototype.handleNavigateEvent = function(event) {
|
|||
|
||||
// Close a specified tiddler
|
||||
NavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {
|
||||
event = $tw.hooks.invokeHook("th-closing-tiddler",event);
|
||||
var title = event.param || event.tiddlerTitle,
|
||||
storyList = this.getStoryList();
|
||||
// Look for tiddlers with this title to close
|
||||
|
|
|
@ -3,8 +3,15 @@ tags: $:/tags/ViewTemplate
|
|||
|
||||
\define lingo-base() $:/language/Import/
|
||||
|
||||
\define confirmCancel()
|
||||
<$action-confirm $message={{$:/language/Import/Listing/Cancel/Warning}} >
|
||||
<$action-deletetiddler $tiddler=<<currentTiddler>>/>
|
||||
<$action-sendmessage $message="tm-close-tiddler" title=<<currentTiddler>>/>
|
||||
</$action-confirm>
|
||||
\end
|
||||
|
||||
\define buttons()
|
||||
<$button message="tm-delete-tiddler" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>
|
||||
<$button actions=<<confirmCancel>> ><<lingo Listing/Cancel/Caption>></$button>
|
||||
<$button message="tm-perform-import" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>
|
||||
<<lingo Listing/Preview>> <$select tiddler="$:/state/importpreviewtype" default="$:/core/ui/ImportPreviews/Text">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]">
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
created: 20210623075733310
|
||||
modified: 20210623081959571
|
||||
tags: HookMechanism
|
||||
title: Hook: th-closing-tiddler
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
This hook allows plugins to monitor the closing of a tiddler from the story.
|
||||
|
||||
Hook function parameters:
|
||||
|
||||
* ''event'': Widget message object with the following properties:
|
||||
** ''event'': DOM event object that triggered the widget message
|
||||
** ''tiddlerTitle'': the title of the tiddler being closed
|
||||
** ''widget'': reference to the widget that sent the message.
|
||||
|
||||
Return value:
|
||||
|
||||
* ''event'': Widget message object
|
||||
|
||||
The original event widget message object can be returned unmodified by the hook.
|
|
@ -819,6 +819,12 @@ function runTests(wiki) {
|
|||
expect(wiki.filterTiddlers("[deserializers[]]").join(",")).toBe("application/javascript,application/json,application/x-tiddler,application/x-tiddler-html-div,application/x-tiddlers,text/css,text/html,text/plain");
|
||||
});
|
||||
|
||||
it("should handle the charcode operator", function() {
|
||||
expect(wiki.filterTiddlers("[charcode[9]]").join(" ")).toBe(String.fromCharCode(9));
|
||||
expect(wiki.filterTiddlers("[charcode[9],[10]]").join(" ")).toBe(String.fromCharCode(9) + String.fromCharCode(10));
|
||||
expect(wiki.filterTiddlers("[charcode[]]").join(" ")).toBe("");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
|
|
@ -220,6 +220,7 @@ describe("'reduce' and 'intersection' filter prefix tests", function() {
|
|||
wiki.addTiddler({
|
||||
title: "Brownies",
|
||||
text: "//This is a sample shopping list item for the [[Shopping List Example]]//",
|
||||
description: "A square of rich chocolate cake",
|
||||
tags: ["shopping","food"],
|
||||
price: "4.99",
|
||||
quantity: "1"
|
||||
|
@ -228,6 +229,7 @@ describe("'reduce' and 'intersection' filter prefix tests", function() {
|
|||
title: "Chick Peas",
|
||||
text: "//This is a sample shopping list item for the [[Shopping List Example]]//",
|
||||
tags: ["shopping","food"],
|
||||
description: "a round yellow seed",
|
||||
price: "1.32",
|
||||
quantity: "5"
|
||||
});
|
||||
|
@ -242,6 +244,7 @@ describe("'reduce' and 'intersection' filter prefix tests", function() {
|
|||
title: "Rice Pudding",
|
||||
price: "2.66",
|
||||
quantity: "4",
|
||||
description: "",
|
||||
tags: ["shopping", "dairy"],
|
||||
text: "//This is a sample shopping list item for the [[Shopping List Example]]//"
|
||||
});
|
||||
|
@ -374,6 +377,14 @@ describe("'reduce' and 'intersection' filter prefix tests", function() {
|
|||
expect(wiki.filterTiddlers("[tag[cakes]] :sort:string:casesensitive[{!!title}]").join(",")).toBe("Cheesecake,Chocolate Cake,Persian love cake,Pound cake,cheesecake,chocolate cake");
|
||||
expect(wiki.filterTiddlers("[tag[cakes]] :sort:string:casesensitive,reverse[{!!title}]").join(",")).toBe("chocolate cake,cheesecake,Pound cake,Persian love cake,Chocolate Cake,Cheesecake");
|
||||
});
|
||||
|
||||
it("should handle the :map prefix", function() {
|
||||
expect(wiki.filterTiddlers("[tag[shopping]] :map[get[title]]").join(",")).toBe("Brownies,Chick Peas,Milk,Rice Pudding");
|
||||
expect(wiki.filterTiddlers("[tag[shopping]] :map[get[description]]").join(",")).toBe("A square of rich chocolate cake,a round yellow seed,,");
|
||||
expect(wiki.filterTiddlers("[tag[shopping]] :map[get[description]else{!!title}]").join(",")).toBe("A square of rich chocolate cake,a round yellow seed,Milk,Rice Pudding");
|
||||
// Return the first title from :map if the filter returns more than one result
|
||||
expect(wiki.filterTiddlers("[tag[shopping]] :map[tags[]]").join(",")).toBe("shopping,shopping,shopping,shopping");
|
||||
});
|
||||
});
|
||||
|
||||
})();
|
|
@ -117,7 +117,14 @@ describe("WikiText parser tests", function() {
|
|||
[ { type : 'set', attributes : { name : { type : 'string', value : 'myMacro' }, value : { type : 'string', value : 'nothing' } }, children : [ ], params : [ ], isMacroDefinition : true } ]
|
||||
|
||||
);
|
||||
});
|
||||
|
||||
it("should parse comment in pragma area. Comment will be INVISIBLE", function() {
|
||||
expect(parse("<!-- comment in pragma area -->\n\\define aMacro()\nnothing\n\\end\n")).toEqual(
|
||||
|
||||
[ { type : 'set', attributes : { name : { type : 'string', value : 'aMacro' }, value : { type : 'string', value : 'nothing' } }, children : [ ], params : [ ], isMacroDefinition : true } ]
|
||||
|
||||
);
|
||||
});
|
||||
|
||||
it("should parse inline macro calls", function() {
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
caption: charcode
|
||||
created: 20210622214425635
|
||||
modified: 20210622214425635
|
||||
op-input: ignored
|
||||
op-output: a string formed from concatenating the characters specified by the numeric codes given in the operand(s)
|
||||
op-parameter: numeric character code
|
||||
op-parameter-name: C
|
||||
op-purpose: generates string characters from their numeric character codes
|
||||
tags: [[Filter Operators]]
|
||||
title: charcode Operator
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
<<.from-version "5.1.24">>
|
||||
|
||||
This operator returns a string formed from concatenating the characters specified by the numeric codes given in one or more operands. It is useful for generating special characters such as tab (`charcode[9]`) or new line (`charcode[13],[10]`).
|
||||
|
||||
<<.operator-examples "charcode">>
|
|
@ -0,0 +1,7 @@
|
|||
created: 20210622214849214
|
||||
modified: 20210622214849214
|
||||
tags: [[charcode Operator]] [[Operator Examples]]
|
||||
title: charcode Operator (Examples)
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
<<.operator-example 1 "[charcode[65]match[A]]">>
|
|
@ -1,5 +1,5 @@
|
|||
created: 20150124182421000
|
||||
modified: 20210522162642994
|
||||
modified: 20210618153333369
|
||||
tags: [[Filter Syntax]]
|
||||
title: Filter Expression
|
||||
type: text/vnd.tiddlywiki
|
||||
|
@ -26,14 +26,17 @@ If a run has:
|
|||
* named prefix `:intersection` replaces all filter output so far with titles that are present in the output of this run, as well as the output from previous runs. Forms the input for the next run. <<.from-version "5.1.23">>
|
||||
* named prefix `:reduce` replaces all filter output so far with a single item by repeatedly applying a formula to each input title. A typical use is to add up the values in a given field of each input title. <<.from-version "5.1.23">>
|
||||
** [[Examples|Filter Run Prefix (Examples)]]
|
||||
* named prefix `:sort` sorts all filter output so far by applying this run to each input title and sorting according to that output. <<.from-version "5.1.24">>
|
||||
* named prefix `:sort` sorts all filter output so far by applying this run to each input title and sorting according to that output. <<.from-version "5.2.0">>
|
||||
** See [[Sort Filter Run Prefix]].
|
||||
* named prefix `:map` transforms all filter output so far by applying this run to each input title and replacing the input title with the output of this run for that title.
|
||||
** See [[Map Filter Run Prefix]]. <<.from-version "5.2.0">>
|
||||
|
||||
|
||||
<<.tip "Compare named filter run prefix `:filter` with [[filter Operator]] which applies a subfilter to every input title, removing the titles that return an empty result from the subfilter">>
|
||||
|
||||
<<.tip "Compare named filter run prefix `:reduce` with [[reduce Operator]] which is used to used to flatten a list of items down to a single item by repeatedly applying a subfilter.">>
|
||||
|
||||
<<.tip """Within the filter runs prefixed with `:reduce`, `:sort` and `:filter`, the "currentTiddler" variable is set to the title of the tiddler being processed. The value of currentTiddler outside the subfilter is available in the variable "..currentTiddler".<<.from-version "5.1.24">>""" >>
|
||||
<<.tip """Within the filter runs prefixed with `:reduce`, `:sort`, `:map` and `:filter`, the "currentTiddler" variable is set to the title of the tiddler being processed. The value of currentTiddler outside the subfilter is available in the variable "..currentTiddler".<<.from-version "5.2.0">>""" >>
|
||||
|
||||
In technical / logical terms:
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
created: 20210618134753828
|
||||
modified: 20210618140945870
|
||||
tags: [[Filter Syntax]] [[Filter Run Prefix Examples]] [[Map Filter Run Prefix]]
|
||||
title: Map Filter Run Prefix (Examples)
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
Replace the input titles with the caption field if it exists, otherwise preserve the input title:
|
||||
|
||||
<<.operator-example 1 "[tag[Widgets]] :map[get[caption]else{!!title}]">>
|
||||
|
||||
<<.tip "The above example is equivalent to `[tag[Widgets]] :map[get[{!!caption}!is[blank]else{!!title}]`. Note that referencing a field as a text reference such as `{!!caption}` returns an empty string for a non-existent or empty caption field. Therefore a check for `is[blank]` is needed before the `else` operator">>
|
||||
|
||||
|
||||
For each title in a shopping list, calculate the total cost of purchasing each item:
|
||||
|
||||
<<.operator-example 2 "[tag[shopping]] :map[get[quantity]else[0]multiply{!!price}]">>
|
|
@ -0,0 +1,19 @@
|
|||
created: 20210618133745003
|
||||
modified: 20210618134747652
|
||||
tags: [[Filter Syntax]] [[Filter Run Prefix]]
|
||||
title: Map Filter Run Prefix
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
<<.from-version "5.2.0">>
|
||||
|
||||
|''purpose'' |modify input titles by the result of evaluating this filter run for each item |
|
||||
|''input'' |all titles from previous filter runs |
|
||||
|''output''|the input titles as modified by the result of this filter run |
|
||||
|
||||
Each input title from previous runs is passed to this run in turn. The filter run transforms the input titles and the output of this run replaces the input title. For example, the filter run `[get[caption]else{!!title}]` replaces each input title with its caption field, unless the field does not exist in which case the title is preserved.
|
||||
|
||||
Note that within the filter run, the "currentTiddler" variable is set to the title of the tiddler being processed. This permits filter runs like `:map[{!!price}multiply{!!cost}]` to be used for computation. The value of currentTiddler outside the run is available in the variable "..currentTiddler".
|
||||
|
||||
Filter runs used with the `:map` prefix should return the same number of items that they are passed. Any missing entries will be treated as an empty string. In particular, when retrieving the value of a field with the [[get Operator]] it is helpful to guard against a missing field value using the [[else Operator]]. For example `[get[myfield]else[default-value]...`.
|
||||
|
||||
[[Examples|Map Filter Run Prefix (Examples)]]
|
|
@ -1,7 +1,7 @@
|
|||
caption: keyboard
|
||||
created: 20140302192136805
|
||||
list: [[Keyboard Codes]] [[Key Codes (Example)]] [[Key Codes (Example 1)]] [[Possible Keys (Example 2)]]
|
||||
modified: 20210525102143381
|
||||
modified: 20210612101618855
|
||||
tags: Widgets
|
||||
title: KeyboardWidget
|
||||
type: text/vnd.tiddlywiki
|
||||
|
@ -30,6 +30,7 @@ The content of the `<$keyboard>` widget is rendered normally. The keyboard short
|
|||
|!Variables |!Description |
|
||||
|`event-key` |The <<.var event-key>> variable contains the character, if possible. eg: `1`. You can experiment with some settings at: [[Key Codes (Example)]] |
|
||||
|`event-code` |The <<.var event-code>> variable contains a character description. eg: `Digit1` instead of `1`. Or `Space` instead of an empty string ` `, which is hard to see|
|
||||
|`event-key-descriptor` |The <<.var event-key-descriptor>> variable is available if the keyboard event captured was configured using a [[keyboard shortcut descriptor|Keyboard Shortcut Descriptor]] of the form `((my-shortcut))` which references a configuration tiddler. |
|
||||
|`modifier` |The [[modifier Variable]] contains the Modifier Key held during the event (can be <kbd>normal</kbd>, <kbd>ctrl</kbd>, <kbd>shift</kbd>, <kbd>alt</kbd> or combinations thereof) |
|
||||
|
||||
! Key Strings
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
caption: HTML
|
||||
created: 20131205160816081
|
||||
modified: 20201125094415933
|
||||
modified: 20210614100305329
|
||||
tags: WikiText
|
||||
title: HTML in WikiText
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
! HTML tags and comments
|
||||
|
||||
HTML tags and comments can be used directly in WikiText. For example:
|
||||
|
||||
```
|
||||
|
@ -14,7 +16,22 @@ This is my nice and simple block of text. HelloThere
|
|||
</article>
|
||||
```
|
||||
|
||||
[[Widgets share the same syntax as HTML tags|Widgets in WikiText]], and so the following information applies to them, too.
|
||||
!! Pragma Comments
|
||||
|
||||
<<.from-version 5.2.0>> Comments can now be freely intermixed with pragmas as well as within the main body of a block of wikitext.
|
||||
|
||||
```
|
||||
<!-- NEW: Comment that describes the macro -->
|
||||
\define test()
|
||||
some text <!-- inline comment -->
|
||||
\end
|
||||
|
||||
<<test>>
|
||||
```
|
||||
|
||||
! Important
|
||||
|
||||
<<.tip """[[Widgets share the same syntax as HTML tags|Widgets in WikiText]], and so the following information applies to them, too.""">>
|
||||
|
||||
! Block mode versus Inline mode
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ Basics/NewJournal/Tags/Prompt: Tags des neuen Journal-Tiddlers
|
|||
Basics/NewTiddler/Title/Prompt: Titel des neuen Tiddlers
|
||||
Basics/NewTiddler/Tags/Prompt: Tags des neuen Tiddlers
|
||||
Basics/OverriddenShadowTiddlers/Prompt: Anzahl überschriebener Schatten-Tiddler
|
||||
Basics/RemoveTags: Auf neues Format umstellen
|
||||
Basics/RemoveTags/Hint: Die "tags" Konfiguration wird auf das aktuelle Format umgestellt
|
||||
Basics/ShadowTiddlers/Prompt: Anzahl Schatten-Tiddler
|
||||
Basics/Subtitle/Prompt: Untertitel
|
||||
Basics/SystemTiddlers/Prompt: Anzahl System-Tiddler
|
||||
|
@ -44,6 +46,7 @@ KeyboardShortcuts/Platform/Linux: Nur Linux
|
|||
KeyboardShortcuts/Platform/NonLinux: Alle Plattformen, außer Linux
|
||||
KeyboardShortcuts/Platform/Windows: Nur Windows
|
||||
KeyboardShortcuts/Platform/NonWindows: Alle Plattformen, außer Windows
|
||||
LayoutSwitcher/Caption: Layout
|
||||
LoadedModules/Caption: Geladene Module
|
||||
LoadedModules/Hint: Hier werden die geladenen Module und ihre Quelltext-Komponenten angezeigt. Kursiv hervorgehobene Tiddler haben keinen Quelltext. Sie werden während des Boot-Prozesses (Aufrufen des Tiddlywikis) erstellt.
|
||||
Palette/Caption: Palette
|
||||
|
@ -120,11 +123,12 @@ Saving/TiddlySpot/BackupDir: Verzeichnis für das "Backup"
|
|||
Saving/TiddlySpot/ControlPanel: ~TiddlySpot Control Panel
|
||||
Saving/TiddlySpot/Backups: "Backups"
|
||||
Saving/TiddlySpot/Caption: Speichern auf ~TiddlySpot
|
||||
Saving/TiddlySpot/Description: Diese Einstellungen sind nur für http://tiddlyspot.com und kompatible Server aktiv!
|
||||
Saving/TiddlySpot/Description: Diese Einstellungen sind nur für [[TiddlySpot|http://tiddlyspot.com]], [[TiddlyHost|https://tiddlyhost.com]], und kompatible Server aktiv! [[Diese Beschreibung|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] enthält weitergehende Informationen.
|
||||
Saving/TiddlySpot/Filename: Dateiname für den "Upload"
|
||||
Saving/TiddlySpot/Heading: ~TiddlySpot
|
||||
Saving/TiddlySpot/Hint: //Die Standard-Server-URL ist `http://<wikiname>.tiddlyspot.com/store.cgi` und kann im Feld 'Server-URL' verändert werden. zB: http://example.com/store.php//
|
||||
Saving/TiddlySpot/Password: Passwort
|
||||
Saving/TiddlySpot/ReadOnly: ~TiddlySpot wurde durch https://tiddlyhost.com ersetzt. Neue Wikis können nur noch unter ~TiddlyHost erstellt werden. Bestehende Projekte können mit bekanntem Passwort gespeichert werden. Genaue Informationen finden Sie unter: http://tiddlyspot.com/
|
||||
Saving/TiddlySpot/ServerURL: Server-URL
|
||||
Saving/TiddlySpot/UploadDir: Verzeichnis für den "Upload"
|
||||
Saving/TiddlySpot/UserName: Name des Wikis
|
||||
|
|
|
@ -23,6 +23,7 @@ tiddlerfield: Definiert das Verhalten, der unterschiedlichen Tiddler-Felder.
|
|||
tiddlermethod: Methoden werden dem `$tw.Tiddler` Prototypen hinzugefügt.
|
||||
upgrader: Führt spezifische Änderungen während des Upgrade- oder Import-prozesses durch.
|
||||
utils: Methoden werden `$tw.utils` hinzugefügt.
|
||||
utils-browser: Browser-spezifische Methoden werden zu `$tw.utils` hinzugefügt.
|
||||
utils-node: Erweitert `$tw.utils` mit Methoden aus node.js.
|
||||
widget: Widgets verarbeiten das Rendern und Aktualisieren der Anzeige in der DOM.
|
||||
wikimethod: Methoden werden zu `$tw.Wiki` hinzugefügt.
|
||||
|
|
|
@ -3,6 +3,8 @@ title: $:/language/EditTemplate/
|
|||
Body/External/Hint: Dieser Tiddler zeigt den Inhalt einer Datei, die nicht im TW file gespeichert ist. Sie können die "Tags" und "Feld" Texte ändern, jedoch nicht den Inhalt des Tiddlers!
|
||||
Body/Placeholder: Geben Sie den Text für diesen Tiddler ein.
|
||||
Body/Preview/Type/Output: Anzeige
|
||||
Body/Preview/Type/DiffShadow: Unterschiede zum Schatten-Tiddler (wenn vorhanden)
|
||||
Body/Preview/Type/DiffCurrent: Unterschiede zum aktuellen Tiddler
|
||||
Field/Remove/Caption: Lösche Feld
|
||||
Field/Remove/Hint: Lösche Feld
|
||||
Field/Dropdown/Caption: Feld Liste
|
||||
|
|
|
@ -21,9 +21,10 @@ Mögliche Parameter:
|
|||
* ''username'' - Benutzername für die Basis-Authentifizierung
|
||||
* ''password'' - Passwort für die Basis-Authentifizierung
|
||||
* ''authenticated-user-header'' - HTTP Header-Name für vertrauenswürdige, authentifizierte Benutzer
|
||||
* ''readers'' - Komma separierte Liste für Benutzer, mit Schreiberlaubnis
|
||||
* ''writers'' - Komma separierte Liste für Benutzer, mit Leseerlaubnis
|
||||
* ''readers'' - Komma-separierte Liste für Benutzer, mit Schreiberlaubnis
|
||||
* ''writers'' - Komma-separierte Liste für Benutzer, mit Leseerlaubnis
|
||||
* ''csrf-disable'' - "yes" bedeutet, dass CSRF checks deaktiviert sind. (Standard: "no")
|
||||
* ''sse-enabled'' - "yes" bedeuted, dass "Server-sent events" aktiv sind (Standard: "no")
|
||||
* ''root-tiddler'' - Tiddler, der für den "Root-Pfad" verwendet wird. (Standard: "$:/core/save/all")
|
||||
* ''root-render-type'' - Darstellungs-Type, die für den Root-Tiddler verwendet wird. (Standard: "text/plain")
|
||||
* ''root-serve-type'' - Inhalts-Type, die für den Root-Tiddler verwendet wird. (Standard: "text/html")
|
||||
|
|
|
@ -8,7 +8,7 @@ Optionell kann eine Template-Datei angegeben werden. In diesem Fall wird nicht d
|
|||
Es können noch zusätzliche Variablen per Name und Wert gesetzt werden.
|
||||
|
||||
```
|
||||
--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]
|
||||
--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*
|
||||
```
|
||||
|
||||
* ''tiddler-filter'': Ein Filter, der die Auszugebenden Tiddler eindeutig spezifiziert.
|
||||
|
@ -28,6 +28,7 @@ Wichtig:
|
|||
* Verzeichnisse und Dateien werden automatisch angelegt, sollten sie nicht vorhanden sein.
|
||||
* Wenn eine Datei Leerzeichen enthält, dann muss dies ''doppelt'' angezeigt werden. Für TiddlyWiki mit eckigen Klammern `[[]]` und für die Kommandozeile mit Hochkomma "". Zum Beispiel: `--render "[[Motovun Jack.jpg]]"`
|
||||
* Dateinamens-Filter zeigen immer auf den Titel, des gerade umzusetzenden Tiddlers. Das erlaubt uns, diesen als Basis für den Dateinamen zu verwenden. zB: `[encodeuricomponent[]addprefix[static/]]` ... Verwendet eine URI-Enkodierung für jeden Dateinamen und stellt das Wort `static/` als Pfadname voran.
|
||||
* Es können mehrere ''name/value'' Paare verwendet werden.
|
||||
* Der `--render` Befehl ist flexibler und ersetzt daher `--rendertiddler` und `--rendertiddlers`, welche mit V5.1.15 auslaufen!
|
||||
|
||||
Beispiel:
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
title: $:/language/Import/
|
||||
|
||||
Editor/Import/Heading: Bilder in den Editor importieren.
|
||||
Imported/Hint: Folgende Tiddler wurden importiert:
|
||||
Listing/Cancel/Caption: Abbrechen
|
||||
Listing/Hint: Diese Tiddler können importiert werden:
|
||||
|
@ -22,7 +23,11 @@ Upgrader/Plugins/Suppressed/Incompatible: Unterdrückte, inkompatible oder veral
|
|||
Upgrader/Plugins/Suppressed/Version: Einige "plugins" weden unterdrückt! Importierte plugins: <<incoming>> sind älter als existierende: <<existing>>.
|
||||
Upgrader/Plugins/Upgraded: Aktualisieren der plugins von: <<incoming>> nach: <<upgraded>>.
|
||||
Upgrader/State/Suppressed: Unterdrückte temporäre Status Tiddler.
|
||||
Upgrader/System/Disabled: Deaktivierter "System-Tiddler".
|
||||
Upgrader/System/Suppressed: Unterdrückte "System Tiddler".
|
||||
Upgrader/System/Warning: "Core Modul Tiddler".
|
||||
Upgrader/System/Alert: Sie sind dabei einen Tiddler zu importieren, der einen "Core Tiddler" überschreibt. Diese Aktion wird nicht empfohlen! Das System kann instabil werden.
|
||||
Upgrader/ThemeTweaks/Created: Migrieren der "theme tweaks" von: <$text text=<<from>>/>.
|
||||
Upgrader/Tiddler/Disabled: Deaktivierter Tiddler.
|
||||
Upgrader/Tiddler/Selected: Vom Anwender ausgewählt.
|
||||
Upgrader/Tiddler/Unselected: Auswahl aufgehoben.
|
||||
|
|
|
@ -31,7 +31,9 @@ Error/IsFilterOperator: Filter Fehler: Unbekannter Operand für den 'is' Filter
|
|||
Error/FormatFilterOperator: Filter Fehler: Unbekannter Operand für den 'format' Filter Operator
|
||||
Error/LoadingPluginLibrary: Fehler beim Laden der "plugin library"
|
||||
Error/NetworkErrorAlert: `<h2>''Netzwerk Fehler''</h2>Es scheint, die Verbindung zum Server ist ausgefallen. Das weist auf Probleme mit der Netzwerkverbindung hin. Bitte versuchen Sie die Verbingung wider herzustellen, bevor Sie weitermachen.<br><br>''Nicht gespeicherte Änderungen werden automatich synchronisiert, sobald die Verbindung wider hergestellt ist.
|
||||
Error/PutEditConflict: Datei auf Server verändert
|
||||
Error/PutEditConflict: Datei am Server verändert
|
||||
Error/PutForbidden: Erlaubnis verweigert
|
||||
Error/PutUnauthorized: Authentifizierung benötigt
|
||||
Error/RecursiveTransclusion: Recursive Transclusion: Fehler im "transclude widget"
|
||||
Error/RetrievingSkinny: Fehler beim Empfangen einer "skinny" Tiddler Liste
|
||||
Error/SavingToTWEdit: Fehler beim Speichern mit "TWEdit"
|
||||
|
@ -39,6 +41,8 @@ Error/WhileSaving: Fehler beim Speichern
|
|||
Error/XMLHttpRequest: XMLHttpRequest Fehler-Code
|
||||
InternalJavaScriptError/Title: Interner JavaScript Fehler
|
||||
InternalJavaScriptError/Hint: Es tut uns leid, aber bitte starten Sie Ihr TiddlyWiki neu, indem sie die Seite im Browser neu laden.
|
||||
InvalidFieldName: Das Feld: "<$text text=<<fieldName>>/>" enthält illegale Zeichen. Felder müssen klein geschrieben werden. Erlaubte Sonderzeichen sind: Zahlen, Unterstrich (`_`), Minus (`-`) und Punkt (`.`).
|
||||
LayoutSwitcher/Description: "Layout" Selektor anzeigen
|
||||
LazyLoadingWarning: <p>Lade externe Datei von ''<$text text={{!!_canonical_uri}}/>''</p><p>Wenn diese Meldung nicht automatisch gelöscht wird, dann verwenden Sie wahrscheinlich einen Browser der diese Funktion nicht unterstützt. Oder die Tiddler "conent-type" Eistellung passt nicht, zu der, der externen Datei. Siehe https://tiddlywiki.com/#ExternalText</p>
|
||||
LoginToTiddlySpace: Login bei TiddlySpace
|
||||
Manager/Controls/FilterByTag/None: (kein)
|
||||
|
@ -62,6 +66,8 @@ MissingTiddler/Hint: Fehlender Tiddler "<$text text=<<currentTiddler>>/>" - klic
|
|||
No: Nein
|
||||
OfficialPluginLibrary: Offizielles ~TiddlyWiki Plugin-Verzeichnis
|
||||
OfficialPluginLibrary/Hint: Offizielles ~TiddlyWiki Plugin-Verzeichnis auf tiddlywiki.com. Plugin, Themes und Sprach Dateien werden vom "core team" gewartet.
|
||||
PageTemplate/Description: das Standard ~TiddlyWiki Layout
|
||||
PageTemplate/Name: Standard ~PageTemplate
|
||||
PluginReloadWarning: Das Wiki muss gespeichert {{$:/core/ui/Buttons/save-wiki}} und neu gladen {{$:/core/ui/Buttons/refresh}} werden, damit die ~JavaScript Plugins ausgeführt werden.
|
||||
RecentChanges/DateFormat: YYYY MMM DD
|
||||
Shortcuts/Input/AdvancedSearch/Hint: Öffne den ~AdvancedSearch Tiddler vom "Suchmenü" aus
|
||||
|
@ -73,6 +79,10 @@ Shortcuts/Input/Up/Hint: Gehe zum vorherigen Element
|
|||
Shortcuts/Input/Tab-Left/Hint: Gehe zum vorherigen Tab
|
||||
Shortcuts/Input/Tab-Right/Hint: Gehe zum nächsten Tab
|
||||
Shortcuts/SidebarLayout/Hint: Das Layout des rechten Menüs ändern
|
||||
Switcher/Subtitle/theme: Theme auswählen
|
||||
Switcher/Subtitle/layout: Layout auswählen
|
||||
Switcher/Subtitle/language: Sprache auswählen
|
||||
Switcher/Subtitle/palette: Palette auswählen
|
||||
SystemTiddler/Tooltip: Das ist ein System-Tiddler
|
||||
SystemTiddlers/Include/Prompt: System-Tiddler einschließen
|
||||
TagManager/Colour/Heading: Farbe
|
||||
|
|
|
@ -4,8 +4,8 @@ ThemeTweaks: Theme Tweaks
|
|||
ThemeTweaks/Hint: Hier können sie verschiedene Elemente des ''Vanilla'' (Standard) Themas einstellen.
|
||||
Options: Optionen
|
||||
Options/SidebarLayout: Seitenleiste Darstellung
|
||||
Options/SidebarLayout/Fixed-Fluid: Fixe Story, variable Seitenleiste
|
||||
Options/SidebarLayout/Fluid-Fixed: Variable Story, fixe Seitenleiste
|
||||
Options/SidebarLayout/Fixed-Fluid: Fixe "Story", variable Seitenleiste
|
||||
Options/SidebarLayout/Fluid-Fixed: Variable "Story", fixe Seitenleiste
|
||||
Options/StickyTitles: "Klebender Titel"
|
||||
Options/StickyTitles/Hint: Tiddler-Titel bleiben beim "Scrollen" am oberen Bildschirmrand "kleben". Funktioniert möglicherweise nicht mit jedem Browser.
|
||||
Options/CodeWrapping: Lange Zeilen in "Code-Blöcken" umbrechen
|
||||
|
|
|
@ -14,7 +14,7 @@ List/Caption: Liste
|
|||
List/Empty: Dieser Tiddler hat kein "list" Feld.
|
||||
Listed/Caption: Gelistet
|
||||
Listed/Empty: Dieser Tiddler wird nicht von anderen Tiddlern gelistet.
|
||||
References/Caption: Referenzen
|
||||
References/Caption: Rückverweise
|
||||
References/Empty: Kein Tiddler linkt zu diesem Tiddler.
|
||||
Tagging/Caption: Tagging
|
||||
Tagging/Empty: Kein Tiddler ist mit diesem Tiddler "getaggt".
|
||||
|
|
|
@ -3,6 +3,7 @@ title: $:/language/Import/
|
|||
Editor/Import/Heading: Importar imágenes e insertarlas en el editor.
|
||||
Imported/Hint: Se importaron los siguientes tiddlers
|
||||
Listing/Cancel/Caption: Cancelar
|
||||
Listing/Cancel/Warning: ¿Quieres cancelar la importación?
|
||||
Listing/Hint: Tiddlers listos para importar
|
||||
Listing/Import/Caption: Importar
|
||||
Listing/Select/Caption: Seleccionar
|
||||
|
|
|
@ -3,6 +3,7 @@ title: $:/language/Import/
|
|||
Editor/Import/Heading: 导入图像并将其插入至编辑器。
|
||||
Imported/Hint: 下列条目已被导入:
|
||||
Listing/Cancel/Caption: 取消
|
||||
Listing/Cancel/Warning: 您要取消导入吗?
|
||||
Listing/Hint: 这些条目已备妥导入:
|
||||
Listing/Import/Caption: 导入
|
||||
Listing/Select/Caption: 选择
|
||||
|
|
|
@ -3,6 +3,7 @@ title: $:/language/Import/
|
|||
Editor/Import/Heading: 導入圖像並將其插入至編輯器。
|
||||
Imported/Hint: 下列條目已被導入:
|
||||
Listing/Cancel/Caption: 取消
|
||||
Listing/Cancel/Warning: 您要取消導入嗎?
|
||||
Listing/Hint: 這些條目已備妥導入:
|
||||
Listing/Import/Caption: 導入
|
||||
Listing/Select/Caption: 選擇
|
||||
|
|
|
@ -109,6 +109,7 @@ function CodeMirrorEngine(options) {
|
|||
if(this.widget.editTabIndex) {
|
||||
config["tabindex"] = this.widget.editTabIndex;
|
||||
}
|
||||
config.editWidget = this.widget;
|
||||
// Create the CodeMirror instance
|
||||
this.cm = window.CodeMirror(function(cmDomNode) {
|
||||
// Note that this is a synchronous callback that is called before the constructor returns
|
||||
|
|
|
@ -333,10 +333,6 @@ table tfoot tr td {
|
|||
height: 600px;
|
||||
}
|
||||
|
||||
:root {
|
||||
color-scheme: {{{ [{$:/palette}get[color-scheme]] }}};
|
||||
}
|
||||
|
||||
/*
|
||||
** Links
|
||||
*/
|
||||
|
@ -1052,6 +1048,7 @@ button.tc-btn-invisible.tc-remove-tag-button {
|
|||
}
|
||||
|
||||
.tc-view-field-value {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
@media (max-width: <<sidebarbreakpoint-minus-one>>) {
|
||||
|
|
Ładowanie…
Reference in New Issue