1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-01-25 04:14:40 +00:00

Compare commits

..

2 Commits

Author SHA1 Message Date
jeremy@jermolene.com
418aab50a5 Adjust release version number
Just in case we decide to make a release before we merge #6666
2022-09-02 18:12:25 +01:00
jeremy@jermolene.com
f82d15e55f First commit
Cherry-picked from #6666
2022-09-02 18:01:55 +01:00
106 changed files with 392 additions and 1162 deletions

1
.gitignore vendored
View File

@@ -1,6 +1,5 @@
.DS_Store .DS_Store
.c9/ .c9/
.vscode/
tmp/ tmp/
output/ output/
node_modules/ node_modules/

View File

@@ -1230,16 +1230,13 @@ $tw.Wiki = function(options) {
this.getTiddler = function(title) { this.getTiddler = function(title) {
if(title) { if(title) {
var t = tiddlers[title]; var t = tiddlers[title];
if(t !== undefined) { if(t instanceof $tw.Tiddler) {
return t; return t;
} else { } else if(title !== undefined && shadowTiddlers[title]) {
var s = shadowTiddlers[title]; return shadowTiddlers[title].tiddler;
if(s !== undefined) {
return s.tiddler;
}
} }
return undefined;
} }
return undefined;
}; };
// Get an array of all tiddler titles // Get an array of all tiddler titles
@@ -2419,7 +2416,7 @@ $tw.boot.initStartup = function(options) {
$tw.utils.registerFileType("application/epub+zip","base64",".epub"); $tw.utils.registerFileType("application/epub+zip","base64",".epub");
$tw.utils.registerFileType("application/octet-stream","base64",".octet-stream"); $tw.utils.registerFileType("application/octet-stream","base64",".octet-stream");
// Create the wiki store for the app // Create the wiki store for the app
$tw.wiki = new $tw.Wiki($tw.safeMode && {enableIndexers: []}); $tw.wiki = new $tw.Wiki();
// Install built in tiddler fields modules // Install built in tiddler fields modules
$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap("tiddlerfield"); $tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap("tiddlerfield");
// Install the tiddler deserializer modules // Install the tiddler deserializer modules

View File

@@ -13,7 +13,7 @@ dependents: For a plugin, lists the dependent plugin titles
description: The descriptive text for a plugin, or a modal dialogue description: The descriptive text for a plugin, or a modal dialogue
draft.of: For draft tiddlers, contains the title of the tiddler of which this is a draft draft.of: For draft tiddlers, contains the title of the tiddler of which this is a draft
draft.title: For draft tiddlers, contains the proposed new title of the tiddler draft.title: For draft tiddlers, contains the proposed new title of the tiddler
footer: The footer text for a modal footer: The footer text for a wizard
hide-body: The view template will hide bodies of tiddlers if set to ''yes'' hide-body: The view template will hide bodies of tiddlers if set to ''yes''
icon: The title of the tiddler containing the icon associated with a tiddler icon: The title of the tiddler containing the icon associated with a tiddler
library: Indicates that a tiddler should be saved as a JavaScript library if set to ''yes'' library: Indicates that a tiddler should be saved as a JavaScript library if set to ''yes''
@@ -28,7 +28,7 @@ plugin-type: The type of plugin in a plugin tiddler
revision: The revision of the tiddler held at the server revision: The revision of the tiddler held at the server
released: Date of a TiddlyWiki release released: Date of a TiddlyWiki release
source: The source URL associated with a tiddler source: The source URL associated with a tiddler
subtitle: The subtitle text for a modal subtitle: The subtitle text for a wizard
tags: A list of tags associated with a tiddler tags: A list of tags associated with a tiddler
text: The body text of a tiddler text: The body text of a tiddler
throttle.refresh: If present, throttles refreshes of this tiddler throttle.refresh: If present, throttles refreshes of this tiddler

View File

@@ -87,7 +87,7 @@ function FramedEngine(options) {
$tw.utils.addEventListeners(this.domNode,[ $tw.utils.addEventListeners(this.domNode,[
{name: "click",handlerObject: this,handlerMethod: "handleClickEvent"}, {name: "click",handlerObject: this,handlerMethod: "handleClickEvent"},
{name: "input",handlerObject: this,handlerMethod: "handleInputEvent"}, {name: "input",handlerObject: this,handlerMethod: "handleInputEvent"},
{name: "keydown",handlerObject: this,handlerMethod: "handleKeydownEvent"}, {name: "keydown",handlerObject: this.widget,handlerMethod: "handleKeydownEvent"},
{name: "focus",handlerObject: this,handlerMethod: "handleFocusEvent"} {name: "focus",handlerObject: this,handlerMethod: "handleFocusEvent"}
]); ]);
// Add drag and drop event listeners if fileDrop is enabled // Add drag and drop event listeners if fileDrop is enabled
@@ -192,17 +192,6 @@ FramedEngine.prototype.handleFocusEvent = function(event) {
} }
}; };
/*
Handle a keydown event
*/
FramedEngine.prototype.handleKeydownEvent = function(event) {
if ($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {
return true;
}
return this.widget.handleKeydownEvent(event);
};
/* /*
Handle a click Handle a click
*/ */

View File

@@ -12,9 +12,6 @@ Adds tiddler filtering methods to the $tw.Wiki object.
/*global $tw: false */ /*global $tw: false */
"use strict"; "use strict";
/* Maximum permitted filter recursion depth */
var MAX_FILTER_DEPTH = 300;
/* /*
Parses an operation (i.e. a run) within a filter string Parses an operation (i.e. a run) within a filter string
operators: Array of array of operator nodes into which results should be inserted operators: Array of array of operator nodes into which results should be inserted
@@ -331,7 +328,7 @@ exports.compileFilter = function(filterString) {
})()); })());
}); });
// Return a function that applies the operations to a source iterator of tiddler titles // Return a function that applies the operations to a source iterator of tiddler titles
var fnMeasured = $tw.perf.measure("filter: " + filterString,function filterFunction(source,widget) { var compiled = $tw.perf.measure("filter: " + filterString,function filterFunction(source,widget) {
if(!source) { if(!source) {
source = self.each; source = self.each;
} else if(typeof source === "object") { // Array or hashmap } else if(typeof source === "object") { // Array or hashmap
@@ -341,15 +338,9 @@ exports.compileFilter = function(filterString) {
widget = $tw.rootWidget; widget = $tw.rootWidget;
} }
var results = new $tw.utils.LinkedList(); var results = new $tw.utils.LinkedList();
self.filterRecursionCount = (self.filterRecursionCount || 0) + 1; $tw.utils.each(operationFunctions,function(operationFunction) {
if(self.filterRecursionCount < MAX_FILTER_DEPTH) { operationFunction(results,source,widget);
$tw.utils.each(operationFunctions,function(operationFunction) { });
operationFunction(results,source,widget);
});
} else {
results.push("/**-- Excessive filter recursion --**/");
}
self.filterRecursionCount = self.filterRecursionCount - 1;
return results.toArray(); return results.toArray();
}); });
if(this.filterCacheCount >= 2000) { if(this.filterCacheCount >= 2000) {
@@ -359,9 +350,9 @@ exports.compileFilter = function(filterString) {
this.filterCache = Object.create(null); this.filterCache = Object.create(null);
this.filterCacheCount = 0; this.filterCacheCount = 0;
} }
this.filterCache[filterString] = fnMeasured; this.filterCache[filterString] = compiled;
this.filterCacheCount++; this.filterCacheCount++;
return fnMeasured; return compiled;
}; };
})(); })();

View File

@@ -19,13 +19,13 @@ exports.variable = function(source,prefix,options) {
var results = []; var results = [];
if(prefix === "!") { if(prefix === "!") {
source(function(tiddler,title) { source(function(tiddler,title) {
if(options.widget.getVariable(title) === undefined) { if(!(title in options.widget.variables)) {
results.push(title); results.push(title);
} }
}); });
} else { } else {
source(function(tiddler,title) { source(function(tiddler,title) {
if(options.widget.getVariable(title) !== undefined) { if(title in options.widget.variables) {
results.push(title); results.push(title);
} }
}); });

View File

@@ -16,15 +16,9 @@ Filter operator for returning the names of the active variables
Export our filter function Export our filter function
*/ */
exports.variables = function(source,operator,options) { exports.variables = function(source,operator,options) {
var names = [], var names = [];
widget = options.widget; for(var variable in options.widget.variables) {
while(widget && !widget.hasOwnProperty("variables")) { names.push(variable);
widget = widget.parentWidget;
}
if(widget && widget.variables) {
for(var variable in widget.variables) {
names.push(variable);
}
} }
return names.sort(); return names.sort();
}; };

View File

@@ -141,7 +141,6 @@ function KeyboardManager(options) {
this.shortcutKeysList = [], // Stores the shortcut-key descriptors this.shortcutKeysList = [], // Stores the shortcut-key descriptors
this.shortcutActionList = [], // Stores the corresponding action strings this.shortcutActionList = [], // Stores the corresponding action strings
this.shortcutParsedList = []; // Stores the parsed key descriptors this.shortcutParsedList = []; // Stores the parsed key descriptors
this.shortcutPriorityList = []; // Stores the parsed shortcut priority
this.lookupNames = ["shortcuts"]; this.lookupNames = ["shortcuts"];
this.lookupNames.push($tw.platform.isMac ? "shortcuts-mac" : "shortcuts-not-mac") this.lookupNames.push($tw.platform.isMac ? "shortcuts-mac" : "shortcuts-not-mac")
this.lookupNames.push($tw.platform.isWindows ? "shortcuts-windows" : "shortcuts-not-windows"); this.lookupNames.push($tw.platform.isWindows ? "shortcuts-windows" : "shortcuts-not-windows");
@@ -319,23 +318,12 @@ KeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {
this.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined; this.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;
this.shortcutActionList[i] = tiddlerFields.text; this.shortcutActionList[i] = tiddlerFields.text;
this.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined; this.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;
this.shortcutPriorityList[i] = tiddlerFields.priority === "yes" ? true : false;
} }
}; };
/* KeyboardManager.prototype.handleKeydownEvent = function(event) {
event: the keyboard event object
options:
onlyPriority: true if only priority global shortcuts should be invoked
*/
KeyboardManager.prototype.handleKeydownEvent = function(event, options) {
options = options || {};
var key, action; var key, action;
for(var i=0; i<this.shortcutTiddlers.length; i++) { for(var i=0; i<this.shortcutTiddlers.length; i++) {
if(options.onlyPriority && this.shortcutPriorityList[i] !== true) {
continue;
}
if(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) { if(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {
key = this.shortcutParsedList[i]; key = this.shortcutParsedList[i];
action = this.shortcutActionList[i]; action = this.shortcutActionList[i];

View File

@@ -58,7 +58,7 @@ exports.parse = function() {
var reEnd; var reEnd;
if(this.match[3]) { if(this.match[3]) {
// If so, the end of the body is marked with \end // If so, the end of the body is marked with \end
reEnd = new RegExp("(\\r?\\n\\\\end[^\\S\\n\\r]*(?:" + $tw.utils.escapeRegExp(this.match[1]) + ")?(?:$|\\r?\\n))","mg"); reEnd = /(\r?\n\\end[^\S\n\r]*(?:$|\r?\n))/mg;
} else { } else {
// Otherwise, the end of the definition is marked by the end of the line // Otherwise, the end of the definition is marked by the end of the line
reEnd = /($|\r?\n)/mg; reEnd = /($|\r?\n)/mg;

View File

@@ -41,6 +41,9 @@ exports.parse = function() {
var node = { var node = {
type: "element", type: "element",
tag: "span", tag: "span",
attributes: {
"class": {type: "string", value: "tc-inline-style"}
},
children: tree children: tree
}; };
if(classString) { if(classString) {
@@ -49,9 +52,6 @@ exports.parse = function() {
if(stylesString) { if(stylesString) {
$tw.utils.addAttributeToParseTreeNode(node,"style",stylesString); $tw.utils.addAttributeToParseTreeNode(node,"style",stylesString);
} }
if(!classString && !stylesString) {
$tw.utils.addClassToParseTreeNode(node,"tc-inline-style");
}
return [node]; return [node];
}; };

View File

@@ -116,7 +116,7 @@ WikiParser.prototype.loadRemoteTiddler = function(url) {
*/ */
WikiParser.prototype.setupRules = function(proto,configPrefix) { WikiParser.prototype.setupRules = function(proto,configPrefix) {
var self = this; var self = this;
if(!$tw.safeMode) { if(!$tw.safemode) {
$tw.utils.each(proto,function(object,name) { $tw.utils.each(proto,function(object,name) {
if(self.wiki.getTiddlerText(configPrefix + name,"enable") !== "enable") { if(self.wiki.getTiddlerText(configPrefix + name,"enable") !== "enable") {
delete proto[name]; delete proto[name];

View File

@@ -42,7 +42,7 @@ var TW_TextNode = function(text) {
this.textContent = text + ""; this.textContent = text + "";
}; };
Object.setPrototypeOf(TW_TextNode,TW_Node.prototype); TW_TextNode.prototype = Object.create(TW_Node.prototype);
Object.defineProperty(TW_TextNode.prototype, "nodeType", { Object.defineProperty(TW_TextNode.prototype, "nodeType", {
get: function() { get: function() {
@@ -67,7 +67,7 @@ var TW_Element = function(tag,namespace) {
this.namespaceURI = namespace || "http://www.w3.org/1999/xhtml"; this.namespaceURI = namespace || "http://www.w3.org/1999/xhtml";
}; };
Object.setPrototypeOf(TW_Element,TW_Node.prototype); TW_Element.prototype = Object.create(TW_Node.prototype);
Object.defineProperty(TW_Element.prototype, "style", { Object.defineProperty(TW_Element.prototype, "style", {
get: function() { get: function() {

View File

@@ -48,9 +48,7 @@ Logger.prototype.log = function(/* args */) {
this.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit); this.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);
} }
if(console !== undefined && console.log !== undefined) { if(console !== undefined && console.log !== undefined) {
var logMessage = [$tw.utils.terminalColour(this.colour) + this.componentName + ":"].concat(Array.prototype.slice.call(arguments,0)); return Function.apply.call(console.log, console, [$tw.utils.terminalColour(this.colour),this.componentName + ":"].concat(Array.prototype.slice.call(arguments,0)).concat($tw.utils.terminalColour()));
logMessage[logMessage.length-1] += $tw.utils.terminalColour();
return Function.apply.call(console.log, console, logMessage);
} }
} }
}; };

View File

@@ -12,26 +12,12 @@ Parse tree utility functions.
/*global $tw: false */ /*global $tw: false */
"use strict"; "use strict";
/*
Add attribute to parse tree node
Can be invoked as (node,name,value) or (node,attr)
*/
exports.addAttributeToParseTreeNode = function(node,name,value) { exports.addAttributeToParseTreeNode = function(node,name,value) {
var attribute = typeof name === "object" ? name : {name: name, type: "string", value: value}; var attribute = {name: name, type: "string", value: value};
name = attribute.name;
node.attributes = node.attributes || {}; node.attributes = node.attributes || {};
node.orderedAttributes = node.orderedAttributes || [];
node.attributes[name] = attribute; node.attributes[name] = attribute;
var foundIndex = -1; if(node.orderedAttributes) {
$tw.utils.each(node.orderedAttributes,function(attr,index) {
if(attr.name === name) {
foundIndex = index;
}
});
if(foundIndex === -1) {
node.orderedAttributes.push(attribute); node.orderedAttributes.push(attribute);
} else {
node.orderedAttributes[foundIndex] = attribute;
} }
}; };
@@ -65,8 +51,10 @@ exports.addClassToParseTreeNode = function(node,classString) {
// If the class attribute does not exist, we must create it first. // If the class attribute does not exist, we must create it first.
attribute = {name: "class", type: "string", value: ""}; attribute = {name: "class", type: "string", value: ""};
node.attributes["class"] = attribute; node.attributes["class"] = attribute;
node.orderedAttributes = node.orderedAttributes || []; if(node.orderedAttributes) {
node.orderedAttributes.push(attribute); // If there are orderedAttributes, we've got to add them there too.
node.orderedAttributes.push(attribute);
}
} }
if(attribute.type === "string") { if(attribute.type === "string") {
if(attribute.value !== "") { if(attribute.value !== "") {
@@ -86,8 +74,10 @@ exports.addStyleToParseTreeNode = function(node,name,value) {
if(!attribute) { if(!attribute) {
attribute = {name: "style", type: "string", value: ""}; attribute = {name: "style", type: "string", value: ""};
node.attributes.style = attribute; node.attributes.style = attribute;
node.orderedAttributes = node.orderedAttributes || []; if(node.orderedAttributes) {
node.orderedAttributes.push(attribute); // If there are orderedAttributes, we've got to add them there too.
node.orderedAttributes.push(attribute);
}
} }
if(attribute.type === "string") { if(attribute.type === "string") {
attribute.value += name + ":" + value + ";"; attribute.value += name + ":" + value + ";";

View File

@@ -66,14 +66,14 @@ CheckboxWidget.prototype.render = function(parent,nextSibling) {
CheckboxWidget.prototype.getValue = function() { CheckboxWidget.prototype.getValue = function() {
var tiddler = this.wiki.getTiddler(this.checkboxTitle); var tiddler = this.wiki.getTiddler(this.checkboxTitle);
if(tiddler || this.checkboxFilter) { if(tiddler || this.checkboxFilter) {
if(tiddler && this.checkboxTag) { if(this.checkboxTag) {
if(this.checkboxInvertTag === "yes") { if(this.checkboxInvertTag === "yes") {
return !tiddler.hasTag(this.checkboxTag); return !tiddler.hasTag(this.checkboxTag);
} else { } else {
return tiddler.hasTag(this.checkboxTag); return tiddler.hasTag(this.checkboxTag);
} }
} }
if(tiddler && (this.checkboxField || this.checkboxIndex)) { if(this.checkboxField || this.checkboxIndex) {
// Same logic applies to fields and indexes // Same logic applies to fields and indexes
var value; var value;
if(this.checkboxField) { if(this.checkboxField) {
@@ -206,18 +206,11 @@ CheckboxWidget.prototype.handleChangeEvent = function(event) {
} }
// Set the list field (or index) if specified // Set the list field (or index) if specified
if(this.checkboxListField || this.checkboxListIndex) { if(this.checkboxListField || this.checkboxListIndex) {
var fieldContents, listContents, oldPos, newPos; var listContents, oldPos, newPos;
if(this.checkboxListField) { if(this.checkboxListField) {
fieldContents = tiddler ? tiddler.fields[this.checkboxListField] : undefined; listContents = tiddler.getFieldList(this.checkboxListField);
} else { } else {
fieldContents = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxListIndex); listContents = $tw.utils.parseStringArray(this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxListIndex) || "") || [];
}
if($tw.utils.isArray(fieldContents)) {
// Make a copy so we can modify it without changing original that's refrenced elsewhere
listContents = fieldContents.slice(0);
} else {
listContents = $tw.utils.parseStringArray(fieldContents) || [];
// No need to copy since parseStringArray returns a fresh array, not refrenced elsewhere
} }
oldPos = notValue ? listContents.indexOf(notValue) : -1; oldPos = notValue ? listContents.indexOf(notValue) : -1;
newPos = value ? listContents.indexOf(value) : -1; newPos = value ? listContents.indexOf(value) : -1;

View File

@@ -1,63 +0,0 @@
/*\
title: $:/core/modules/widgets/error.js
type: application/javascript
module-type: widget
Error widget
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget;
var ErrorWidget = function(parseTreeNode,options) {
this.initialise(parseTreeNode,options);
};
/*
Inherit from the base widget class
*/
ErrorWidget.prototype = new Widget();
/*
Render this widget into the DOM
*/
ErrorWidget.prototype.render = function(parent,nextSibling) {
this.parentDomNode = parent;
this.computeAttributes();
this.execute();
var message = this.getAttribute("$message","Unknown error"),
domNode = this.document.createElement("span");
domNode.appendChild(this.document.createTextNode(message));
domNode.className = "tc-error";
parent.insertBefore(domNode,nextSibling);
this.domNodes.push(domNode);
};
/*
Compute the internal state of the widget
*/
ErrorWidget.prototype.execute = function() {
// Nothing to do for a text node
};
/*
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
*/
ErrorWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes["$message"]) {
this.refreshSelf();
return true;
} else {
return false;
}
};
exports.error = ErrorWidget;
})();

View File

@@ -1,108 +0,0 @@
/*\
title: $:/core/modules/widgets/genesis.js
type: application/javascript
module-type: widget
Genesis widget for dynamically creating widgets
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
var Widget = require("$:/core/modules/widgets/widget.js").widget;
var GenesisWidget = function(parseTreeNode,options) {
this.initialise(parseTreeNode,options);
};
/*
Inherit from the base widget class
*/
GenesisWidget.prototype = new Widget();
/*
Render this widget into the DOM
*/
GenesisWidget.prototype.render = function(parent,nextSibling) {
this.parentDomNode = parent;
this.computeAttributes({filterFn: function(name) {
// Only compute our own attributes which start with a single dollar
return name.charAt(0) === "$" && name.charAt(1) !== "$";
}});
this.execute();
this.renderChildren(parent,nextSibling);
};
/*
Compute the internal state of the widget
*/
GenesisWidget.prototype.execute = function() {
var self = this;
// Collect attributes
this.genesisType = this.getAttribute("$type","element");
this.genesisRemappable = this.getAttribute("$remappable","yes") === "yes";
this.genesisNames = this.getAttribute("$names","");
this.genesisValues = this.getAttribute("$values","");
// Construct parse tree
var isElementWidget = this.genesisType.charAt(0) !== "$",
nodeType = isElementWidget ? "element" : this.genesisType.substr(1),
nodeTag = isElementWidget ? this.genesisType : undefined;
var parseTreeNodes = [{
type: nodeType,
tag: nodeTag,
attributes: {},
orderedAttributes: [],
children: this.parseTreeNode.children || [],
isNotRemappable: !this.genesisRemappable
}];
// Apply explicit attributes
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {
var name = attribute.name;
if(name.charAt(0) === "$") {
if(name.charAt(1) === "$") {
// Double $$ is changed to a single $
name = name.substr(1);
} else {
// Single dollar is ignored
return;
}
}
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],$tw.utils.extend({},attribute,{name: name}));
});
// Apply attributes in $names/$values
this.attributeNames = [];
this.attributeValues = [];
if(this.genesisNames && this.genesisValues) {
this.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);
this.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);
$tw.utils.each(this.attributeNames,function(varname,index) {
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || "");
});
}
// Construct the child widgets
this.makeChildWidgets(parseTreeNodes);
};
/*
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
*/
GenesisWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes(),
filterNames = this.getAttribute("$names",""),
filterValues = this.getAttribute("$values",""),
attributeNames = this.wiki.filterTiddlers(filterNames,this),
attributeValues = this.wiki.filterTiddlers(filterValues,this);
if($tw.utils.count(changedAttributes) > 0 || !$tw.utils.isArrayEqual(this.attributeNames,attributeNames) || !$tw.utils.isArrayEqual(this.attributeValues,attributeValues)) {
this.refreshSelf();
return true;
} else {
return this.refreshChildren(changedTiddlers);
}
};
exports.genesis = GenesisWidget;
})();

View File

@@ -39,10 +39,7 @@ Compute the internal state of the widget
ImportVariablesWidget.prototype.execute = function(tiddlerList) { ImportVariablesWidget.prototype.execute = function(tiddlerList) {
var widgetPointer = this; var widgetPointer = this;
// Got to flush all the accumulated variables // Got to flush all the accumulated variables
this.variables = Object.create(null); this.variables = new this.variablesConstructor();
if(this.parentWidget) {
Object.setPrototypeOf(this.variables,this.parentWidget.variables);
}
// Get our parameters // Get our parameters
this.filter = this.getAttribute("filter"); this.filter = this.getAttribute("filter");
// Compute the filter // Compute the filter

View File

@@ -53,10 +53,6 @@ KeyboardWidget.prototype.render = function(parent,nextSibling) {
}; };
KeyboardWidget.prototype.handleChangeEvent = function(event) { KeyboardWidget.prototype.handleChangeEvent = function(event) {
if ($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {
return true;
}
var keyInfo = $tw.keyboardManager.getMatchingKeyDescriptor(event,this.keyInfoArray); var keyInfo = $tw.keyboardManager.getMatchingKeyDescriptor(event,this.keyInfoArray);
if(keyInfo) { if(keyInfo) {
var handled = this.invokeActions(this,event); var handled = this.invokeActions(this,event);

View File

@@ -51,9 +51,11 @@ LetWidget.prototype.computeAttributes = function() {
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) { $tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {
var value = self.computeAttribute(attribute), var value = self.computeAttribute(attribute),
name = attribute.name; name = attribute.name;
// Now that it's prepped, we're allowed to look this variable up if(name.charAt(0) !== "$") {
// when defining later variables // Now that it's prepped, we're allowed to look this variable up
self.currentValueFor[name] = value; // when defining later variables
self.currentValueFor[name] = value;
}
}); });
// Run through again, setting variables and looking for differences // Run through again, setting variables and looking for differences
$tw.utils.each(this.currentValueFor,function(value,name) { $tw.utils.each(this.currentValueFor,function(value,name) {

View File

@@ -175,11 +175,6 @@ SelectWidget.prototype.refresh = function(changedTiddlers) {
return true; return true;
// If the target tiddler value has changed, just update setting and refresh the children // If the target tiddler value has changed, just update setting and refresh the children
} else { } else {
if(changedAttributes.class) {
this.selectClass = this.getAttribute("class");
this.getSelectDomNode().setAttribute("class",this.selectClass);
}
var childrenRefreshed = this.refreshChildren(changedTiddlers); var childrenRefreshed = this.refreshChildren(changedTiddlers);
if(changedTiddlers[this.selectTitle] || childrenRefreshed) { if(changedTiddlers[this.selectTitle] || childrenRefreshed) {
this.setSelectValue(); this.setSelectValue();

View File

@@ -70,9 +70,11 @@ TranscludeWidget.prototype.execute = function() {
// Check for recursion // Check for recursion
if(parser) { if(parser) {
if(this.parentWidget && this.parentWidget.hasVariable("transclusion",recursionMarker)) { if(this.parentWidget && this.parentWidget.hasVariable("transclusion",recursionMarker)) {
parseTreeNodes = [{type: "error", attributes: { parseTreeNodes = [{type: "element", tag: "span", attributes: {
"$message": {type: "string", value: $tw.language.getString("Error/RecursiveTransclusion")} "class": {type: "string", value: "tc-error"}
}}]; }, children: [
{type: "text", text: $tw.language.getString("Error/RecursiveTransclusion")}
]}];
} }
} }
// Construct the child widgets // Construct the child widgets

View File

@@ -12,9 +12,6 @@ Widget base class
/*global $tw: false */ /*global $tw: false */
"use strict"; "use strict";
/* Maximum permitted depth of the widget tree for recursion detection */
var MAX_WIDGET_TREE_DEPTH = 1000;
/* /*
Create a widget object for a parse tree node Create a widget object for a parse tree node
parseTreeNode: reference to the parse tree node to be rendered parseTreeNode: reference to the parse tree node to be rendered
@@ -41,10 +38,9 @@ Widget.prototype.initialise = function(parseTreeNode,options) {
this.parseTreeNode = parseTreeNode; this.parseTreeNode = parseTreeNode;
this.wiki = options.wiki; this.wiki = options.wiki;
this.parentWidget = options.parentWidget; this.parentWidget = options.parentWidget;
this.variables = Object.create(null); this.variablesConstructor = function() {};
if(this.parentWidget) { this.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};
Object.setPrototypeOf(this.variables,this.parentWidget.variables); this.variables = new this.variablesConstructor();
}
this.document = options.document; this.document = options.document;
this.attributes = {}; this.attributes = {};
this.children = []; this.children = [];
@@ -361,20 +357,6 @@ Widget.prototype.assignAttributes = function(domNode,options) {
} }
}; };
/*
Get the number of ancestor widgets for this widget
*/
Widget.prototype.getAncestorCount = function() {
if(this.ancestorCount === undefined) {
if(this.parentWidget) {
this.ancestorCount = this.parentWidget.getAncestorCount() + 1;
} else {
this.ancestorCount = 0;
}
}
return this.ancestorCount;
};
/* /*
Make child widgets correspondng to specified parseTreeNodes Make child widgets correspondng to specified parseTreeNodes
*/ */
@@ -382,29 +364,21 @@ Widget.prototype.makeChildWidgets = function(parseTreeNodes,options) {
options = options || {}; options = options || {};
this.children = []; this.children = [];
var self = this; var self = this;
// Check for too much recursion // Create set variable widgets for each variable
if(this.getAncestorCount() > MAX_WIDGET_TREE_DEPTH) { $tw.utils.each(options.variables,function(value,name) {
this.children.push(this.makeChildWidget({type: "error", attributes: { var setVariableWidget = {
"$message": {type: "string", value: $tw.language.getString("Error/RecursiveTransclusion")} type: "set",
}})); attributes: {
} else { name: {type: "string", value: name},
// Create set variable widgets for each variable value: {type: "string", value: value}
$tw.utils.each(options.variables,function(value,name) { },
var setVariableWidget = { children: parseTreeNodes
type: "set", };
attributes: { parseTreeNodes = [setVariableWidget];
name: {type: "string", value: name}, });
value: {type: "string", value: value} $tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {
}, self.children.push(self.makeChildWidget(childNode));
children: parseTreeNodes });
};
parseTreeNodes = [setVariableWidget];
});
// Create the child widgets
$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {
self.children.push(self.makeChildWidget(childNode));
});
}
}; };
/* /*

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee external-link-foreground: #0000ee
foreground: #333333 foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000
message-background: #ecf2ff message-background: #ecf2ff
message-border: #cfd6e6 message-border: #cfd6e6
message-foreground: #547599 message-foreground: #547599

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee external-link-foreground: #0000ee
foreground: #333353 foreground: #333353
highlight-background: #ffff00
highlight-foreground: #000000
message-background: #ecf2ff message-background: #ecf2ff
message-border: #cfd6e6 message-border: #cfd6e6
message-foreground: #547599 message-foreground: #547599

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee external-link-foreground: #0000ee
foreground: #333333 foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000
message-background: #ecf2ff message-background: #ecf2ff
message-border: #cfd6e6 message-border: #cfd6e6
message-foreground: #547599 message-foreground: #547599

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #00a external-link-foreground-visited: #00a
external-link-foreground: #00e external-link-foreground: #00e
foreground: #000 foreground: #000
highlight-background: #ffff00
highlight-foreground: #000000
message-background: <<colour foreground>> message-background: <<colour foreground>>
message-border: <<colour background>> message-border: <<colour background>>
message-foreground: <<colour background>> message-foreground: <<colour background>>

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #00a external-link-foreground-visited: #00a
external-link-foreground: #00e external-link-foreground: #00e
foreground: #fff foreground: #fff
highlight-background: #ffff00
highlight-foreground: #000000
message-background: <<colour foreground>> message-background: <<colour foreground>>
message-border: <<colour background>> message-border: <<colour background>>
message-foreground: <<colour background>> message-foreground: <<colour background>>

View File

@@ -32,8 +32,6 @@ external-link-foreground-hover:
external-link-foreground-visited: #BF5AF2 external-link-foreground-visited: #BF5AF2
external-link-foreground: #32D74B external-link-foreground: #32D74B
foreground: #FFFFFF foreground: #FFFFFF
highlight-background: #ffff78
highlight-foreground: #000000
menubar-background: #464646 menubar-background: #464646
menubar-foreground: #ffffff menubar-foreground: #ffffff
message-background: <<colour background>> message-background: <<colour background>>

View File

@@ -36,8 +36,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee external-link-foreground: #0000ee
foreground: #333333 foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000
message-background: #ecf2ff message-background: #ecf2ff
message-border: #cfd6e6 message-border: #cfd6e6
message-foreground: #547599 message-foreground: #547599

View File

@@ -40,8 +40,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #313163 external-link-foreground-visited: #313163
external-link-foreground: #555592 external-link-foreground: #555592
foreground: #2D2A23 foreground: #2D2A23
highlight-background: #ffff00
highlight-foreground: #000000
menubar-background: #CDC2A6 menubar-background: #CDC2A6
menubar-foreground: #5A5446 menubar-foreground: #5A5446
message-background: #ECE5CF message-background: #ECE5CF

View File

@@ -41,8 +41,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #d3869b external-link-foreground-visited: #d3869b
external-link-foreground: #8ec07c external-link-foreground: #8ec07c
foreground: #fbf1c7 foreground: #fbf1c7
highlight-background: #ffff79
highlight-foreground: #000000
menubar-background: #504945 menubar-background: #504945
menubar-foreground: <<colour foreground>> menubar-foreground: <<colour foreground>>
message-background: #83a598 message-background: #83a598

View File

@@ -41,8 +41,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #5E81AC external-link-foreground-visited: #5E81AC
external-link-foreground: #8FBCBB external-link-foreground: #8FBCBB
foreground: #d8dee9 foreground: #d8dee9
highlight-background: #ffff78
highlight-foreground: #000000
menubar-background: #2E3440 menubar-background: #2E3440
menubar-foreground: #d8dee9 menubar-foreground: #d8dee9
message-background: #2E3440 message-background: #2E3440

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee external-link-foreground: #0000ee
foreground: #333333 foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000
message-background: #ecf2ff message-background: #ecf2ff
message-border: #cfd6e6 message-border: #cfd6e6
message-foreground: #547599 message-foreground: #547599

View File

@@ -131,8 +131,6 @@ external-link-background-hover: inherit
external-link-background-visited: inherit external-link-background-visited: inherit
external-link-background: inherit external-link-background: inherit
external-link-foreground-hover: inherit external-link-foreground-hover: inherit
highlight-background: #ffff00
highlight-foreground: #000000
message-border: #cfd6e6 message-border: #cfd6e6
modal-border: #999999 modal-border: #999999
select-tag-background: select-tag-background:

View File

@@ -35,8 +35,6 @@ external-link-foreground: #268bd2
external-link-foreground-hover: external-link-foreground-hover:
external-link-foreground-visited: #268bd2 external-link-foreground-visited: #268bd2
foreground: #839496 foreground: #839496
highlight-background: #ffff78
highlight-foreground: #000000
message-background: #002b36 message-background: #002b36
message-border: #586e75 message-border: #586e75
message-foreground: #839496 message-foreground: #839496

View File

@@ -35,8 +35,6 @@ external-link-foreground: #268bd2
external-link-foreground-hover: inherit external-link-foreground-hover: inherit
external-link-foreground-visited: #268bd2 external-link-foreground-visited: #268bd2
foreground: #657b83 foreground: #657b83
highlight-background: #ffff00
highlight-foreground: #000000
message-background: #fdf6e3 message-background: #fdf6e3
message-border: #93a1a1 message-border: #93a1a1
message-foreground: #657b83 message-foreground: #657b83

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover:
external-link-foreground-visited: external-link-foreground-visited:
external-link-foreground: external-link-foreground:
foreground: rgba(0, 0, 0, 0.87) foreground: rgba(0, 0, 0, 0.87)
highlight-background: #ffff00
highlight-foreground: #000000
message-background: <<colour background>> message-background: <<colour background>>
message-border: <<colour very-muted-foreground>> message-border: <<colour very-muted-foreground>>
message-foreground: rgba(0, 0, 0, 0.54) message-foreground: rgba(0, 0, 0, 0.54)

View File

@@ -34,8 +34,6 @@ external-link-foreground-hover:
external-link-foreground-visited: #7c318c external-link-foreground-visited: #7c318c
external-link-foreground: #9e3eb3 external-link-foreground: #9e3eb3
foreground: rgba(255, 255, 255, 0.7) foreground: rgba(255, 255, 255, 0.7)
highlight-background: #ffff78
highlight-foreground: #000000
message-background: <<colour background>> message-background: <<colour background>>
message-border: <<colour very-muted-foreground>> message-border: <<colour very-muted-foreground>>
message-foreground: rgba(255, 255, 255, 0.54) message-foreground: rgba(255, 255, 255, 0.54)

View File

@@ -43,8 +43,6 @@ external-link-foreground: rgb(179, 179, 255)
external-link-foreground-hover: inherit external-link-foreground-hover: inherit
external-link-foreground-visited: rgb(153, 153, 255) external-link-foreground-visited: rgb(153, 153, 255)
foreground: rgb(179, 179, 179) foreground: rgb(179, 179, 179)
highlight-background: #ffff78
highlight-foreground: #000000
message-background: <<colour tag-foreground>> message-background: <<colour tag-foreground>>
message-border: #96ccff message-border: #96ccff
message-foreground: <<colour tag-background>> message-foreground: <<colour tag-background>>

View File

@@ -42,8 +42,6 @@ external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee external-link-foreground: #0000ee
foreground: #333333 foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000
message-background: #ecf2ff message-background: #ecf2ff
message-border: #cfd6e6 message-border: #cfd6e6
message-foreground: #547599 message-foreground: #547599

View File

@@ -18,7 +18,7 @@ tc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$
<$navigator story="$:/StoryList" history="$:/HistoryList"> <$navigator story="$:/StoryList" history="$:/HistoryList">
<$transclude tiddler="$:/core/ui/ViewTemplate/body" mode="block"/> <$transclude mode="block"/>
</$navigator> </$navigator>

View File

@@ -2,5 +2,11 @@ title: $:/core/ui/Actions/new-image
tags: $:/tags/Actions tags: $:/tags/Actions
description: create a new image tiddler description: create a new image tiddler
\define get-type()
image/$(imageType)$
\end
\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
\whitespace trim \whitespace trim
<$action-sendmessage $message="tm-new-tiddler" type={{{ [{$:/config/NewImageType}addprefix[image/]] }}}/> <$vars imageType={{$:/config/NewImageType}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}}>
<$action-sendmessage $message="tm-new-tiddler" type=<<get-type>> tags=<<get-tags>>/>
</$vars>

View File

@@ -5,6 +5,6 @@ caption: {{$:/language/EditTemplate/Body/Preview/Type/Output}}
\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!has[draft.of]] \import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!has[draft.of]]
<$set name="tv-tiddler-preview" value="yes"> <$set name="tv-tiddler-preview" value="yes">
<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} /> <$transclude />
</$set> </$set>

View File

@@ -0,0 +1,33 @@
created: 20160504080001125
modified: 20160504080318928
title: $:/core/ui/TagTemplate
type: text/vnd.tiddlywiki
\define tag-styles()
background-color:$(backgroundColor)$;
fill:$(foregroundColor)$;
color:$(foregroundColor)$;
\end
\define tag-body-inner(colour,fallbackTarget,colourA,colourB)
<$set name="foregroundColor" value=<<contrastcolour target:"""$colour$""" fallbackTarget:"""$fallbackTarget$""" colourA:"""$colourA$""" colourB:"""$colourB$""">>>
<$set name="backgroundColor" value="""$colour$""">
<$button popup=<<qualify "$:/state/popup/tag">> class="tc-btn-invisible tc-tag-label" style=<<tag-styles>>>
<$transclude tiddler={{!!icon}}/> <$view field="fr-title"><$view field="title" format="text" /></$view>
</$button>
<$reveal state=<<qualify "$:/state/popup/tag">> type="popup" position="below" animate="yes"><div class="tc-drop-down"><$transclude tiddler="$:/core/ui/ListItemTemplate"/>
<hr>
<$list filter="[all[current]tagging[]]" template="$:/core/ui/ListItemTemplate"/>
</div>
</$reveal>
</$set>
</$set>
\end
\define tag-body(colour,palette)
<span class="tc-tag-list-item">
<$macrocall $name="tag-body-inner" colour="""$colour$""" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>
</span>
\end
<$macrocall $name="tag-body" colour={{!!color}} palette={{$:/palette}}/>

View File

@@ -117,7 +117,7 @@ C'est un exemple de tiddler. Voir [[Macros Table des matières (Exemples)|Table-
<table class="doc-bad-example"> <table class="doc-bad-example">
<tbody> <tbody>
<tr class="evenRow"> <tr class="evenRow">
<td><span style="font-size:1.5em;">&#9888;</span> Attention&nbsp;:<br> Ne faites pas comme ça !</td> <td><span class="tc-inline-style" style="font-size:1.5em;">&#9888;</span> Attention&nbsp;:<br> Ne faites pas comme ça !</td>
<td> <td>
$eg$ $eg$

View File

@@ -1,113 +0,0 @@
created: 20220830224607117
modified: 20220830224638865
tags: $:/tags/Macro
title: $:/core/macros/list
\define list-links(filter,type:"ul",subtype:"li",class:"",emptyMessage)
\whitespace trim
<$type$ class="$class$">
<$list filter="$filter$" emptyMessage=<<__emptyMessage__>>>
<$subtype$>
<$link to={{!!title}}>
<$let tv-wikilinks="no">
<$transclude field="caption">
<$view field="title"/>
</$transclude>
</$let>
</$link>
</$subtype$>
</$list>
</$type$>
\end
\define list-links-draggable-drop-actions()
<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter="+[insertbefore<actionTiddler>,<currentTiddler>]"/>
\end
\define list-links-draggable(tiddler,field:"list",emptyMessage,type:"ul",subtype:"li",class:"",itemTemplate)
\whitespace trim
<span class="tc-links-draggable-list">
<$vars targetTiddler="""$tiddler$""" targetField="""$field$""">
<$type$ class="$class$">
<$list filter="[list[$tiddler$!!$field$]]" emptyMessage=<<__emptyMessage__>>>
<$droppable actions=<<list-links-draggable-drop-actions>> tag="""$subtype$""" enable=<<tv-enable-drag-and-drop>>>
<div class="tc-droppable-placeholder"/>
<div>
<$transclude tiddler="""$itemTemplate$""">
<$link to={{!!title}}>
<$let tv-wikilinks="no">
<$transclude field="caption">
<$view field="title"/>
</$transclude>
</$let>
</$link>
</$transclude>
</div>
</$droppable>
</$list>
<$tiddler tiddler="">
<$droppable actions=<<list-links-draggable-drop-actions>> tag="div" enable=<<tv-enable-drag-and-drop>>>
<div class="tc-droppable-placeholder">
{{$:/core/images/blank}}
</div>
<div style="height:0.5em;"/>
</$droppable>
</$tiddler>
</$type$>
</$vars>
</span>
\end
\define list-tagged-draggable-drop-actions(tag)
\whitespace trim
<!-- Save the current ordering of the tiddlers with this tag -->
<$set name="order" filter="[<__tag__>tagging[]]">
<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->
<$list filter="[<__tag__>tagging[]]">
<$action-deletefield $field="list-before"/>
<$action-deletefield $field="list-after"/>
</$list>
<!-- Save the new order to the Tag Tiddler -->
<$action-listops $tiddler=<<__tag__>> $field="list" $filter="+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]"/>
<!-- Make sure the newly added item has the right tag -->
<!-- Removing this line makes dragging tags within the dropdown work as intended -->
<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->
<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->
<$list filter="[<actionTiddler>!contains:tags<__tag__>]">
<$fieldmangler tiddler=<<actionTiddler>>>
<$action-sendmessage $message="tm-add-tag" $param=<<__tag__>>/>
</$fieldmangler>
</$list>
</$set>
\end
\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:"div",storyview:"")
\whitespace trim
<span class="tc-tagged-draggable-list">
<$set name="tag" value=<<__tag__>>>
<$list filter="[<__tag__>tagging[]$subFilter$]" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>
<$elementTag$ class="tc-menu-list-item">
<$droppable actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>""" enable=<<tv-enable-drag-and-drop>>>
<$elementTag$ class="tc-droppable-placeholder"/>
<$elementTag$>
<$transclude tiddler="""$itemTemplate$""">
<$link to={{!!title}}>
<$view field="fr-title">
<$view field="title"/>
</$view>
</$link>
</$transclude>
</$elementTag$>
</$droppable>
</$elementTag$>
</$list>
<$tiddler tiddler="">
<$droppable actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>""" enable=<<tv-enable-drag-and-drop>>>
<$elementTag$ class="tc-droppable-placeholder"/>
<$elementTag$ style="height:0.5em;">
</$elementTag$>
</$droppable>
</$tiddler>
</$set>
</span>
\end

View File

@@ -1,39 +0,0 @@
created: 20220830190922373
modified: 20220830191056761
tags: $:/tags/Macro
title: $:/core/macros/tag
\define tag-pill-styles()
background-color:$(backgroundColor)$;
fill:$(foregroundColor)$;
color:$(foregroundColor)$;
\end
<!-- This has no whitespace trim to avoid modifying $actions$. Closing tags omitted for brevity. -->
\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)
<$vars
foregroundColor=<<contrastcolour target:"""$colour$""" fallbackTarget:"""$fallbackTarget$""" colourA:"""$colourA$""" colourB:"""$colourB$""">>
backgroundColor="""$colour$"""
><$element-tag$
$element-attributes$
class="tc-tag-label tc-btn-invisible"
style=<<tag-pill-styles>>
>$actions$<$transclude tiddler="""$icon$"""/><$view tiddler=<<__tag__>> field="fr-title" format="text"><$view tiddler=<<__tag__>> field="title" format="text" /></$view></$element-tag$>
\end
\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)
<$macrocall $name="tag-pill-inner" tag=<<__tag__>> icon="""$icon$""" colour="""$colour$""" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag="""$element-tag$""" element-attributes="""$element-attributes$""" actions="""$actions$"""/>
\end
\define tag-pill(tag,element-tag:"span",element-attributes:"",actions:"")
\whitespace trim
<span class="tc-tag-list-item" data-tag-title=<<__tag__>>>
<$let currentTiddler=<<__tag__>>>
<$macrocall $name="tag-pill-body" tag=<<__tag__>> icon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}} colour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}} palette={{$:/palette}} element-tag="""$element-tag$""" element-attributes="""$element-attributes$""" actions="""$actions$"""/>
</$let>
</span>
\end
\define tag(tag)
{{$tag$||$:/core/ui/TagTemplate}}
\end

View File

@@ -1,25 +0,0 @@
created: 20220830194301860
modified: 20220830194658750
title: $:/core/ui/TagPickerTagTemplate
\whitespace trim
<$button class=<<button-classes>> tag="a" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>
<$list filter="[<saveTiddler>minlength[1]]">
<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter="[<tag>]"/>
</$list>
<$set name="currentTiddlerCSSEscaped" value={{{ [<saveTiddler>escapecss[]] }}}>
<$action-sendmessage $message="tm-focus-selector" $param=<<get-tagpicker-focus-selector>> preventScroll="true"/>
</$set>
<<delete-tag-state-tiddlers>>
<$list filter="[<refreshTitle>minlength[1]]">
<$action-setfield $tiddler=<<refreshTitle>> text="yes"/>
</$list>
<<actions>>
<$set name="backgroundColor" value={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>
<$wikify name="foregroundColor" text="""<$macrocall $name="contrastcolour" target=<<backgroundColor>> fallbackTarget=<<fallbackTarget>> colourA=<<colourA>> colourB=<<colourB>>/>""">
<span class="tc-tag-label tc-btn-invisible" style=<<tag-pill-styles>>>
{{||$:/core/ui/TiddlerIcon}}<$view field="fr-title" format="text"><$view field="title" format="text"/></$view>
</span>
</$wikify>
</$set>
</$button>

View File

@@ -1,6 +1,6 @@
caption: 5.2.4 caption: 5.2.4
created: 20221017165036377 created: 20220802100223020
modified: 20221017165036377 modified: 20220802100223020
tags: ReleaseNotes tags: ReleaseNotes
title: Release 5.2.4 title: Release 5.2.4
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@@ -11,19 +11,9 @@ type: text/vnd.tiddlywiki
* *
! Translation improvement ! Translation improvements
Improvements to the following translations: *
* Chinese
* Polish
* Spanish
* Japanese
Improvements to the translation features of TiddlyWiki:
* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/6882">> the [[Translators Edition|Translate TiddlyWiki into your language]] to add an option to display the original English text underneath the text area
* <<.link-badge-updated "https://github.com/Jermolene/TiddlyWiki5/pull/6933">> "delete" button text in $:/AdvancedSearch so that it is translatable
! Accessibility Improvements ! Accessibility Improvements
@@ -31,17 +21,11 @@ Improvements to the translation features of TiddlyWiki:
! Usability Improvements ! Usability Improvements
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/d62a16ee464fb9984b766b48504829a1a3eb143b">> problem with long presses on tiddler links triggering a preview on iOS/iPadOS *
* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/6910">> consistency of button and input elements across browsers
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/d825f1c875f5e46158c9c41c8c66471138c162d1">> edit preview to use the [[View Template Body Cascade]]
* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/6970">> detection of infinite recursion errors in widgets and filters
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/36896c3db8c9678c0385a561996248a6f00a45ff">> opening a tiddler in a new window to use the [[View Template Body Cascade]]
* <<.link-badge-extended "https://github.com/Jermolene/TiddlyWiki5/pull/6877">> default styles for [[styled runs|Styles and Classes in WikiText]]
! Widget Improvements ! Widget Improvements
* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/6961">> new GenesisWidget that allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance *
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/127f660c91020dcbb43897d954066b31af729e74">> EditTextWidget to remove the default text "Type the text for the tiddler 'foo'"
! Filter improvements ! Filter improvements
@@ -49,17 +33,11 @@ Improvements to the translation features of TiddlyWiki:
! Hackability Improvements ! Hackability Improvements
* <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/6936">> new operators for reading and formatting JSON data: [[jsonget Operator]], [[jsonindexes Operator]], [[jsontype Operator]] and [[format Operator]] *
* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/commit/c5d3d4c26e8fe27f272dda004aec27d6b66c4f60">> safe mode to disable wiki store indexers
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/166a1565843878083fb1eba47c73b8e67b78400d">> safe mode to prevent globally disabling parser rules
* <<.link-badge-removed "https://github.com/Jermolene/TiddlyWiki5/commit/1df4c29d73073788ba3859668112e8bb46171a6c">> restriction of the LetWidget being unable to create variables whose names begin with a dollar sign
* <<.link-badge-extended "https://github.com/Jermolene/TiddlyWiki5/pull/6735">> keyboard shortcut handling to allow to global shortcuts to override all other shortcuts
! Bug Fixes ! Bug Fixes
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/fb34df84ed41882c1c2a6ff54f0e908b43ef95a3">> "new image" keyboard shortcut not to assign journal tags *
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/6987">> SelectWidget class to update if it uses a filter
! Developer Improvements ! Developer Improvements
@@ -67,29 +45,15 @@ Improvements to the translation features of TiddlyWiki:
! Node.js Improvements ! Node.js Improvements
* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/6947">> console logging to avoid spaces and `<empty string>` message *
! Performance Improvements ! Performance Improvements
* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/commit/53d229592df76c6dd607e40be5bea4d5e063c48e">> performance of `wiki.getTiddler()` *
* <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/commit/81ac9874846b3ead275f67010fcfdb49f3d2f43c">> performance of variable prototype chain handling
! Acknowledgements ! Acknowledgements
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: [[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
<<.contributors """ <<.contributors """
bestony
BramChen
flibbles
fu-sen
Marxsal
oflg
pmario
rmunn
roma0104
tw-FRed
twMat
xcazin
""">> """>>

View File

@@ -1,15 +0,0 @@
title: Filters/Recursion
description: Filter recursion detection
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
\define myfilter() [subfilter<myfilter>]
<$text text={{{ [subfilter<myfilter>] }}}/>
+
title: ExpectedResult
<p>/**-- Excessive filter recursion --**/</p>

View File

@@ -1,27 +0,0 @@
title: Filters/FakeVariables
description: Test for https://github.com/Jermolene/TiddlyWiki5/issues/6303
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
<$list variable="var" filter="[[existing variable should have output]] :filter[[..currentTiddler]is[variable]]">
<p><<var>></p>
</$list>
<$list variable="var" filter="[[non-existing variable should not have output]] :filter[[nonExistingVariable]is[variable]]">
<p><<var>></p>
</$list>
<$list variable="var" filter="[[existing variable negated should not have output]] :filter[[..currentTiddler]!is[variable]]">
<p><<var>></p>
</$list>
<$list variable="var" filter="[[non-existing variable negated should have output]] :filter[[nonExistingVariable]!is[variable]]">
<p><<var>></p>
</$list>
+
title: ExpectedResult
<p><p>existing variable should have output</p></p><p></p><p></p><p><p>non-existing variable negated should have output</p></p>

View File

@@ -1,14 +0,0 @@
title: Genesis/DollarSigns
description: Usage of genesis widget with attributes starting with dollar signs
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
<$genesis $type="$let" myvar="Kitten">(<$text text=<<myvar>>/>)</$genesis>
<$genesis $type="$let" $$myvar="Kitten">(<$text text=<<$myvar>>/>)</$genesis>
+
title: ExpectedResult
<p>(Kitten)(Kitten)</p>

View File

@@ -1,14 +0,0 @@
title: Genesis/MultipleAttributes
description: Usage of genesis widget with multiple attributes
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
<$genesis $type="$let" $names="myvar other" $values="Kitten Donkey" myvar={{{ Shark }}}>(<$text text=<<myvar>>/>|<$text text=<<other>>/>)</$genesis>
<$genesis $type="$let" $names="$myvar $other" $values="Kitten Donkey" $$myvar="Shark">(<$text text=<<$myvar>>/>|<$text text=<<$other>>/>)</$genesis>
+
title: ExpectedResult
<p>(Kitten|Donkey)(Kitten|Donkey)</p>

View File

@@ -1,14 +0,0 @@
title: Genesis/Simple
description: Simple usage of genesis widget
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
<$genesis $type="div">Mouse</$genesis>
<$genesis $type="div" class="tc-thing" label="Squeak">Mouse</$genesis>
+
title: ExpectedResult
<p><div>Mouse</div><div class="tc-thing" label="Squeak">Mouse</div></p>

View File

@@ -1,36 +0,0 @@
title: Macros/NestedMacros
description: Nested Macros
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
\define outer()
\whitespace trim
\define middle()
\whitespace trim
\define inner()
\whitespace trim
Jaguar
\end inner
<<inner>>
\end middle
<<middle>>
\end outer
<<outer>>
+
title: ExpectedResult
<p>Jaguar</p>

View File

@@ -1,13 +0,0 @@
title: Transclude/Recursion
description: Transclusion recursion detection
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\whitespace trim
<$transclude $tiddler="Output"/>
+
title: ExpectedResult
<p><span class="tc-error">Recursive transclusion error in transclude widget</span></p>

View File

@@ -234,38 +234,6 @@ Tests the checkbox widget thoroughly.
}, },
]; ];
// https://github.com/Jermolene/TiddlyWiki5/issues/6871
const listModeTestsWithListField = (
listModeTests
.filter(data => data.widgetText.includes("listField='colors'"))
.map(data => {
const newData = {
...data,
tiddlers: data.tiddlers.map(tiddler => ({...tiddler, list: tiddler.colors, colors: undefined})),
widgetText: data.widgetText.replace("listField='colors'", "listField='list'"),
expectedChange: {
"Colors": { list: data.expectedChange.Colors.colors.split(' ') }
},
}
return newData;
})
);
const listModeTestsWithTagsField = (
listModeTests
.filter(data => data.widgetText.includes("listField='colors'"))
.map(data => {
const newData = {
...data,
tiddlers: data.tiddlers.map(tiddler => ({...tiddler, tags: tiddler.colors, colors: undefined})),
widgetText: data.widgetText.replace("listField='colors'", "listField='tags'"),
expectedChange: {
"Colors": { tags: data.expectedChange.Colors.colors.split(' ') }
},
}
return newData;
})
);
const indexListModeTests = listModeTests.map(data => { const indexListModeTests = listModeTests.map(data => {
const newData = {...data}; const newData = {...data};
const newName = data.testName.replace('list mode', 'index list mode'); const newName = data.testName.replace('list mode', 'index list mode');
@@ -485,8 +453,6 @@ Tests the checkbox widget thoroughly.
const checkboxTestData = fieldModeTests.concat( const checkboxTestData = fieldModeTests.concat(
indexModeTests, indexModeTests,
listModeTests, listModeTests,
listModeTestsWithListField,
listModeTestsWithTagsField,
indexListModeTests, indexListModeTests,
filterModeTests, filterModeTests,
); );
@@ -529,7 +495,7 @@ Tests the checkbox widget thoroughly.
for (const fieldName of Object.keys(change)) { for (const fieldName of Object.keys(change)) {
const expectedValue = change[fieldName]; const expectedValue = change[fieldName];
const fieldValue = tiddler.fields[fieldName]; const fieldValue = tiddler.fields[fieldName];
expect(fieldValue).toEqual(expectedValue); expect(fieldValue).toBe(expectedValue);
} }
} }
}) })

View File

@@ -63,22 +63,6 @@ describe("WikiText tests", function() {
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","@@color:red;\n<div>\n\nContent</div>\n@@")).toBe("<div style=\"color:red;\"><p>Content</p></div>"); expect(wiki.renderText("text/html","text/vnd-tiddlywiki","@@color:red;\n<div>\n\nContent</div>\n@@")).toBe("<div style=\"color:red;\"><p>Content</p></div>");
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","@@color:red;\n---\n@@")).toBe("<hr style=\"color:red;\">"); expect(wiki.renderText("text/html","text/vnd-tiddlywiki","@@color:red;\n---\n@@")).toBe("<hr style=\"color:red;\">");
}); });
it("handles inline style wikitext notation", function() {
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
"some @@highlighted@@ text")).toBe('<p>some <span class="tc-inline-style">highlighted</span> text</p>');
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
"some @@color:green;.tc-inline-style 1 style and 1 class@@ text")).toBe('<p>some <span class=" tc-inline-style " style="color:green;">1 style and 1 class</span> text</p>');
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
"some @@background-color:red;red@@ text")).toBe('<p>some <span style="background-color:red;">red</span> text</p>');
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
"some @@.myClass class@@ text")).toBe('<p>some <span class=" myClass ">class</span> text</p>');
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
"some @@.myClass.secondClass 2 classes@@ text")).toBe('<p>some <span class=" myClass secondClass ">2 classes</span> text</p>');
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
"some @@background:red;.myClass style and class@@ text")).toBe('<p>some <span class=" myClass " style="background:red;">style and class</span> text</p>');
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
"some @@background:red;color:white;.myClass 2 style and 1 class@@ text")).toBe('<p>some <span class=" myClass " style="background:red;color:white;">2 style and 1 class</span> text</p>');
});
}); });
})(); })();

View File

@@ -1,5 +1,5 @@
created: 20220721200137586 created: 20220721200137586
modified: 20220819200137586 modified: 20220721200137586
tags: [[Table of Contents]] tags: [[Table of Contents]]
title: Code of Conduct title: Code of Conduct
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@@ -17,7 +17,6 @@ These principles guide technical and non-technical decisions, and help contribut
* We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and ''thank the people who enrich the community by sharing what they have created'' * We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and ''thank the people who enrich the community by sharing what they have created''
* While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and ''avoid unnecessarily mixing contentious topics like religion and politics'' * While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and ''avoid unnecessarily mixing contentious topics like religion and politics''
* We treat each other with respect, and start with the assumption that ''others are acting in good faith'' * We treat each other with respect, and start with the assumption that ''others are acting in good faith''
* We avoid discriminatory language
* We try to use our strength as a community to help others * We try to use our strength as a community to help others
* We avoid responding when angry or upset because we try to de-escalate conflict * We avoid responding when angry or upset because we try to de-escalate conflict
* We make sure we critique ideas, not people * We make sure we critique ideas, not people
@@ -28,6 +27,4 @@ These principles guide technical and non-technical decisions, and help contribut
Our discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood. Our discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood.
It is not acceptable to make jokes or other comments that discriminate by race, gender, sexuality, or other protected characteristic.
As an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities. As an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities.

View File

@@ -2,6 +2,4 @@ title: RenderTiddlerCommand
tags: Commands tags: Commands
caption: rendertiddler caption: rendertiddler
<<.deprecated-since "5.1.15" "RenderCommand">>.
{{$:/language/Help/rendertiddler}} {{$:/language/Help/rendertiddler}}

View File

@@ -2,6 +2,4 @@ title: RenderTiddlersCommand
tags: Commands tags: Commands
caption: rendertiddlers caption: rendertiddlers
<<.deprecated-since "5.1.15" "RenderCommand">>.
{{$:/language/Help/rendertiddlers}} {{$:/language/Help/rendertiddlers}}

View File

@@ -4,6 +4,4 @@ created: 20131218121606089
modified: 20131218121606089 modified: 20131218121606089
caption: savetiddler caption: savetiddler
<<.deprecated-since "5.1.15" "SaveCommand">>.
{{$:/language/Help/savetiddler}} {{$:/language/Help/savetiddler}}

View File

@@ -4,6 +4,4 @@ created: 20140609121606089
modified: 20140609121606089 modified: 20140609121606089
caption: savetiddlers caption: savetiddlers
<<.deprecated-since "5.1.15" "SaveCommand">>.
{{$:/language/Help/savetiddlers}} {{$:/language/Help/savetiddlers}}

View File

@@ -1,9 +1,9 @@
created: 20141230182901899 created: 20141230182901899
modified: 20220226205227090 modified: 20210106151027090
tags: [[Community Editions]] [[Community Plugins]] tags: [[Community Editions]] [[Community Plugins]]
title: "GSD5" by Roma Hicks title: "GSD5" by Roma Hicks
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
url: http://gsd5.tiddlyhost.com/ url: http://gsd5.tiddlyspot.com/
An adaptation of the [[TiddlyWiki powered GTD® system formerly known as MonkeyGTD|http://mgsd.tiddlyspot.com/]] for TiddlyWiki version 5. An adaptation of the [[TiddlyWiki powered GTD® system formerly known as MonkeyGTD|http://mgsd.tiddlyspot.com/]] for TiddlyWiki version 5.

View File

@@ -7,8 +7,6 @@ A ''Keyboard Shortcut Tiddler'' is made of three parts:
* The ''field'' `key` with a [[Keyboard Shortcut Descriptor]] as its ''value'' * The ''field'' `key` with a [[Keyboard Shortcut Descriptor]] as its ''value''
* Actions in its ''text'' field * Actions in its ''text'' field
<<.tip """<<.from-version "5.2.4">> By default <<.wlink KeyboardWidget>> and text editor shortcuts take priority, which can be circumvented by setting the ''field'' `priority` to `yes`.""">>
If the [[Keyboard Shortcut Descriptor]] has the form `((my-shortcut))` it's a ''reference'' to a ''configuration Tiddler'' that stores the corresponding [[Keyboard Shortcut|KeyboardShortcuts]] If the [[Keyboard Shortcut Descriptor]] has the form `((my-shortcut))` it's a ''reference'' to a ''configuration Tiddler'' that stores the corresponding [[Keyboard Shortcut|KeyboardShortcuts]]
In order to make a ''shortcut'' editable through the <<.controlpanel-tab KeyboardShortcuts>> Tab in the $:/ControlPanel it's sufficient to create a tiddler `$:/config/ShortcutInfo/my-shortcut`, where the ''suffix'' is the ''reference'' used for the [[Keyboard Shortcut|KeyboardShortcuts]] In order to make a ''shortcut'' editable through the <<.controlpanel-tab KeyboardShortcuts>> Tab in the $:/ControlPanel it's sufficient to create a tiddler `$:/config/ShortcutInfo/my-shortcut`, where the ''suffix'' is the ''reference'' used for the [[Keyboard Shortcut|KeyboardShortcuts]]

View File

@@ -1,12 +1,16 @@
created: 20131129090249275 created: 20131129090249275
modified: 20220819041016415 modified: 20200507203622933
tags: [[Working with TiddlyWiki]] tags: [[Working with TiddlyWiki]]
title: GettingStarted title: GettingStarted
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
The easiest way to use ~TiddlyWiki is to sign up for a free account with [[Tiddlyhost|https://tiddlyhost.com/]], an independently run community service. If you find Tiddlyhost useful, please consider [[donation or sponsorship|https://tiddlyhost.com/donate]]. The easiest way to use TiddlyWiki is to sign up for a free account with [[Tiddlyhost]], an independently run community service:
Click here to download an empty copy of ~TiddlyWiki: {{$:/editions/tw5.com/snippets/download-empty-button}} https://tiddlyhost.com/
If you find Tiddlyhost useful, please consider [[donation or sponsorship|https://tiddlyhost.com/donate]].
Click here to download an empty copy of TiddlyWiki: {{$:/editions/tw5.com/snippets/download-empty-button}}
The next step is to choose a method for saving changes. There's a wide variety of methods available, with different features and limitations. Click on the badge for a method to see more information about it. You can also click on one of the platform filters to restrict the listing to methods that work with that platform. The next step is to choose a method for saving changes. There's a wide variety of methods available, with different features and limitations. Click on the badge for a method to see more information about it. You can also click on one of the platform filters to restrict the listing to methods that work with that platform.

View File

@@ -1,13 +0,0 @@
created: 20220909094340097
modified: 20220909094340097
title: Hidden Setting: Sync System Tiddlers From Server
tags: [[Hidden Settings]]
<<.from-version "5.1.23">> Determines whether system tiddlers are synced from the server under Node.js. (Note that this is a one-way setting; system tiddlers are always synced //to// the server).
* `no` -- system tiddlers are not synced from the server (default)
* `yes` -- system tiddlers are synced from the server
Engaging sync of system tiddlers means that tiddlers such as $:/StoryList and $:/HistoryList get synced, which can lead to unexpected outcomes when multiple users are connected to the same server at the same time (it means that the story sequence is synced between all the users).
$:/config/SyncSystemTiddlersFromServer

View File

@@ -66,8 +66,6 @@ In the [[Keyboard Shortcuts Tab|$:/core/ui/ControlPanel/KeyboardShortcuts]] the
!! Using global Keyboard Shortcuts !! Using global Keyboard Shortcuts
> See [[Keyboard Shortcut Tiddler]] for detailed information about creating new global keyboard shortcuts.
> The actions for ''global'' keyboard shortcuts are stored in the ''text'' field of tiddlers tagged with <<tag $:/tags/KeyboardShortcut>> > The actions for ''global'' keyboard shortcuts are stored in the ''text'' field of tiddlers tagged with <<tag $:/tags/KeyboardShortcut>>
> The ''key field'' connects an action-tiddler with the corresponding shortcut through the `((my-shortcut))` syntax, called [[Keyboard Shortcut Descriptor]] > The ''key field'' connects an action-tiddler with the corresponding shortcut through the `((my-shortcut))` syntax, called [[Keyboard Shortcut Descriptor]]

View File

@@ -22,7 +22,7 @@ The new tiddler message is usually generated with the ButtonWidget or ActionSend
! Examples ! Examples
To make a button that creates new tiddlers tagged "task", create a tiddler called "~TaskTemplate" with that tag, and then make your button like this: To make a button that creates new tiddlers tagged "task", create a tiddler called "TaskTemplate" with that tag, and then make your button like this:
``` ```
<$button message="tm-new-tiddler" param="TaskTemplate">New Task</$button> <$button message="tm-new-tiddler" param="TaskTemplate">New Task</$button>

View File

@@ -1,5 +1,5 @@
created: 20140912140651119 created: 20140912140651119
modified: 20220812144516626 modified: 20220401151525812
saving-browser: Firefox Chrome Edge [[Internet Explorer]] Safari Opera [[Standalone App]] saving-browser: Firefox Chrome Edge [[Internet Explorer]] Safari Opera [[Standalone App]]
saving-os: Windows Mac Linux Android iOS saving-os: Windows Mac Linux Android iOS
tags: [[Working with TiddlyWiki]] tags: [[Working with TiddlyWiki]]
@@ -34,7 +34,7 @@ type: text/vnd.tiddlywiki
\end \end
<$vars stateTiddler=<<qualify "$:/state/gettingstarted">> > <$vars stateTiddler=<<qualify "$:/state/gettingstarted">> >
Available methods for saving changes with ~TiddlyWiki: Available methods for saving changes with TiddlyWiki:
<div class="tc-wrapper-flex"> <div class="tc-wrapper-flex">
<div class="tc-saving-sidebar"> <div class="tc-saving-sidebar">

View File

@@ -117,7 +117,7 @@ This is an example tiddler. See [[Table-of-Contents Macros (Examples)]].
<table class="doc-bad-example"> <table class="doc-bad-example">
<tbody> <tbody>
<tr class="evenRow"> <tr class="evenRow">
<td><span style="font-size:1.5em;">&#9888;</span> Warning:<br> Don't do it this way!</td> <td><span class="tc-inline-style" style="font-size:1.5em;">&#9888;</span> Warning:<br> Don't do it this way!</td>
<td> <td>
$eg$ $eg$

View File

@@ -1,6 +1,5 @@
code-body: yes
created: 20161008085627406 created: 20161008085627406
modified: 20221007122259593 modified: 20220704174221300
tags: $:/tags/Macro tags: $:/tags/Macro
title: $:/editions/tw5.com/version-macros title: $:/editions/tw5.com/version-macros
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@@ -10,5 +9,7 @@ type: text/vnd.tiddlywiki
\end \end
\define .deprecated-since(version, superseded:"TODO-Link") \define .deprecated-since(version, superseded:"TODO-Link")
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Deprecated since: <$text text=<<__version__>>/></$link> (see <$link to=<<__superseded__>>><$text text=<<__superseded__>>/></$link>) <$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Deprecated since: <$text text=<<__version__>>/></$link>. Use <$link to=<<__superseded__>>><$text text=<<__superseded__>>/></$link> instead
\end \end
<pre><$view field="text"/></pre>

View File

@@ -46,17 +46,21 @@ open the ''example edition'' in a new window
<$macrocall $name="copy-to-clipboard-above-right" src=<<__src__>>/> <$macrocall $name="copy-to-clipboard-above-right" src=<<__src__>>/>
<$codeblock code=<<__src__>>/> ```
$src$
```
That renders as: That renders as:
<$macrocall $name="__src__"/> $$$text/vnd.tiddlywiki
$src$
$$$
... and the underlying HTML is: ... and the underlying HTML is:
<$wikify name="html" text=<<__src__>> output="html"> $$$text/vnd.tiddlywiki>text/html
<$codeblock code=<<html>>/> $src$
</$wikify> $$$
</div> </div>
\end \end
@@ -65,12 +69,15 @@ That renders as:
<$macrocall $name="copy-to-clipboard-above-right" src=<<__src__>>/> <$macrocall $name="copy-to-clipboard-above-right" src=<<__src__>>/>
<$codeblock code=<<__src__>>/> ```
$src$
```
That renders as: That renders as:
<$macrocall $name="__src__"/> $$$text/vnd.tiddlywiki
$src$
$$$
</div> </div>
\end \end

View File

@@ -1,5 +1,5 @@
created: 20181002131215403 created: 20181002131215403
modified: 20220909094340097 modified: 2020031109590546
tags: [[WebServer API]] tags: [[WebServer API]]
title: WebServer API: Get All Tiddlers title: WebServer API: Get All Tiddlers
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@@ -17,8 +17,6 @@ Parameters:
In order to avoid denial of service attacks with malformed filters in the default configuration the only filter that is accepted is the default filter "[all[tiddlers]!is[system]sort[title]]"; attempts to use any other filter will result in an HTTP 403 error. In order to avoid denial of service attacks with malformed filters in the default configuration the only filter that is accepted is the default filter "[all[tiddlers]!is[system]sort[title]]"; attempts to use any other filter will result in an HTTP 403 error.
<<.note "System tiddlers will not be returned by this API unless the [[Hidden Setting: Sync System Tiddlers From Server]] is explicitly switched on by setting $:/config/SyncSystemTiddlersFromServer to `yes`">>
To enable a particular filter, create a tiddler with the title "$:/config/Server/ExternalFilters/" concatenated with the filter text, and the text field set to "yes". For example, the TiddlyWeb plugin includes the following shadow tiddler to enable the filter that it requires: To enable a particular filter, create a tiddler with the title "$:/config/Server/ExternalFilters/" concatenated with the filter text, and the text field set to "yes". For example, the TiddlyWeb plugin includes the following shadow tiddler to enable the filter that it requires:
``` ```

View File

@@ -1,17 +0,0 @@
caption: error
created: 20220909111836951
modified: 20220909111836951
tags: Widgets
title: ErrorWidget
type: text/vnd.tiddlywiki
<<.from-version "5.2.4">> The <<.wlink ErrorWidget>> widget is used by the core to display error messages such as the recursion errors reported by the <<.wlink TranscludeWidget>> widget.
The <<.wlink ErrorWidget>> does not provide any useful functionality to end users. It is only required by the core for technical reasons.
! Content and Attributes
The content of the <<.wlink ErrorWidget>> widget is ignored.
|!Attribute |!Description |
|$message |The error message |

View File

@@ -1,29 +0,0 @@
caption: genesis
created: 20220924140702430
modified: 20220924140702430
tags: Widgets
title: GenesisWidget
type: text/vnd.tiddlywiki
! Introduction
<<.from-version "5.2.4">> The <<.wlink GenesisWidget>> widget allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance.
! Content and Attributes
The content of the <<.wlink GenesisWidget>> widget is used as the content of the dynamically created widget.
|!Attribute |!Description |
|$type |The type of widget or element to create (an initial `$` indicates a widget, otherwise an HTML element will be created) |
|$names |An optional filter evaluating to the names of a list of attributes to be applied to the widget |
|$values |An optional filter evaluating to the values corresponding to the list of names specified in `$names` |
|//{other attributes starting with $}// |Other attributes starting with a single dollar sign are reserved for future use |
|//{attributes starting with $$}// |Attributes starting with two dollar signs are appplied as attributes to the output widget, but with the attribute name changed to use a single dollar sign |
|//{attributes not starting with $}// |Any other attributes that do not start with a dollar are applied as attributes to the output widget |
Note that attributes explicitly specified take precedence over attributes with the same name specified in the `$names` filter.
! Examples
<$macrocall $name='wikitext-example-without-html'
src='<$genesis $type="div" class="tc-thing" label="Squeak">Mouse</$genesis>'/>

View File

@@ -1,6 +1,5 @@
title: LetWidget title: LetWidget
created: 20211028115900000 created: 20211028115900000
modified: 20221001094658854
tags: Widgets tags: Widgets
caption: let caption: let
@@ -13,12 +12,10 @@ caption: let
The content of the <<.wid let>> widget is the scope for the value assigned to the variable. The content of the <<.wid let>> widget is the scope for the value assigned to the variable.
|!Attribute |!Description | |!Attribute |!Description |
|//{attributes}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable | |//{attributes not starting with $}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable |
Attributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate. Attributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate.
<<.note """<<.from-version "5.2.4">> There is no longer any restriction on using variable names that start with the $ character.""">>
! Examples ! Examples
Consider a case where you need to set multiple variables, where some depend on the evaluation of others. Consider a case where you need to set multiple variables, where some depend on the evaluation of others.

View File

@@ -36,7 +36,7 @@ This example requires the following CSS definitions from [[$:/_tw5.com-styles]]:
This wiki text shows how to display a list within the scrollable widget: This wiki text shows how to display a list within the scrollable widget:
<<wikitext-example-without-html "<$scrollable class='tc-scrollable-demo'> <<wikitext-example-without-html "<$scrollable class='tc-scrollable-demo'>
<$list filter='[tag[Reference]]'> <$list filter='[!is[system]]'>
<$view field='title'/>: <$list filter='[all[current]links[]sort[title]]' storyview='pop'> <$view field='title'/>: <$list filter='[all[current]links[]sort[title]]' storyview='pop'>
<$link><$view field='title'/></$link> <$link><$view field='title'/></$link>

View File

@@ -1,15 +1,13 @@
caption: Macro Definitions caption: Macro Definitions
created: 20150220181617000 created: 20150220181617000
modified: 20221022135909352 modified: 20180820165115455
tags: WikiText tags: WikiText
title: Macro Definitions in WikiText title: Macro Definitions in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
A [[macro|Macros]] is defined using a `\define` [[pragma|Pragma]]. Like any pragma, this can only appear at the start of a tiddler. A [[macro|Macros]] is defined using a `\define` [[pragma|Pragma]]. Like any pragma, this can only appear at the start of a tiddler.
The first line of the definition specifies the macro name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the macro. The first line of the definition specifies the macro name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the macro. The lines that follow contain the text of the macro text (i.e. the snippet represented by the macro name), until `\end` appears on a line by itself:
The lines that follow contain the text of the macro text (i.e. the snippet represented by the macro name), until `\end` appears on a line by itself:
<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}}/> <$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}}/>
@@ -19,20 +17,6 @@ Alternatively, the entire definition can be presented on a single line without a
\define sayhi(name:"Bugs Bunny") Hi, I'm $name$. \define sayhi(name:"Bugs Bunny") Hi, I'm $name$.
``` ```
Macro definitions can be nested by specifying the name of the macro in the `\end` marker. For example:
<<wikitext-example-without-html src:"""\define special-button(caption:"Click me")
\define actions()
<$action-sendmessage $message="tm-notify" $param="HelloThere"/>
\end actions
<$button actions=<<actions>>>
$caption$
</$button>
\end special-button
<<special-button>>
""">>
A more formal [[presentation|Macro Definition Syntax]] of this syntax is also available. A more formal [[presentation|Macro Definition Syntax]] of this syntax is also available.
!! Accessing variables and parameters !! Accessing variables and parameters

View File

@@ -1,6 +1,6 @@
created: 20131205160532119 created: 20131205160532119
modified: 20131205160549129 modified: 20131205160549129
tags: WikiText [[How to apply custom styles]] tags: WikiText
title: Styles and Classes in WikiText title: Styles and Classes in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
caption: Styles and Classes caption: Styles and Classes

View File

@@ -2,8 +2,12 @@ title: $:/language/Buttons/
AdvancedSearch/Caption: Búsqueda avanzada AdvancedSearch/Caption: Búsqueda avanzada
AdvancedSearch/Hint: Búsqueda avanzada AdvancedSearch/Hint: Búsqueda avanzada
Bold/Caption: Negrita
Bold/Hint: Aplicar formato de negrita a la selección
Cancel/Caption: Cancelar Cancel/Caption: Cancelar
Cancel/Hint: Descarta los cambios Cancel/Hint: Descarta los cambios
Clear/Caption: Limpiar
Clear/Hint: Limpiar imagen a color solido
Clone/Caption: Clonar Clone/Caption: Clonar
Clone/Hint: Hace una copia exacta de este tiddler Clone/Hint: Hace una copia exacta de este tiddler
Close/Caption: Cerrar Close/Caption: Cerrar
@@ -18,114 +22,45 @@ CopyToClipboard/Caption: copiar a portapapeles
CopyToClipboard/Hint: Copia este texto al portapapeles CopyToClipboard/Hint: Copia este texto al portapapeles
Delete/Caption: Borrar Delete/Caption: Borrar
Delete/Hint: Borra este tiddler Delete/Hint: Borra este tiddler
DeleteTiddlers/Caption: borrar tiddlers
DeleteTiddlers/Hint: Borrar tiddlers
Edit/Caption: Editar Edit/Caption: Editar
Edit/Hint: Permite editar este tiddler Edit/Hint: Permite editar este tiddler
EditorHeight/Caption: Altura del editor
EditorHeight/Caption/Auto: Ajustar al contenido
EditorHeight/Caption/Fixed: Altura fija
EditorHeight/Hint: Determina la altura del cuadro de edición
Encryption/Caption: Cifrado Encryption/Caption: Cifrado
Encryption/Hint: Asigna o revoca la contraseña de cifrado para este wiki
Encryption/ClearPassword/Caption: Borrar contraseña Encryption/ClearPassword/Caption: Borrar contraseña
Encryption/ClearPassword/Hint: Borra la contraseña actual y guarda este wiki sin cifrar Encryption/ClearPassword/Hint: Borra la contraseña actual y guarda este wiki sin cifrar
Encryption/Hint: Asigna o revoca la contraseña de cifrado para este wiki
Encryption/SetPassword/Caption: Asignar contraseña Encryption/SetPassword/Caption: Asignar contraseña
Encryption/SetPassword/Hint: Asigna contraseña de cifrado Encryption/SetPassword/Hint: Asigna contraseña de cifrado
Excise/Caption: Escindir
Excise/Caption/Excise: Escindir
Excise/Caption/MacroName: Nombre de la macro
Excise/Caption/NewTitle: Título del nuevo tiddler
Excise/Caption/Replace: Reemplazar texto escindido con:
Excise/Caption/Replace/Link: enlace
Excise/Caption/Replace/Macro: macro
Excise/Caption/Replace/Transclusion: transclusión
Excise/Caption/Tag: Etiqueta el nuevo tiddler con el título de este
Excise/Caption/TiddlerExists: ¡Atención! El tiddler ya existe
Excise/Hint: Corta el texto seleccionado y lo pega en un tiddler nuevo
ExportPage/Caption: Exportar todos ExportPage/Caption: Exportar todos
ExportPage/Hint: Exporta todos los tiddlers ExportPage/Hint: Exporta todos los tiddlers
ExportTiddler/Caption: Exportar tiddler ExportTiddler/Caption: Exportar tiddler
ExportTiddler/Hint: Exporta este tiddler ExportTiddler/Hint: Exporta este tiddler
ExportTiddlers/Caption: Exportar tiddlers ExportTiddlers/Caption: Exportar tiddlers
ExportTiddlers/Hint: Exporta el grupo de tiddlers ExportTiddlers/Hint: Exporta el grupo de tiddlers
SidebarSearch/Hint: Selecciona el campo de búsqueda de la barra lateral
Fold/Caption: Comprimir tiddler Fold/Caption: Comprimir tiddler
Fold/Hint: Comprime la vista del tiddler ocultando el cuerpo y sólo muestra el título
Fold/FoldBar/Caption: Barra de vista comprimida Fold/FoldBar/Caption: Barra de vista comprimida
Fold/FoldBar/Hint: Barras opcionales para comprimir y desplegar tiddlers Fold/FoldBar/Hint: Barras opcionales para comprimir y desplegar tiddlers
Unfold/Caption: Desplegar tiddler Fold/Hint: Comprime la vista del tiddler ocultando el cuerpo y sólo muestra el título
Unfold/Hint: Despliega el cuerpo de este tiddler y muestra su contenido
FoldOthers/Caption: Comprimir los demás
FoldOthers/Hint: Comprime la vista de todos los tiddlers abiertos excepto este
FoldAll/Caption: Comprimir todos FoldAll/Caption: Comprimir todos
FoldAll/Hint: Comprime la vista de todos los tiddlers abiertos FoldAll/Hint: Comprime la vista de todos los tiddlers abiertos
UnfoldAll/Caption: Desplegar todos FoldOthers/Caption: Comprimir los demás
UnfoldAll/Hint: Despliega y muestra el contenido de todos los tiddlers abiertos FoldOthers/Hint: Comprime la vista de todos los tiddlers abiertos excepto este
FullScreen/Caption: Pantalla completa FullScreen/Caption: Pantalla completa
FullScreen/Hint: Entra y sale del modo de pantalla completa FullScreen/Hint: Entra y sale del modo de pantalla completa
Help/Caption: Ayuda
Help/Hint: Muestra el panel de ayuda
Import/Caption: Importar
Import/Hint: Importa multitud de tipos de archivo, incluyendo textos, imágenes, TiddlyWiki y JSON
Info/Caption: Información
Info/Hint: Muestra información sobre este tiddler
Home/Caption: Inicio
Home/Hint: Cierra todos los tiddlers abiertos y abre los que se muestran por defecto al inicio
Language/Caption: Idioma
Language/Hint: Selecciona idioma de la interfaz de usuario
Manager/Caption: Administrador tiddler
Manager/Hint: Abre el administrador del tiddler
More/Caption: Más
More/Hint: Otras acciones
NewHere/Caption: Nuevo aquí
NewHere/Hint: Crea un nuevo tiddler etiquetado con el título de este tiddler
NewJournal/Caption: Nueva entrada
NewJournal/Hint: Crea una nueva entrada de diario
NewJournalHere/Caption: Entrada nueva aquí
NewJournalHere/Hint: Crea una nueva entrada de diario etiquetada con el título de este tiddler
NewImage/Caption: Nueva imagen
NewImage/Hint: Crea un nuevo tiddler de imagen
NewMarkdown/Caption: Nuevo tiddler en Markdown
NewMarkdown/Hint: Crea un nuevo tiddler en Markdown
NewTiddler/Caption: Nuevo tiddler
NewTiddler/Hint: Crea un tiddler nuevo
OpenWindow/Caption: Abrir en ventana nueva
OpenWindow/Hint: Abre el tiddler en una nueva ventana
Palette/Caption: Paleta
Palette/Hint: Selecciona la paleta de color
Permalink/Caption: Enlace permanente
Permalink/Hint: Crea en la barra de direcciones del navegador un enlace directo a este tiddler
Permaview/Caption: Permaview
Permaview/Hint: Crea en la barra de direcciones del navegador un enlace directo a todos los tiddlers abiertos
Print/Caption: Imprimir página
Print/Hint: Imprime la página actual
Refresh/Caption: Recargar
Refresh/Hint: Actualiza completamente este wiki
Save/Caption: Vale
Save/Hint: Confirma y guarda los cambios realizados en el tiddler
SaveWiki/Caption: Guardar cambios
SaveWiki/Hint: Confirma y guarda todos los cambios realizados en el wiki
StoryView/Caption: Vista
StoryView/Hint: Selecciona el modo de visualización de los tiddlers
HideSideBar/Caption: Ocultar barra lateral
HideSideBar/Hint: Oculta la barra lateral
ShowSideBar/Caption: Mostrar barra lateral
ShowSideBar/Hint: Muestra la barra lateral
TagManager/Caption: Administrador de etiquetas
TagManager/Hint: Abre el gestor de etiquetas
Timestamp/Caption: Marcas de tiempo
Timestamp/Hint: Elige si las modificaciones actualizan las marcas de tiempo
Timestamp/On/Caption: las marcas de tiempo están activadas
Timestamp/On/Hint: Actualizar las marcas de tiempo cuando se modifican los tiddlers
Timestamp/Off/Caption: las marcas de tiempo están desactivadas
Timestamp/Off/Hint: No actualizar las marcas de tiempo cuando se modifican los tiddlers
Theme/Caption: Tema
Theme/Hint: Selecciona un estilo visual para el wiki
Bold/Caption: Negrita
Bold/Hint: Aplicar formato de negrita a la selección
Clear/Caption: Limpiar
Clear/Hint: Limpiar imagen a color solido
EditorHeight/Caption: Altura del editor
EditorHeight/Caption/Auto: Ajustar al contenido
EditorHeight/Caption/Fixed: Altura fija
EditorHeight/Hint: Determina la altura del cuadro de edición
Excise/Caption: Escindir
Excise/Caption/Excise: Escindir
Excise/Caption/MacroName: Nombre de la macro
Excise/Caption/NewTitle: Título del nuevo tiddler
Excise/Caption/Replace: Reemplazar texto escindido con:
Excise/Caption/Replace/Macro: macro
Excise/Caption/Replace/Link: enlace
Excise/Caption/Replace/Transclusion: transclusión
Excise/Caption/Tag: Etiqueta el nuevo tiddler con el título de este
Excise/Caption/TiddlerExists: ¡Atención! El tiddler ya existe
Excise/Hint: Corta el texto seleccionado y lo pega en un tiddler nuevo
Heading1/Caption: Encabezamiento 1 Heading1/Caption: Encabezamiento 1
Heading1/Hint: Aplica formato de encabezamiento 1 a la selección Heading1/Hint: Aplica formato de encabezamiento 1 a la selección
Heading2/Caption: Encabezamiento 2 Heading2/Caption: Encabezamiento 2
@@ -138,8 +73,20 @@ Heading5/Caption: Encabezamiento 5
Heading5/Hint: Aplica formato de encabezamiento 5 a la selección Heading5/Hint: Aplica formato de encabezamiento 5 a la selección
Heading6/Caption: Encabezamiento 6 Heading6/Caption: Encabezamiento 6
Heading6/Hint: Aplica formato de encabezamiento 6 a la selección Heading6/Hint: Aplica formato de encabezamiento 6 a la selección
Help/Caption: Ayuda
Help/Hint: Muestra el panel de ayuda
HideSideBar/Caption: Ocultar barra lateral
HideSideBar/Hint: Oculta la barra lateral
Home/Caption: Inicio
Home/Hint: Cierra todos los tiddlers abiertos y abre los que se muestran por defecto al inicio
Import/Caption: Importar
Import/Hint: Importa multitud de tipos de archivo, incluyendo textos, imágenes, TiddlyWiki y JSON
Info/Caption: Información
Info/Hint: Muestra información sobre este tiddler
Italic/Caption: Cursiva Italic/Caption: Cursiva
Italic/Hint: Aplica formato de cursiva a la selección Italic/Hint: Aplica formato de cursiva a la selección
Language/Caption: Idioma
Language/Hint: Selecciona idioma de la interfaz de usuario
LineWidth/Caption: Ancho del trazo LineWidth/Caption: Ancho del trazo
LineWidth/Hint: Establece el ancho del trazo para pintar LineWidth/Hint: Establece el ancho del trazo para pintar
Link/Caption: Enlace Link/Caption: Enlace
@@ -150,24 +97,59 @@ ListBullet/Caption: Lista con viñetas
ListBullet/Hint: Aplica formato de lista con viñetas a la selección ListBullet/Hint: Aplica formato de lista con viñetas a la selección
ListNumber/Caption: Lista numerada ListNumber/Caption: Lista numerada
ListNumber/Hint: Aplica formato de lista numerada a la selección ListNumber/Hint: Aplica formato de lista numerada a la selección
Manager/Caption: Administrador tiddler
Manager/Hint: Abre el administrador del tiddler
MonoBlock/Caption: Bloque monoespaciado MonoBlock/Caption: Bloque monoespaciado
MonoBlock/Hint: Aplica formato de bloque monoespaciado a la selección MonoBlock/Hint: Aplica formato de bloque monoespaciado a la selección
MonoLine/Caption: Monoespacio MonoLine/Caption: Monoespacio
MonoLine/Hint: Aplica formato de monoespacio a la selección MonoLine/Hint: Aplica formato de monoespacio a la selección
More/Caption: Más
More/Hint: Otras acciones
NewHere/Caption: Nuevo aquí
NewHere/Hint: Crea un nuevo tiddler etiquetado con el título de este tiddler
NewImage/Caption: Nueva imagen
NewImage/Hint: Crea un nuevo tiddler de imagen
NewJournal/Caption: Nueva entrada
NewJournal/Hint: Crea una nueva entrada de diario
NewJournalHere/Caption: Entrada nueva aquí
NewJournalHere/Hint: Crea una nueva entrada de diario etiquetada con el título de este tiddler
NewMarkdown/Caption: Nuevo tiddler en Markdown
NewMarkdown/Hint: Crea un nuevo tiddler en Markdown
NewTiddler/Caption: Nuevo tiddler
NewTiddler/Hint: Crea un tiddler nuevo
Opacity/Caption: Opacidad Opacity/Caption: Opacidad
Opacity/Hint: Establece la opacidad del trazo Opacity/Hint: Establece la opacidad del trazo
OpenWindow/Caption: Abrir en ventana nueva
OpenWindow/Hint: Abre el tiddler en una nueva ventana
Paint/Caption: Color del trazo Paint/Caption: Color del trazo
Paint/Hint: Establece el color del trazo Paint/Hint: Establece el color del trazo
Palette/Caption: Paleta
Palette/Hint: Selecciona la paleta de color
Permalink/Caption: Enlace permanente
Permalink/Hint: Crea en la barra de direcciones del navegador un enlace directo a este tiddler
Permaview/Caption: Permaview
Permaview/Hint: Crea en la barra de direcciones del navegador un enlace directo a todos los tiddlers abiertos
Picture/Caption: Imagen Picture/Caption: Imagen
Picture/Hint: Inserta imagen Picture/Hint: Inserta imagen
Preview/Caption: Vista previa Preview/Caption: Vista previa
Preview/Hint: Muestra el panel de vista previa Preview/Hint: Muestra el panel de vista previa
PreviewType/Caption: Tipo de vista previa PreviewType/Caption: Tipo de vista previa
PreviewType/Hint: Selecciona el tipo de vista previa PreviewType/Hint: Selecciona el tipo de vista previa
Print/Caption: Imprimir página
Print/Hint: Imprime la página actual
Quote/Caption: Bloque de cita Quote/Caption: Bloque de cita
Quote/Hint: Aplica formato de bloque de cita a la selección Quote/Hint: Aplica formato de bloque de cita a la selección
Refresh/Caption: Recargar
Refresh/Hint: Actualiza completamente este wiki
RotateLeft/Caption: girar a la izquierda RotateLeft/Caption: girar a la izquierda
RotateLeft/Hint: Girar la imagen a la izquierda 90 grados RotateLeft/Hint: Girar la imagen a la izquierda 90 grados
Save/Caption: Vale
Save/Hint: Confirma y guarda los cambios realizados en el tiddler
SaveWiki/Caption: Guardar cambios
SaveWiki/Hint: Confirma y guarda todos los cambios realizados en el wiki
ShowSideBar/Caption: Mostrar barra lateral
ShowSideBar/Hint: Muestra la barra lateral
SidebarSearch/Hint: Selecciona el campo de búsqueda de la barra lateral
Size/Caption: Tamaño de imagen Size/Caption: Tamaño de imagen
Size/Caption/Height: Altura: Size/Caption/Height: Altura:
Size/Caption/Resize: Cambiar tamaño Size/Caption/Resize: Cambiar tamaño
@@ -176,16 +158,32 @@ Size/Hint: Establece tamaño de la imagen
Stamp/Caption: Snippet Stamp/Caption: Snippet
Stamp/Caption/New: Añade el tuyo propio Stamp/Caption/New: Añade el tuyo propio
Stamp/Hint: Inserta un snippet o fragmento de texto preconfigurado Stamp/Hint: Inserta un snippet o fragmento de texto preconfigurado
Stamp/New/Title: Nombre para mostrar en el menú
Stamp/New/Text: Texto del snippet (Recuerda añadir un título descriptivo en el campo "caption" ). Stamp/New/Text: Texto del snippet (Recuerda añadir un título descriptivo en el campo "caption" ).
Stamp/New/Title: Nombre para mostrar en el menú
StoryView/Caption: Vista
StoryView/Hint: Selecciona el modo de visualización de los tiddlers
Strikethrough/Caption: Tachado Strikethrough/Caption: Tachado
Strikethrough/Hint: Aplica formado de tachado a la selección Strikethrough/Hint: Aplica formado de tachado a la selección
Subscript/Caption: Subíndice Subscript/Caption: Subíndice
Subscript/Hint: Aplica formato de subíndice a la selección Subscript/Hint: Aplica formato de subíndice a la selección
Superscript/Caption: Superíndice Superscript/Caption: Superíndice
Superscript/Hint: Aplica formato de superíndice a la selección Superscript/Hint: Aplica formato de superíndice a la selección
TagManager/Caption: Administrador de etiquetas
TagManager/Hint: Abre el gestor de etiquetas
Theme/Caption: Tema
Theme/Hint: Selecciona un estilo visual para el wiki
Timestamp/Caption: Marcas de tiempo
Timestamp/Hint: Elige si las modificaciones actualizan las marcas de tiempo
Timestamp/Off/Caption: las marcas de tiempo están desactivadas
Timestamp/Off/Hint: No actualizar las marcas de tiempo cuando se modifican los tiddlers
Timestamp/On/Caption: las marcas de tiempo están activadas
Timestamp/On/Hint: Actualizar las marcas de tiempo cuando se modifican los tiddlers
ToggleSidebar/Hint: Alternar la visibilidad de la barra lateral ToggleSidebar/Hint: Alternar la visibilidad de la barra lateral
Transcludify/Caption: Transclusión Transcludify/Caption: Transclusión
Transcludify/Hint: Envolver la selección entre llaves Transcludify/Hint: Envolver la selección entre llaves
Underline/Caption: Subrayado Underline/Caption: Subrayado
Underline/Hint: Aplica formato de subrayado a la selección Underline/Hint: Aplica formato de subrayado a la selección
Unfold/Caption: Desplegar tiddler
Unfold/Hint: Despliega el cuerpo de este tiddler y muestra su contenido
UnfoldAll/Caption: Desplegar todos
UnfoldAll/Hint: Despliega y muestra el contenido de todos los tiddlers abiertos

View File

@@ -27,17 +27,10 @@ Basics/Tiddlers/Prompt: Número de tiddlers
Basics/Title/Prompt: Título de este ~TiddlyWiki: Basics/Title/Prompt: Título de este ~TiddlyWiki:
Basics/Username/Prompt: Nombre de usuario Basics/Username/Prompt: Nombre de usuario
Basics/Version/Prompt: Versión de ~TiddlyWiki Basics/Version/Prompt: Versión de ~TiddlyWiki
Cascades/Caption: Cascadas
Cascades/Hint: Estas reglas globales se utilizan para elegir dinámicamente ciertas plantillas. El resultado de la cascada es el resultado del primer filtro en la secuencia que devuelve un resultado
Cascades/TagPrompt: Filtros etiquetados <$macrocall $name="tag" tag=<<currentTiddler>>/>
EditorTypes/Caption: Tipos de editor EditorTypes/Caption: Tipos de editor
EditorTypes/Editor/Caption: Editor EditorTypes/Editor/Caption: Editor
EditorTypes/Hint: Editores usados para ciertos tipos específicos de tiddler EditorTypes/Hint: Editores usados para ciertos tipos específicos de tiddler
EditorTypes/Type/Caption: Tipo EditorTypes/Type/Caption: Tipo
EditTemplateBody/Caption: Editar Cuerpo de Plantilla
EditTemplateBody/Hint: La plantilla de edición predeterminada utiliza esta cascada de reglas para elegir dinámicamente la plantilla para editar el cuerpo de un tiddler.
FieldEditor/Caption: Editor de Campos
FieldEditor/Hint: Esta cascada de reglas se usa para elegir dinámicamente la plantilla para representar un campo en función de su nombre. Se utiliza dentro de la plantilla de edición.
Info/Caption: Información Info/Caption: Información
Info/Hint: Información acerca de este TiddlyWiki Info/Hint: Información acerca de este TiddlyWiki
KeyboardShortcuts/Add/Caption: Añadir atajo KeyboardShortcuts/Add/Caption: Añadir atajo
@@ -198,8 +191,6 @@ Settings/TitleLinks/Yes/Description: Mostrar como enlaces
Settings/MissingLinks/Caption: Enlaces Wiki Settings/MissingLinks/Caption: Enlaces Wiki
Settings/MissingLinks/Hint: Elige si quieres vincular a tiddlers que aún no existen Settings/MissingLinks/Hint: Elige si quieres vincular a tiddlers que aún no existen
Settings/MissingLinks/Description: Habilitar enlaces a tiddlers inexistentes Settings/MissingLinks/Description: Habilitar enlaces a tiddlers inexistentes
StoryTiddler/Caption: Tiddler de Historia
StoryTiddler/Hint: Esta cascada de reglas se usa para elegir dinámicamente la plantilla para mostrar un tiddler en el río de la historia.
StoryView/Caption: Vista StoryView/Caption: Vista
StoryView/Prompt: Vista actual StoryView/Prompt: Vista actual
Stylesheets/Caption: Hojas de estilo Stylesheets/Caption: Hojas de estilo
@@ -210,10 +201,6 @@ Theme/Caption: Tema
Theme/Prompt: Tema actual Theme/Prompt: Tema actual
TiddlerFields/Caption: Campos de tiddler TiddlerFields/Caption: Campos de tiddler
TiddlerFields/Hint: Esta es la colección completa de campos de tiddler (TiddlerFields) actualmente en uso en este wiki, que incluye los tiddlers de sistema, pero no los ocultos TiddlerFields/Hint: Esta es la colección completa de campos de tiddler (TiddlerFields) actualmente en uso en este wiki, que incluye los tiddlers de sistema, pero no los ocultos
TiddlerColour/Caption: Color del Tiddler
TiddlerColour/Hint: Esta cascada de reglas se utiliza para elegir dinámicamente el color de un tiddler (utilizado para el icono y la etiqueta asociada).
TiddlerIcon/Caption: Icono del Tiddler
TiddlerIcon/Hint: Esta cascada de reglas se utiliza para elegir dinámicamente el icono de un tiddler.
Toolbars/Caption: Barras de herramientas Toolbars/Caption: Barras de herramientas
Toolbars/EditToolbar/Caption: Barra de edición Toolbars/EditToolbar/Caption: Barra de edición
Toolbars/EditToolbar/Hint: Selecciona qué botones mostrar en modo de edición Toolbars/EditToolbar/Hint: Selecciona qué botones mostrar en modo de edición
@@ -225,7 +212,3 @@ Toolbars/EditorToolbar/Hint: Elige qué botones se muestran en la barra de herra
Toolbars/ViewToolbar/Caption: Barra de visualización Toolbars/ViewToolbar/Caption: Barra de visualización
Toolbars/ViewToolbar/Hint: Selecciona qué botones mostrar en modo de visualización Toolbars/ViewToolbar/Hint: Selecciona qué botones mostrar en modo de visualización
Tools/Download/Full/Caption: Descargar el wiki completo Tools/Download/Full/Caption: Descargar el wiki completo
ViewTemplateBody/Caption: Ver el Cuerpo de la Plantilla
ViewTemplateBody/Hint: La plantilla de vista predeterminada utiliza esta cascada de reglas para elegir dinámicamente la plantilla para mostrar el cuerpo de un tiddler.
ViewTemplateTitle/Caption: Ver el Título de la Plantilla
ViewTemplateTitle/Hint: La plantilla de vista predeterminada utiliza esta cascada de reglas para elegir dinámicamente la plantilla para mostrar el título de un tiddler.

View File

@@ -44,8 +44,8 @@ muted-foreground: Primario general silenciado
notification-background: Fondo Notificación notification-background: Fondo Notificación
notification-border: Borde Notificación notification-border: Borde Notificación
page-background: Fondo Página page-background: Fondo Página
pre-background: Fondo de código preformateado pre-background: Preformatted code background
pre-border: Borde de código preformateado pre-border: Preformatted code border
primary: Primario general primary: Primario general
select-tag-background: Fondo `<select>` select-tag-background: Fondo `<select>`
select-tag-foreground: Primario `<select>` select-tag-foreground: Primario `<select>`

View File

@@ -1,11 +1,8 @@
title: $:/language/EditTemplate/ title: $:/language/EditTemplate/
Caption: Editor
Body/External/Hint: Este es un tiddler externo, es decir, guardado fuera del archivo TiddlyWiki principal <br> Puedes editar sus etiquetas y campos, pero no se puede editar directamente el contenido Body/External/Hint: Este es un tiddler externo, es decir, guardado fuera del archivo TiddlyWiki principal <br> Puedes editar sus etiquetas y campos, pero no se puede editar directamente el contenido
Body/Placeholder: Escribe el texto aquí Body/Placeholder: Escribe el texto aquí
Body/Preview/Type/Output: Visible Body/Preview/Type/Output: Visible
Body/Preview/Type/DiffShadow: diferencias con la copia (si las hay)
Body/Preview/Type/DiffCurrent: diferencias con el actual
Field/Remove/Caption: Eliminar campo Field/Remove/Caption: Eliminar campo
Field/Remove/Hint: Elimina el campo y su valor Field/Remove/Hint: Elimina el campo y su valor
Field/Dropdown/Caption: lista de campos Field/Dropdown/Caption: lista de campos

View File

@@ -3,7 +3,6 @@ title: $:/language/Docs/Fields/
_canonical_uri: Dirección (URI) completa -absoluta o relativa- de un tiddler externo de imagen _canonical_uri: Dirección (URI) completa -absoluta o relativa- de un tiddler externo de imagen
bag: Nombre de la bolsa de la que procede un tiddler bag: Nombre de la bolsa de la que procede un tiddler
caption: Texto que se muestra en una pestaña o botón, con independencia del título del tiddler que lo define caption: Texto que se muestra en una pestaña o botón, con independencia del título del tiddler que lo define
code-body: La plantilla de vista mostrará el tiddler como código si se establece en ''yes''
color: Valor CSS del color de fondo asociado a un tiddler color: Valor CSS del color de fondo asociado a un tiddler
component: Nombre del componente responsable de un [[tiddler de alerta|AlertMechanism]] component: Nombre del componente responsable de un [[tiddler de alerta|AlertMechanism]]
current-tiddler: Usado para incluir el tiddler superior en una [[historia|HistoryMechanism]] current-tiddler: Usado para incluir el tiddler superior en una [[historia|HistoryMechanism]]
@@ -14,9 +13,9 @@ description: Descripción de un complemento, extensión, o diálogo modal
draft.of: Título del tiddler del que el actual es borrador draft.of: Título del tiddler del que el actual es borrador
draft.title: Nuevo título propuesto para el presente borrador draft.title: Nuevo título propuesto para el presente borrador
footer: Texto al pie que figurará en un asistente footer: Texto al pie que figurará en un asistente
hide-body: La plantilla de vista ocultará los cuerpos de los tiddlers si se establece en ''yes'' hide-body: La plantilla de vista ocultará los cuerpos de los tiddlers si se establece en: ''yes''
icon: Nombre del tiddler que contiene el icono que se quiere asociar al presente tiddler icon: Nombre del tiddler que contiene el icono que se quiere asociar al presente tiddler
library: Si su valor es ''yes'', indica que el tiddler debe guardarse como librería de JavaScript library: Si su valor es "Sí", indica que el tiddler debe guardarse como librería de JavaScript
list: Lista ordenada de tiddlers asociados al presente tiddler list: Lista ordenada de tiddlers asociados al presente tiddler
list-before: Título del tiddler antes del que el presente será añadido a una lista<br> Si el campo existe pero está vacío, el tiddler se añadirá al principio de la lista list-before: Título del tiddler antes del que el presente será añadido a una lista<br> Si el campo existe pero está vacío, el tiddler se añadirá al principio de la lista
list-after: Título del tiddler tras el que el presente será añadido a una lista de tiddlers. list-after: Título del tiddler tras el que el presente será añadido a una lista de tiddlers.
@@ -33,7 +32,7 @@ tags: Lista de etiquetas asignadas al tiddler
text: Texto principal de un tiddler text: Texto principal de un tiddler
throttle.refresh: Si está presente, regula las actualizaciones de este tiddler throttle.refresh: Si está presente, regula las actualizaciones de este tiddler
title: Nombre único de un tiddler title: Nombre único de un tiddler
toc-link: Suprime el enlace del tiddler en la tabla de contenido si se establece en ''no'' toc-link: Suprime el enlace del tiddler en la tabla de contenido si se establece en: ''no''
type: Tipo de contenido en un tiddler type: Tipo de contenido en un tiddler
version: Versión de un complemento o extensión version: Versión de un complemento o extensión
_is_skinny: Si está presente, indica que el campo de texto tiddler debe cargarse desde el servidor _is_skinny: Si está presente, indica que el campo de texto tiddler debe cargarse desde el servidor

View File

@@ -11,10 +11,9 @@ Visita https://tiddlywiki.com/#GettingStarted para más información (en inglés
<div class="tc-control-panel"> <div class="tc-control-panel">
|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k |<$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
| <$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link>|<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> | |<$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
| <$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> | |<$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag="textarea" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
|^ <$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag="textarea" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
</div> </div>
Consulta más opciones en el [[panel de control|$:/ControlPanel]] Consulta más opciones en el [[panel de control|$:/ControlPanel]]

View File

@@ -4,7 +4,6 @@ description:
\define commandTitle() \define commandTitle()
$:/language/Help/$(command)$ $:/language/Help/$(command)$
\end \end
\whitespace trim
``` ```
Uso: tiddlywiki [<wikifolder>] [--<command> [<args>...]...] Uso: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]
``` ```
@@ -13,9 +12,7 @@ Comandos disponibles:
<ul> <ul>
<$list filter="[commands[]sort[title]]" variable="command"> <$list filter="[commands[]sort[title]]" variable="command">
<li><$link to=<<commandTitle>>><$macrocall $name="command" $type="text/plain" $output="text/plain"/></$link>: <li><$link to=<<commandTitle>>><$macrocall $name="command" $type="text/plain" $output="text/plain"/></$link>: <$transclude tiddler=<<commandTitle>> field="description"/></li>
&#32;
<$transclude tiddler=<<commandTitle>> field="description"/></li>
</$list> </$list>
</ul> </ul>

View File

@@ -22,6 +22,7 @@ Todos los parámetros son opcionales con valores predeterminados seguros y se pu
* ''readers'' - lista separada por comas de los usuarios autorizados a leer de este wiki * ''readers'' - lista separada por comas de los usuarios autorizados a leer de este wiki
* ''writers'' - lista separada por comas de los usuarios autorizados a escribir en este wiki * ''writers'' - lista separada por comas de los usuarios autorizados a escribir en este wiki
* ''csrf-disable'' - establecer a "yes" para deshabilitar las comprobaciones CSRF (el valor predeterminado es "no") * ''csrf-disable'' - establecer a "yes" para deshabilitar las comprobaciones CSRF (el valor predeterminado es "no")
* ''sse-enabled'' - establecer a "yes" para habilitar los eventos enviados por el servidor (el valor predeterminado es "no")
* ''root-tiddler'' - el tiddler para servir en la raíz (por defecto es "$:/core/save/all") * ''root-tiddler'' - el tiddler para servir en la raíz (por defecto es "$:/core/save/all")
* ''root-render-type'' - el tipo de contenido del tiddler raíz (por defecto es "text/plain") * ''root-render-type'' - el tipo de contenido del tiddler raíz (por defecto es "text/plain")
* ''root-serve-type'' - el tipo de contenido con el que se debe servir el tiddler raíz (el valor predeterminado es "text/html") * ''root-serve-type'' - el tipo de contenido con el que se debe servir el tiddler raíz (el valor predeterminado es "text/html")

View File

@@ -31,5 +31,5 @@ Notas:
Ejemplos: Ejemplos:
* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renders all non-system tiddlers as files in the subdirectory "tiddlers" with URL-encoded titles and the extension HTML * `--render "[!is[system]]" "[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]"` -- muestra todos los tiddlers que no son del sistema como archivos en el subdirectorio "tiddlers" con títulos codificados en URL y la extensión HTML
* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renders the tiddlers tagged "HelloThere" to a JSON file named "tiddlers.json"

View File

@@ -30,5 +30,5 @@ Upgrader/System/Warning: tiddler del sistema principal.
Upgrader/System/Alert: Estás a punto de importar un tiddler que sobrescribirá un tiddler del sistema principal. Esto no se recomienda ya que puede hacer que el sistema sea inestable. Upgrader/System/Alert: Estás a punto de importar un tiddler que sobrescribirá un tiddler del sistema principal. Esto no se recomienda ya que puede hacer que el sistema sea inestable.
Upgrader/ThemeTweaks/Created: Ajuste de tema migrado de <$text text=<<from>>/> Upgrader/ThemeTweaks/Created: Ajuste de tema migrado de <$text text=<<from>>/>
Upgrader/Tiddler/Disabled: Tiddler deshabilitado. Upgrader/Tiddler/Disabled: Tiddler deshabilitado.
Upgrader/Tiddler/Selected: Tiddler seleccionado. Upgrader/Tiddler/Selected: Usuario seleccionado.
Upgrader/Tiddler/Unselected: Tiddler no seleccionado. Upgrader/Tiddler/Unselected: Tiddler no seleccionado.

View File

@@ -8,14 +8,13 @@ CloseAll/Button: Cerrar todo
ColourPicker/Recent: Recientes: ColourPicker/Recent: Recientes:
ConfirmCancelTiddler: ¿Deseas descartar los cambios efectuados en "<$text text=<<title>>/>"? ConfirmCancelTiddler: ¿Deseas descartar los cambios efectuados en "<$text text=<<title>>/>"?
ConfirmDeleteTiddler: ¿Deseas borrar "<$text text=<<title>>/>"? ConfirmDeleteTiddler: ¿Deseas borrar "<$text text=<<title>>/>"?
ConfirmDeleteTiddlers: ¿Deseas borrar <<resultCount>> tiddler(s)?
ConfirmOverwriteTiddler: ¿Deseas sobrescribir "<$text text=<<title>>/>"? ConfirmOverwriteTiddler: ¿Deseas sobrescribir "<$text text=<<title>>/>"?
ConfirmEditShadowTiddler: Estás a punto de editar un tiddler oculto<br> Todo cambio en él afectará al sistema por defecto y pondrá en riesgo futuras actualizaciones del sistema<br> ¿Estás seguro de querer editar "<$text text=<<title>>/>"? ConfirmEditShadowTiddler: Estás a punto de editar un tiddler oculto<br> Todo cambio en él afectará al sistema por defecto y pondrá en riesgo futuras actualizaciones del sistema<br> ¿Estás seguro de querer editar "<$text text=<<title>>/>"?
ConfirmAction: ¿Desea continuar? ConfirmAction: ¿Desea continuar?
Count: Número Count: Número
DefaultNewTiddlerTitle: Nuevo Tiddler DefaultNewTiddlerTitle: Nuevo Tiddler
Diffs/CountMessage: <<diff-count>> diferencias Diffs/CountMessage: <<diff-count>> diferencias
DropMessage: Suéltalo ahora o pulsa ''ESC'' para cancelar DropMessage: Suéltalo aquí o pulsa ''ESC'' para cancelar
Encryption/Cancel: Cancelar Encryption/Cancel: Cancelar
Encryption/ConfirmClearPassword: ¿Deseas borrar la contraseña? <br> Revocarás el cifrado que se aplica para guardar este wiki Encryption/ConfirmClearPassword: ¿Deseas borrar la contraseña? <br> Revocarás el cifrado que se aplica para guardar este wiki
Encryption/PromptSetPassword: Especifica nueva contraseña para este TiddlyWiki Encryption/PromptSetPassword: Especifica nueva contraseña para este TiddlyWiki

View File

@@ -1,6 +1,5 @@
title: $:/language/SideBar/ title: $:/language/SideBar/
Caption: Panel Lateral
All/Caption: Todos All/Caption: Todos
Contents/Caption: Contenido Contents/Caption: Contenido
Drafts/Caption: Borradores Drafts/Caption: Borradores

View File

@@ -1,5 +1,5 @@
title: $:/language/Snippets/ListByTag title: $:/language/Snippets/ListByTag
tags: $:/tags/TextEditor/Snippet tags: $:/tags/TextEditor/Snippet
caption: Liste de tiddlers por etiqueta caption: Liste de tiddlers par etiqueta
<<list-links "[tag[task]sort[title]]">> <<list-links "[tag[task]sort[title]]">>

View File

@@ -18,8 +18,6 @@ CopyToClipboard/Caption: skopiuj do schowka
CopyToClipboard/Hint: Skopiuj ten tekst do schowka CopyToClipboard/Hint: Skopiuj ten tekst do schowka
Delete/Caption: usuń Delete/Caption: usuń
Delete/Hint: Usuń tiddlera Delete/Hint: Usuń tiddlera
DeleteTiddlers/Caption: usuń tiddlery
DeleteTiddlers/Hint: Usuwa tiddlery
Edit/Caption: edytuj Edit/Caption: edytuj
Edit/Hint: Edytuj tego tiddlera Edit/Hint: Edytuj tego tiddlera
Encryption/Caption: szyfrowanie Encryption/Caption: szyfrowanie

View File

@@ -9,10 +9,9 @@ Zanim zaczniesz zapisywać ważne informacje w swojej ~TiddlyWiki ważne jest,
<div class="tc-control-panel"> <div class="tc-control-panel">
|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k |<$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
| <$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link>|<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> | |<$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
| <$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> | |<$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag="textarea" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
|^ <$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag="textarea" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
</div> </div>
Przejdź do [[panelu sterowania|$:/ControlPanel]] by zmienić pozostałe opcje. Przejdź do [[panelu sterowania|$:/ControlPanel]] by zmienić pozostałe opcje.

View File

@@ -31,5 +31,5 @@ Notatki:
Przykłady: Przykłady:
* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renderuje wszystkie niesystemowe tiddlery jako pliki w podfolderze "tiddlers", kodując znaki URI w nazwie i dodając rozszerzenie .html * `--render "[!is[system]]" "[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]"` -- renderuje wszystkie niesystemowe tiddlery jako pliki w podfolderze "tiddlers", kodując znaki URI w nazwie i dodając rozszerzenie .html
* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renderuje wszystkie tiddlery z tagiem "HelloThere" do pliku JSON o nazwie "tiddlers.json"

View File

@@ -8,7 +8,6 @@ CloseAll/Button: zamknij wszystkie
ColourPicker/Recent: Ostatnie: ColourPicker/Recent: Ostatnie:
ConfirmCancelTiddler: Czy na pewno chcesz odrzucić zmiany w tiddlerze "<$text text=<<title>>/>"? ConfirmCancelTiddler: Czy na pewno chcesz odrzucić zmiany w tiddlerze "<$text text=<<title>>/>"?
ConfirmDeleteTiddler: Czy na pewno chcesz usunąc tiddlera "<$text text=<<title>>/>"? ConfirmDeleteTiddler: Czy na pewno chcesz usunąc tiddlera "<$text text=<<title>>/>"?
ConfirmDeleteTiddlers: Na pewno chcesz usunąć <<resultCount>> tiddler/y/ów?
ConfirmOverwriteTiddler: Czy na pewno chcesz nadpisać tiddlera "<$text text=<<title>>/>"? ConfirmOverwriteTiddler: Czy na pewno chcesz nadpisać tiddlera "<$text text=<<title>>/>"?
ConfirmEditShadowTiddler: Próbujesz utworzyć tiddler-cień. Zmiany te nadpiszą oryginalne, systemowe tiddlery co może utrudniać aktualizację wiki. Czy na pewno chcesz zmodyfikować"<$text text=<<title>>/>"? ConfirmEditShadowTiddler: Próbujesz utworzyć tiddler-cień. Zmiany te nadpiszą oryginalne, systemowe tiddlery co może utrudniać aktualizację wiki. Czy na pewno chcesz zmodyfikować"<$text text=<<title>>/>"?
ConfirmAction: Na pewno chcesz kontynuować? ConfirmAction: Na pewno chcesz kontynuować?

View File

@@ -13,7 +13,7 @@ dependents: 插件的相依插件列表
description: 插件的说明、描述 description: 插件的说明、描述
draft.of: 草稿条目,包含条目的标题、标签、栏位 ... draft.of: 草稿条目,包含条目的标题、标签、栏位 ...
draft.title: 草稿条目的标题 draft.title: 草稿条目的标题
footer: 互动窗口的注脚 footer: wizard 的注脚
hide-body: 若设置为 ''yes'',视图模板将隐藏条目的主体 hide-body: 若设置为 ''yes'',视图模板将隐藏条目的主体
icon: 条目的标题含有与条目关联的图标 icon: 条目的标题含有与条目关联的图标
library: 若设置为 ''yes'',表示条目应该被保存为一个 JavaScript 程序库 library: 若设置为 ''yes'',表示条目应该被保存为一个 JavaScript 程序库
@@ -28,7 +28,7 @@ plugin-type: 插件条目的类型
released: TiddlyWiki 的发布日期 released: TiddlyWiki 的发布日期
revision: 条目存放于服务器中的修订版本 revision: 条目存放于服务器中的修订版本
source: 条目的网址 source: 条目的网址
subtitle: 互动窗口的副标题 subtitle: 一个 wizard 的副标题
tags: 条目的标签清单 tags: 条目的标签清单
text: 条目的内文 text: 条目的内文
throttle.refresh: 如果存在,则限制此条目的刷新 throttle.refresh: 如果存在,则限制此条目的刷新

View File

@@ -13,7 +13,7 @@ dependents: 插件的相依插件列表
description: 插件的說明、描述 description: 插件的說明、描述
draft.of: 草稿條目,包含條目的標題、標籤、欄位 ... draft.of: 草稿條目,包含條目的標題、標籤、欄位 ...
draft.title: 草稿條目的標題 draft.title: 草稿條目的標題
footer: 互動視窗的註腳 footer: wizard 的註腳
hide-body: 若設定為 ''yes'',檢視範本將隱藏條目的主體 hide-body: 若設定為 ''yes'',檢視範本將隱藏條目的主體
icon: 條目的標題含有與條目關聯的圖示 icon: 條目的標題含有與條目關聯的圖示
library: 若設定為 ''yes'',表示條目應該被儲存為一個 JavaScript 程式庫 library: 若設定為 ''yes'',表示條目應該被儲存為一個 JavaScript 程式庫
@@ -28,7 +28,7 @@ plugin-type: 套件條目的類型
released: TiddlyWiki 的釋出日期 released: TiddlyWiki 的釋出日期
revision: 條目存放於伺服器中的修訂版本 revision: 條目存放於伺服器中的修訂版本
source: 條目的網址 source: 條目的網址
subtitle: 互動視窗的副標題 subtitle: 一個 wizard 的副標題
tags: 條目的標籤清單 tags: 條目的標籤清單
text: 條目的內文 text: 條目的內文
throttle.refresh: 如果存在,則限制此條目的刷新 throttle.refresh: 如果存在,則限制此條目的刷新

Some files were not shown because too many files have changed in this diff Show More