mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-10 20:09:57 +00:00
Merge branch 'master' into multi-wiki-support
This commit is contained in:
commit
6e7efeb126
@ -96,6 +96,10 @@ Plugins/PluginWillRequireReload: (requires reload)
|
|||||||
Plugins/Plugins/Caption: Plugins
|
Plugins/Plugins/Caption: Plugins
|
||||||
Plugins/Plugins/Hint: Plugins
|
Plugins/Plugins/Hint: Plugins
|
||||||
Plugins/Reinstall/Caption: reinstall
|
Plugins/Reinstall/Caption: reinstall
|
||||||
|
Plugins/Stability/Deprecated: DEPRECATED
|
||||||
|
Plugins/Stability/Experimental: EXPERIMENTAL
|
||||||
|
Plugins/Stability/Legacy: LEGACY
|
||||||
|
Plugins/Stability/Stable: STABLE
|
||||||
Plugins/Themes/Caption: Themes
|
Plugins/Themes/Caption: Themes
|
||||||
Plugins/Themes/Hint: Theme plugins
|
Plugins/Themes/Hint: Theme plugins
|
||||||
Plugins/Update/Caption: update
|
Plugins/Update/Caption: update
|
||||||
|
@ -26,6 +26,7 @@ Tags/ClearInput/Caption: clear input
|
|||||||
Tags/ClearInput/Hint: Clear tag input
|
Tags/ClearInput/Hint: Clear tag input
|
||||||
Tags/Dropdown/Caption: tag list
|
Tags/Dropdown/Caption: tag list
|
||||||
Tags/Dropdown/Hint: Show tag list
|
Tags/Dropdown/Hint: Show tag list
|
||||||
|
Tags/EmptyMessage: (no search result)
|
||||||
Title/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles
|
Title/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles
|
||||||
Title/Exists/Prompt: Target tiddler already exists
|
Title/Exists/Prompt: Target tiddler already exists
|
||||||
Title/Relink/Prompt: Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers
|
Title/Relink/Prompt: Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers
|
||||||
|
@ -42,7 +42,7 @@ Error/RetrievingSkinny: Error retrieving skinny tiddler list
|
|||||||
Error/SavingToTWEdit: Error saving to TWEdit
|
Error/SavingToTWEdit: Error saving to TWEdit
|
||||||
Error/WhileSaving: Error while saving
|
Error/WhileSaving: Error while saving
|
||||||
Error/XMLHttpRequest: XMLHttpRequest error code
|
Error/XMLHttpRequest: XMLHttpRequest error code
|
||||||
Error/ZoominTextNode: Story View Error: It appears you tried to interact with a tiddler that displays in a custom container. This is most likely caused by using `$:/tags/StoryTiddlerTemplateFilter` with a template that contains text or whitespace at the start. Please use the pragma `\whitespace trim` and ensure the whole contents of the tiddler is wrapped in a single HTML element. The text that caused this issue:
|
Error/ZoominTextNode: Błąd Widoku: Wykryto błędną interakcję z tiddlerem, który wyświetlany jest w niestandardowym kontenerze. Jest to najprawdopodobniej spowodowane użyciem `$:/tags/StoryTiddlerTemplateFilter` z motywem, który ma tekst lub białe znaki na początku. Użyj pragmy `\whitespace trim` i upewnij się, że cała treść tiddlera opakowana jest w jeden element HTML. Tekst, który spowodał problem:
|
||||||
InternalJavaScriptError/Title: Internal JavaScript Error
|
InternalJavaScriptError/Title: Internal JavaScript Error
|
||||||
InternalJavaScriptError/Hint: Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser
|
InternalJavaScriptError/Hint: Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser
|
||||||
LayoutSwitcher/Description: Open the layout switcher
|
LayoutSwitcher/Description: Open the layout switcher
|
||||||
|
@ -6,6 +6,8 @@ Filter/Hint: Search via a [[filter expression|https://tiddlywiki.com/static/Filt
|
|||||||
Filter/Matches: //<small><<resultCount>> matches</small>//
|
Filter/Matches: //<small><<resultCount>> matches</small>//
|
||||||
Matches: //<small><<resultCount>> matches</small>//
|
Matches: //<small><<resultCount>> matches</small>//
|
||||||
Matches/All: All matches:
|
Matches/All: All matches:
|
||||||
|
Matches/NoMatch: //No match//
|
||||||
|
Matches/NoResult: //No search result//
|
||||||
Matches/Title: Title matches:
|
Matches/Title: Title matches:
|
||||||
Search: Search
|
Search: Search
|
||||||
Search/TooShort: Search text too short
|
Search/TooShort: Search text too short
|
||||||
|
@ -12,9 +12,14 @@ Text editor operation to excise the selection to a new tiddler
|
|||||||
/*global $tw: false */
|
/*global $tw: false */
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
function isMarkdown(mediaType) {
|
||||||
|
return mediaType === 'text/markdown' || mediatype === 'text/x-markdown';
|
||||||
|
}
|
||||||
|
|
||||||
exports["excise"] = function(event,operation) {
|
exports["excise"] = function(event,operation) {
|
||||||
var editTiddler = this.wiki.getTiddler(this.editTitle),
|
var editTiddler = this.wiki.getTiddler(this.editTitle),
|
||||||
editTiddlerTitle = this.editTitle,
|
editTiddlerTitle = this.editTitle,
|
||||||
|
wikiLinks = !isMarkdown(editTiddler.fields.type),
|
||||||
excisionBaseTitle = $tw.language.getString("Buttons/Excise/DefaultTitle");
|
excisionBaseTitle = $tw.language.getString("Buttons/Excise/DefaultTitle");
|
||||||
if(editTiddler && editTiddler.fields["draft.of"]) {
|
if(editTiddler && editTiddler.fields["draft.of"]) {
|
||||||
editTiddlerTitle = editTiddler.fields["draft.of"];
|
editTiddlerTitle = editTiddler.fields["draft.of"];
|
||||||
@ -26,7 +31,8 @@ exports["excise"] = function(event,operation) {
|
|||||||
{
|
{
|
||||||
title: excisionTitle,
|
title: excisionTitle,
|
||||||
text: operation.selection,
|
text: operation.selection,
|
||||||
tags: event.paramObject.tagnew === "yes" ? [editTiddlerTitle] : []
|
tags: event.paramObject.tagnew === "yes" ? [editTiddlerTitle] : [],
|
||||||
|
type: editTiddler.fields.type
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
operation.replacement = excisionTitle;
|
operation.replacement = excisionTitle;
|
||||||
@ -35,7 +41,8 @@ exports["excise"] = function(event,operation) {
|
|||||||
operation.replacement = "{{" + operation.replacement+ "}}";
|
operation.replacement = "{{" + operation.replacement+ "}}";
|
||||||
break;
|
break;
|
||||||
case "link":
|
case "link":
|
||||||
operation.replacement = "[[" + operation.replacement+ "]]";
|
operation.replacement = wikiLinks ? "[[" + operation.replacement+ "]]"
|
||||||
|
: ("[" + operation.replacement + "](<#" + operation.replacement + ">)");
|
||||||
break;
|
break;
|
||||||
case "macro":
|
case "macro":
|
||||||
operation.replacement = "<<" + (event.paramObject.macro || "translink") + " \"\"\"" + operation.replacement + "\"\"\">>";
|
operation.replacement = "<<" + (event.paramObject.macro || "translink") + " \"\"\"" + operation.replacement + "\"\"\">>";
|
||||||
|
@ -13,37 +13,125 @@ Text editor operation to wrap the selection with the specified prefix and suffix
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
exports["wrap-selection"] = function(event,operation) {
|
exports["wrap-selection"] = function(event,operation) {
|
||||||
if(operation.selStart === operation.selEnd) {
|
var o = operation,
|
||||||
// No selection; check if we're within the prefix/suffix
|
prefix = event.paramObject.prefix,
|
||||||
if(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {
|
suffix = event.paramObject.suffix,
|
||||||
|
trimSelection = event.paramObject.trimSelection || "no",
|
||||||
|
selLength = o.selEnd - o.selStart;
|
||||||
|
|
||||||
|
// This function detects, if trailing spaces are part of the selection __and__ if the user wants to handle them
|
||||||
|
// Returns "yes", "start", "end", "no" (default)
|
||||||
|
// yes .. there are trailing spaces at both ends
|
||||||
|
// start .. there are trailing spaces at the start
|
||||||
|
// end .. there are trailing spaces at the end
|
||||||
|
// no .. no trailing spaces are taken into account
|
||||||
|
var trailingSpaceAt = function(sel) {
|
||||||
|
var _start,
|
||||||
|
_end,
|
||||||
|
result;
|
||||||
|
// trimSelection is a user parameter, which this evaluations takes into account
|
||||||
|
switch(trimSelection) {
|
||||||
|
case "end":
|
||||||
|
result = (sel.trimEnd().length !== selLength) ? "end" : "no";
|
||||||
|
break;
|
||||||
|
case "yes":
|
||||||
|
_start = sel.trimStart().length !== selLength;
|
||||||
|
_end = sel.trimEnd().length !== selLength;
|
||||||
|
result = (_start && _end) ? "yes" : (_start) ? "start" : (_end) ? "end" : "no";
|
||||||
|
break;
|
||||||
|
case "start":
|
||||||
|
result = (sel.trimStart().length !== selLength) ? "start" : "no";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
result = "no";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function togglePrefixSuffix() {
|
||||||
|
if(o.text.substring(o.selStart - prefix.length, o.selStart + suffix.length) === prefix + suffix) {
|
||||||
// Remove the prefix and suffix
|
// Remove the prefix and suffix
|
||||||
operation.cutStart = operation.selStart - event.paramObject.prefix.length;
|
o.cutStart = o.selStart - prefix.length;
|
||||||
operation.cutEnd = operation.selEnd + event.paramObject.suffix.length;
|
o.cutEnd = o.selEnd + suffix.length;
|
||||||
operation.replacement = "";
|
o.replacement = "";
|
||||||
operation.newSelStart = operation.cutStart;
|
o.newSelStart = o.cutStart;
|
||||||
operation.newSelEnd = operation.newSelStart;
|
o.newSelEnd = o.newSelStart;
|
||||||
} else {
|
} else {
|
||||||
// Wrap the cursor instead
|
// Wrap the cursor instead
|
||||||
operation.cutStart = operation.selStart;
|
o.cutStart = o.selStart;
|
||||||
operation.cutEnd = operation.selEnd;
|
o.cutEnd = o.selEnd;
|
||||||
operation.replacement = event.paramObject.prefix + event.paramObject.suffix;
|
o.replacement = prefix + suffix;
|
||||||
operation.newSelStart = operation.selStart + event.paramObject.prefix.length;
|
o.newSelStart = o.selStart + prefix.length;
|
||||||
operation.newSelEnd = operation.newSelStart;
|
o.newSelEnd = o.newSelStart;
|
||||||
}
|
}
|
||||||
} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {
|
}
|
||||||
|
|
||||||
|
// options: lenPrefix, lenSuffix
|
||||||
|
function removePrefixSuffix(options) {
|
||||||
|
options = options || {};
|
||||||
|
var _lenPrefix = options.lenPrefix || 0;
|
||||||
|
var _lenSuffix = options.lenSuffix || 0;
|
||||||
|
|
||||||
|
o.cutStart = o.selStart - _lenPrefix;
|
||||||
|
o.cutEnd = o.selEnd + _lenSuffix;
|
||||||
|
o.replacement = (_lenPrefix || _lenSuffix) ? o.selection : o.selection.substring(prefix.length, o.selection.length - suffix.length);
|
||||||
|
o.newSelStart = o.cutStart;
|
||||||
|
o.newSelEnd = o.cutStart + o.replacement.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addPrefixSuffix() {
|
||||||
|
// remove trailing space if requested
|
||||||
|
switch(trailingSpaceAt(o.selection)) {
|
||||||
|
case "no":
|
||||||
|
// has no trailing spaces
|
||||||
|
o.cutStart = o.selStart;
|
||||||
|
o.cutEnd = o.selEnd;
|
||||||
|
o.replacement = prefix + o.selection + suffix;
|
||||||
|
o.newSelStart = o.selStart;
|
||||||
|
o.newSelEnd = o.selStart + o.replacement.length;
|
||||||
|
break;
|
||||||
|
case "yes":
|
||||||
|
// handle both ends
|
||||||
|
o.cutStart = o.selEnd - (o.selection.trimStart().length);
|
||||||
|
o.cutEnd = o.selection.trimEnd().length + o.selStart;
|
||||||
|
o.replacement = prefix + o.selection.trim() + suffix;
|
||||||
|
o.newSelStart = o.cutStart;
|
||||||
|
o.newSelEnd = o.cutStart + o.replacement.length;
|
||||||
|
break;
|
||||||
|
case "start":
|
||||||
|
// handle leading
|
||||||
|
o.cutStart = o.selEnd - (o.selection.trimStart().length);
|
||||||
|
o.cutEnd = o.selEnd;
|
||||||
|
o.replacement = prefix + o.selection.trimStart() + suffix;
|
||||||
|
o.newSelStart = o.cutStart;
|
||||||
|
o.newSelEnd = o.cutStart + o.replacement.length;
|
||||||
|
break;
|
||||||
|
case "end":
|
||||||
|
// handle trailing
|
||||||
|
o.cutStart = o.selStart;
|
||||||
|
o.cutEnd = o.selection.trimEnd().length + o.selStart;
|
||||||
|
o.replacement = prefix + o.selection.trimEnd() + suffix;
|
||||||
|
o.newSelStart = o.selStart;
|
||||||
|
o.newSelEnd = o.selStart + o.replacement.length;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(o.selStart === o.selEnd) {
|
||||||
|
// No selection; Create prefix and suffix. Set cursor in between them: ""|""
|
||||||
|
togglePrefixSuffix();
|
||||||
|
} else if(o.text.substring(o.selStart, o.selStart + prefix.length) === prefix &&
|
||||||
|
o.text.substring(o.selEnd - suffix.length,o.selEnd) === suffix) {
|
||||||
// Prefix and suffix are already present, so remove them
|
// Prefix and suffix are already present, so remove them
|
||||||
operation.cutStart = operation.selStart;
|
removePrefixSuffix();
|
||||||
operation.cutEnd = operation.selEnd;
|
} else if(o.text.substring(o.selStart - prefix.length, o.selStart) === prefix &&
|
||||||
operation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);
|
o.text.substring(o.selEnd, o.selEnd + suffix.length) === suffix) {
|
||||||
operation.newSelStart = operation.selStart;
|
// Prefix and suffix are present BUT not selected -> remove them
|
||||||
operation.newSelEnd = operation.selStart + operation.replacement.length;
|
removePrefixSuffix({"lenPrefix": prefix.length, "lenSuffix": suffix.length});
|
||||||
} else {
|
} else {
|
||||||
// Add the prefix and suffix
|
// Add the prefix and suffix
|
||||||
operation.cutStart = operation.selStart;
|
addPrefixSuffix();
|
||||||
operation.cutEnd = operation.selEnd;
|
|
||||||
operation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;
|
|
||||||
operation.newSelStart = operation.selStart;
|
|
||||||
operation.newSelEnd = operation.selStart + operation.replacement.length;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -18,8 +18,8 @@ Export our filter functions
|
|||||||
|
|
||||||
exports.decodebase64 = function(source,operator,options) {
|
exports.decodebase64 = function(source,operator,options) {
|
||||||
var results = [];
|
var results = [];
|
||||||
var binary = operator.suffixes && operator.suffixes.indexOf("binary") !== -1;
|
var binary = operator.suffixes && operator.suffixes[0].indexOf("binary") !== -1;
|
||||||
var urlsafe = operator.suffixes && operator.suffixes.indexOf("urlsafe") !== -1;
|
var urlsafe = operator.suffixes && operator.suffixes[0].indexOf("urlsafe") !== -1;
|
||||||
source(function(tiddler,title) {
|
source(function(tiddler,title) {
|
||||||
results.push($tw.utils.base64Decode(title,binary,urlsafe));
|
results.push($tw.utils.base64Decode(title,binary,urlsafe));
|
||||||
});
|
});
|
||||||
@ -28,8 +28,8 @@ exports.decodebase64 = function(source,operator,options) {
|
|||||||
|
|
||||||
exports.encodebase64 = function(source,operator,options) {
|
exports.encodebase64 = function(source,operator,options) {
|
||||||
var results = [];
|
var results = [];
|
||||||
var binary = operator.suffixes && operator.suffixes.indexOf("binary") !== -1;
|
var binary = operator.suffixes && operator.suffixes[0].indexOf("binary") !== -1;
|
||||||
var urlsafe = operator.suffixes && operator.suffixes.indexOf("urlsafe") !== -1;
|
var urlsafe = operator.suffixes && operator.suffixes[0].indexOf("urlsafe") !== -1;
|
||||||
source(function(tiddler,title) {
|
source(function(tiddler,title) {
|
||||||
results.push($tw.utils.base64Encode(title,binary,urlsafe));
|
results.push($tw.utils.base64Encode(title,binary,urlsafe));
|
||||||
});
|
});
|
||||||
|
@ -16,20 +16,22 @@ exports.name = "unusedtitle";
|
|||||||
exports.params = [
|
exports.params = [
|
||||||
{name: "baseName"},
|
{name: "baseName"},
|
||||||
{name: "separator"},
|
{name: "separator"},
|
||||||
{name: "template"}
|
{name: "template"},
|
||||||
|
{name: "startCount"}
|
||||||
];
|
];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Run the macro
|
Run the macro
|
||||||
*/
|
*/
|
||||||
exports.run = function(baseName,separator,template) {
|
exports.run = function(baseName,separator,template,startCount) {
|
||||||
separator = separator || " ";
|
separator = separator || " ";
|
||||||
|
startCount = startCount || 0;
|
||||||
if(!baseName) {
|
if(!baseName) {
|
||||||
baseName = $tw.language.getString("DefaultNewTiddlerTitle");
|
baseName = $tw.language.getString("DefaultNewTiddlerTitle");
|
||||||
}
|
}
|
||||||
// $tw.wiki.generateNewTitle = function(baseTitle,options)
|
// $tw.wiki.generateNewTitle = function(baseTitle,options)
|
||||||
// options.prefix must be a string!
|
// options.prefix must be a string!
|
||||||
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template});
|
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template, "startCount": startCount});
|
||||||
};
|
};
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
@ -20,7 +20,7 @@ Retrieve ETag if available
|
|||||||
*/
|
*/
|
||||||
var retrieveETag = function(self) {
|
var retrieveETag = function(self) {
|
||||||
var headers = {
|
var headers = {
|
||||||
Accept: "*/*;charset=UTF-8"
|
Accept: "*/*"
|
||||||
};
|
};
|
||||||
$tw.utils.httpRequest({
|
$tw.utils.httpRequest({
|
||||||
url: self.uri(),
|
url: self.uri(),
|
||||||
|
@ -330,16 +330,18 @@ exports.formatTitleString = function(template,options) {
|
|||||||
}]
|
}]
|
||||||
];
|
];
|
||||||
while(t.length){
|
while(t.length){
|
||||||
var matchString = "";
|
var matchString = "",
|
||||||
|
found = false;
|
||||||
$tw.utils.each(matches, function(m) {
|
$tw.utils.each(matches, function(m) {
|
||||||
var match = m[0].exec(t);
|
var match = m[0].exec(t);
|
||||||
if(match) {
|
if(match) {
|
||||||
|
found = true;
|
||||||
matchString = m[1].call(null,match);
|
matchString = m[1].call(null,match);
|
||||||
t = t.substr(match[0].length);
|
t = t.substr(match[0].length);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(matchString) {
|
if(found) {
|
||||||
result += matchString;
|
result += matchString;
|
||||||
} else {
|
} else {
|
||||||
result += t.charAt(0);
|
result += t.charAt(0);
|
||||||
|
@ -96,6 +96,7 @@ KeyboardWidget.prototype.execute = function() {
|
|||||||
this.param = this.getAttribute("param","");
|
this.param = this.getAttribute("param","");
|
||||||
this.key = this.getAttribute("key","");
|
this.key = this.getAttribute("key","");
|
||||||
this.tag = this.getAttribute("tag","");
|
this.tag = this.getAttribute("tag","");
|
||||||
|
if($tw.keyboardManager) {
|
||||||
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
|
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
|
||||||
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
|
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
|
||||||
this.shortcutTiddlers = [];
|
this.shortcutTiddlers = [];
|
||||||
@ -104,6 +105,7 @@ KeyboardWidget.prototype.execute = function() {
|
|||||||
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
|
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Make child widgets
|
// Make child widgets
|
||||||
this.makeChildWidgets();
|
this.makeChildWidgets();
|
||||||
};
|
};
|
||||||
@ -126,7 +128,7 @@ KeyboardWidget.prototype.refresh = function(changedTiddlers) {
|
|||||||
this.assignDomNodeClasses();
|
this.assignDomNodeClasses();
|
||||||
}
|
}
|
||||||
// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed
|
// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed
|
||||||
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {
|
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) && $tw.keyboardManager) {
|
||||||
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
|
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
|
||||||
}
|
}
|
||||||
return this.refreshChildren(changedTiddlers);
|
return this.refreshChildren(changedTiddlers);
|
||||||
|
@ -412,7 +412,8 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
|
|||||||
event = $tw.hooks.invokeHook("th-new-tiddler", event);
|
event = $tw.hooks.invokeHook("th-new-tiddler", event);
|
||||||
// Get the story details
|
// Get the story details
|
||||||
var storyList = this.getStoryList(),
|
var storyList = this.getStoryList(),
|
||||||
templateTiddler, additionalFields, title, draftTitle, existingTiddler;
|
templateTiddler, additionalFields, title, draftTitle, existingTiddler,
|
||||||
|
templateHasTags = false;
|
||||||
// Get the template tiddler (if any)
|
// Get the template tiddler (if any)
|
||||||
if(typeof event.param === "string") {
|
if(typeof event.param === "string") {
|
||||||
// Get the template tiddler
|
// Get the template tiddler
|
||||||
@ -457,8 +458,10 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
|
|||||||
// Merge tags
|
// Merge tags
|
||||||
mergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));
|
mergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));
|
||||||
}
|
}
|
||||||
|
var additionalFieldsHasTags = !!(additionalFields && (additionalFields.tags === ""));
|
||||||
if(templateTiddler && templateTiddler.fields.tags) {
|
if(templateTiddler && templateTiddler.fields.tags) {
|
||||||
// Merge tags
|
// Merge tags
|
||||||
|
templateHasTags = true;
|
||||||
mergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);
|
mergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);
|
||||||
}
|
}
|
||||||
// Save the draft tiddler
|
// Save the draft tiddler
|
||||||
@ -474,7 +477,8 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
|
|||||||
{
|
{
|
||||||
title: draftTitle,
|
title: draftTitle,
|
||||||
"draft.of": title,
|
"draft.of": title,
|
||||||
tags: mergedTags
|
// If template or additionalFields have "tags" even if empty a tags field will be created.
|
||||||
|
tags: ((mergedTags.length > 0) || templateHasTags || additionalFieldsHasTags) ? mergedTags : undefined
|
||||||
},this.wiki.getModificationFields());
|
},this.wiki.getModificationFields());
|
||||||
this.wiki.addTiddler(draftTiddler);
|
this.wiki.addTiddler(draftTiddler);
|
||||||
// Update the story to insert the new draft at the top and remove any existing tiddler
|
// Update the story to insert the new draft at the top and remove any existing tiddler
|
||||||
|
@ -18,6 +18,89 @@ var ViewWidget = function(parseTreeNode,options) {
|
|||||||
this.initialise(parseTreeNode,options);
|
this.initialise(parseTreeNode,options);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var ViewHandler = function(widget) {
|
||||||
|
this.wiki = widget.wiki;
|
||||||
|
this.widget = widget;
|
||||||
|
this.document = widget.document;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Base ViewHandler render method
|
||||||
|
*/
|
||||||
|
ViewHandler.prototype.render = function(parent,nextSibling) {
|
||||||
|
this.text = this.getValue();
|
||||||
|
this.createTextNode(parent,nextSibling);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Base ViewHandler render method for wikified views
|
||||||
|
*/
|
||||||
|
ViewHandler.prototype.renderWikified = function(parent,nextSibling) {
|
||||||
|
this.createFakeWidget();
|
||||||
|
this.text = this.getValue();
|
||||||
|
this.createWikifiedTextNode(parent,nextSibling);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
ViewHandler method to create a simple text node
|
||||||
|
*/
|
||||||
|
ViewHandler.prototype.createTextNode = function(parent,nextSibling) {
|
||||||
|
if(this.text) {
|
||||||
|
var textNode = this.document.createTextNode(this.text);
|
||||||
|
parent.insertBefore(textNode,nextSibling);
|
||||||
|
this.widget.domNodes.push(textNode);
|
||||||
|
} else {
|
||||||
|
this.widget.makeChildWidgets();
|
||||||
|
this.widget.renderChildren(parent,nextSibling);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
ViewHandler method to always create a text node, even if there's no text
|
||||||
|
*/
|
||||||
|
ViewHandler.prototype.createWikifiedTextNode = function(parent,nextSibling) {
|
||||||
|
var textNode = this.document.createTextNode(this.text || "");
|
||||||
|
parent.insertBefore(textNode,nextSibling);
|
||||||
|
this.widget.domNodes.push(textNode);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
ViewHandler method to create a fake widget used by wikified views
|
||||||
|
*/
|
||||||
|
ViewHandler.prototype.createFakeWidget = function() {
|
||||||
|
this.fakeWidget = this.wiki.makeTranscludeWidget(this.widget.viewTitle,{
|
||||||
|
document: $tw.fakeDocument,
|
||||||
|
field: this.widget.viewField,
|
||||||
|
index: this.widget.viewIndex,
|
||||||
|
parseAsInline: this.widget.viewMode !== "block",
|
||||||
|
mode: this.widget.viewMode === "block" ? "block" : "inline",
|
||||||
|
parentWidget: this.widget,
|
||||||
|
subTiddler: this.widget.viewSubTiddler
|
||||||
|
});
|
||||||
|
this.fakeNode = $tw.fakeDocument.createElement("div");
|
||||||
|
this.fakeWidget.makeChildWidgets();
|
||||||
|
this.fakeWidget.render(this.fakeNode,null);
|
||||||
|
};
|
||||||
|
|
||||||
|
ViewHandler.prototype.refreshWikified = function(changedTiddlers) {
|
||||||
|
var refreshed = this.fakeWidget.refresh(changedTiddlers);
|
||||||
|
if(refreshed) {
|
||||||
|
var newText = this.getValue();
|
||||||
|
if(newText !== this.text) {
|
||||||
|
this.widget.domNodes[0].textContent = newText;
|
||||||
|
this.text = newText;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return refreshed;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Base ViewHandler refresh method
|
||||||
|
*/
|
||||||
|
ViewHandler.prototype.refresh = function(changedTiddlers) {
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Inherit from the base widget class
|
Inherit from the base widget class
|
||||||
*/
|
*/
|
||||||
@ -30,14 +113,8 @@ ViewWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
this.parentDomNode = parent;
|
this.parentDomNode = parent;
|
||||||
this.computeAttributes();
|
this.computeAttributes();
|
||||||
this.execute();
|
this.execute();
|
||||||
if(this.text) {
|
this.view = this.getView(this.viewFormat);
|
||||||
var textNode = this.document.createTextNode(this.text);
|
this.view.render(parent,nextSibling);
|
||||||
parent.insertBefore(textNode,nextSibling);
|
|
||||||
this.domNodes.push(textNode);
|
|
||||||
} else {
|
|
||||||
this.makeChildWidgets();
|
|
||||||
this.renderChildren(parent,nextSibling);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -52,49 +129,238 @@ ViewWidget.prototype.execute = function() {
|
|||||||
this.viewFormat = this.getAttribute("format","text");
|
this.viewFormat = this.getAttribute("format","text");
|
||||||
this.viewTemplate = this.getAttribute("template","");
|
this.viewTemplate = this.getAttribute("template","");
|
||||||
this.viewMode = this.getAttribute("mode","block");
|
this.viewMode = this.getAttribute("mode","block");
|
||||||
switch(this.viewFormat) {
|
|
||||||
case "htmlwikified":
|
|
||||||
this.text = this.getValueAsHtmlWikified(this.viewMode);
|
|
||||||
break;
|
|
||||||
case "plainwikified":
|
|
||||||
this.text = this.getValueAsPlainWikified(this.viewMode);
|
|
||||||
break;
|
|
||||||
case "htmlencodedplainwikified":
|
|
||||||
this.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);
|
|
||||||
break;
|
|
||||||
case "htmlencoded":
|
|
||||||
this.text = this.getValueAsHtmlEncoded();
|
|
||||||
break;
|
|
||||||
case "htmltextencoded":
|
|
||||||
this.text = this.getValueAsHtmlTextEncoded();
|
|
||||||
break;
|
|
||||||
case "urlencoded":
|
|
||||||
this.text = this.getValueAsUrlEncoded();
|
|
||||||
break;
|
|
||||||
case "doubleurlencoded":
|
|
||||||
this.text = this.getValueAsDoubleUrlEncoded();
|
|
||||||
break;
|
|
||||||
case "date":
|
|
||||||
this.text = this.getValueAsDate(this.viewTemplate);
|
|
||||||
break;
|
|
||||||
case "relativedate":
|
|
||||||
this.text = this.getValueAsRelativeDate();
|
|
||||||
break;
|
|
||||||
case "stripcomments":
|
|
||||||
this.text = this.getValueAsStrippedComments();
|
|
||||||
break;
|
|
||||||
case "jsencoded":
|
|
||||||
this.text = this.getValueAsJsEncoded();
|
|
||||||
break;
|
|
||||||
default: // "text"
|
|
||||||
this.text = this.getValueAsText();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions
|
Initialise the view subclasses
|
||||||
*/
|
*/
|
||||||
|
ViewWidget.prototype.getView = function(format) {
|
||||||
|
var View = this.initialiseView();
|
||||||
|
View.prototype = Object.create(ViewHandler.prototype);
|
||||||
|
switch(format) {
|
||||||
|
case "htmlwikified":
|
||||||
|
View = this.initialiseHTMLWikifiedView(View);
|
||||||
|
break;
|
||||||
|
case "plainwikified":
|
||||||
|
View = this.initialisePlainWikifiedView(View);
|
||||||
|
break;
|
||||||
|
case "htmlencodedplainwikified":
|
||||||
|
View = this.initialiseHTMLEncodedPlainWikifiedView(View);
|
||||||
|
break;
|
||||||
|
case "htmlencoded":
|
||||||
|
View = this.initialiseHTMLEncodedView(View);
|
||||||
|
break;
|
||||||
|
case "htmltextencoded":
|
||||||
|
View = this.initialiseHTMLTextEncodedView(View);
|
||||||
|
break;
|
||||||
|
case "urlencoded":
|
||||||
|
View = this.initialiseURLEncodedView(View);
|
||||||
|
break;
|
||||||
|
case "doubleurlencoded":
|
||||||
|
View = this.initialiseDoubleURLEncodedView(View);
|
||||||
|
break;
|
||||||
|
case "date":
|
||||||
|
View = this.initialiseDateView(View);
|
||||||
|
break;
|
||||||
|
case "relativedate":
|
||||||
|
View = this.initialiseRelativeDateView(View);
|
||||||
|
break;
|
||||||
|
case "stripcomments":
|
||||||
|
View = this.initialiseStripCommentsView(View);
|
||||||
|
break;
|
||||||
|
case "jsencoded":
|
||||||
|
View = this.initialiseJSEncodedView(View);
|
||||||
|
break;
|
||||||
|
default: // "text"
|
||||||
|
View = this.initialiseTextView(View);
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
return new View(this);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Return the function to intitialise the view subclass
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseView = function() {
|
||||||
|
return function(widget) {
|
||||||
|
ViewHandler.call(this,widget);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise HTML wikified view methods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseHTMLWikifiedView = function(View) {
|
||||||
|
|
||||||
|
View.prototype.render = function(parent,nextSibling) {
|
||||||
|
this.renderWikified(parent,nextSibling);
|
||||||
|
};
|
||||||
|
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return this.fakeNode.innerHTML;
|
||||||
|
};
|
||||||
|
|
||||||
|
View.prototype.refresh = function(changedTiddlers) {
|
||||||
|
return this.refreshWikified(changedTiddlers);
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise plain wikified view methods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialisePlainWikifiedView = function(View) {
|
||||||
|
|
||||||
|
View.prototype.render = function(parent,nextSibling) {
|
||||||
|
this.renderWikified(parent,nextSibling);
|
||||||
|
};
|
||||||
|
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return this.fakeNode.textContent;
|
||||||
|
};
|
||||||
|
|
||||||
|
View.prototype.refresh = function(changedTiddlers) {
|
||||||
|
return this.refreshWikified(changedTiddlers);
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise HTML encoded plain wikified methods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseHTMLEncodedPlainWikifiedView = function(View) {
|
||||||
|
|
||||||
|
View.prototype.render = function(parent,nextSibling) {
|
||||||
|
this.renderWikified(parent,nextSibling);
|
||||||
|
};
|
||||||
|
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return $tw.utils.htmlEncode(this.fakeNode.textContent);
|
||||||
|
};
|
||||||
|
|
||||||
|
View.prototype.refresh = function(changedTiddlers) {
|
||||||
|
return this.refreshWikified(changedTiddlers);
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise HTML encoded mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseHTMLEncodedView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return $tw.utils.htmlEncode(self.getValueAsText());
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise HTML text encoded mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseHTMLTextEncodedView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return $tw.utils.htmlTextEncode(self.getValueAsText());
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise URL encoded mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseURLEncodedView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return $tw.utils.encodeURIComponentExtended(self.getValueAsText());
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise double URL encoded mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseDoubleURLEncodedView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return $tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(self.getValueAsText()));
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise date mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseDateView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function(format) {
|
||||||
|
format = format || "YYYY MM DD 0hh:0mm";
|
||||||
|
var value = $tw.utils.parseDate(self.getValue());
|
||||||
|
if(value && $tw.utils.isDate(value) && value.toString() !== "Invalid Date") {
|
||||||
|
return $tw.utils.formatDateString(value,format);
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise relative date mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseRelativeDateView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function(format) {
|
||||||
|
var value = $tw.utils.parseDate(self.getValue());
|
||||||
|
if(value && $tw.utils.isDate(value) && value.toString() !== "Invalid Date") {
|
||||||
|
return $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise stripcomments mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseStripCommentsView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
var lines = self.getValueAsText().split("\n"),
|
||||||
|
out = [];
|
||||||
|
for(var line=0; line<lines.length; line++) {
|
||||||
|
var text = lines[line];
|
||||||
|
if(!/^\s*\/\/#/.test(text)) {
|
||||||
|
out.push(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out.join("\n");
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise JS encoded mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseJSEncodedView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return $tw.utils.stringify(self.getValueAsText());
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Initialise text mehods
|
||||||
|
*/
|
||||||
|
ViewWidget.prototype.initialiseTextView = function(View) {
|
||||||
|
var self = this;
|
||||||
|
View.prototype.getValue = function() {
|
||||||
|
return self.getValueAsText();
|
||||||
|
};
|
||||||
|
return View;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Retrieve the value of the widget. Options are:
|
Retrieve the value of the widget. Options are:
|
||||||
@ -138,78 +404,6 @@ ViewWidget.prototype.getValueAsText = function() {
|
|||||||
return this.getValue({asString: true});
|
return this.getValue({asString: true});
|
||||||
};
|
};
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsHtmlWikified = function(mode) {
|
|
||||||
return this.wiki.renderText("text/html","text/vnd.tiddlywiki",this.getValueAsText(),{
|
|
||||||
parseAsInline: mode !== "block",
|
|
||||||
parentWidget: this
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsPlainWikified = function(mode) {
|
|
||||||
return this.wiki.renderText("text/plain","text/vnd.tiddlywiki",this.getValueAsText(),{
|
|
||||||
parseAsInline: mode !== "block",
|
|
||||||
parentWidget: this
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {
|
|
||||||
return $tw.utils.htmlEncode(this.wiki.renderText("text/plain","text/vnd.tiddlywiki",this.getValueAsText(),{
|
|
||||||
parseAsInline: mode !== "block",
|
|
||||||
parentWidget: this
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsHtmlEncoded = function() {
|
|
||||||
return $tw.utils.htmlEncode(this.getValueAsText());
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsHtmlTextEncoded = function() {
|
|
||||||
return $tw.utils.htmlTextEncode(this.getValueAsText());
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsUrlEncoded = function() {
|
|
||||||
return $tw.utils.encodeURIComponentExtended(this.getValueAsText());
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {
|
|
||||||
return $tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(this.getValueAsText()));
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsDate = function(format) {
|
|
||||||
format = format || "YYYY MM DD 0hh:0mm";
|
|
||||||
var value = $tw.utils.parseDate(this.getValue());
|
|
||||||
if(value && $tw.utils.isDate(value) && value.toString() !== "Invalid Date") {
|
|
||||||
return $tw.utils.formatDateString(value,format);
|
|
||||||
} else {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsRelativeDate = function(format) {
|
|
||||||
var value = $tw.utils.parseDate(this.getValue());
|
|
||||||
if(value && $tw.utils.isDate(value) && value.toString() !== "Invalid Date") {
|
|
||||||
return $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;
|
|
||||||
} else {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsStrippedComments = function() {
|
|
||||||
var lines = this.getValueAsText().split("\n"),
|
|
||||||
out = [];
|
|
||||||
for(var line=0; line<lines.length; line++) {
|
|
||||||
var text = lines[line];
|
|
||||||
if(!/^\s*\/\/#/.test(text)) {
|
|
||||||
out.push(text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return out.join("\n");
|
|
||||||
};
|
|
||||||
|
|
||||||
ViewWidget.prototype.getValueAsJsEncoded = function() {
|
|
||||||
return $tw.utils.stringify(this.getValueAsText());
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
|
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
|
||||||
*/
|
*/
|
||||||
@ -219,7 +413,7 @@ ViewWidget.prototype.refresh = function(changedTiddlers) {
|
|||||||
this.refreshSelf();
|
this.refreshSelf();
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return this.view.refresh(changedTiddlers);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -194,18 +194,24 @@ options.prefix must be a string
|
|||||||
*/
|
*/
|
||||||
exports.generateNewTitle = function(baseTitle,options) {
|
exports.generateNewTitle = function(baseTitle,options) {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
var c = 0,
|
var title = baseTitle,
|
||||||
title = baseTitle,
|
template = options.template || "",
|
||||||
template = options.template,
|
// test if .startCount is a positive integer. If not set to 0
|
||||||
|
c = (parseInt(options.startCount,10) > 0) ? parseInt(options.startCount,10) : 0,
|
||||||
prefix = (typeof(options.prefix) === "string") ? options.prefix : " ";
|
prefix = (typeof(options.prefix) === "string") ? options.prefix : " ";
|
||||||
|
|
||||||
if (template) {
|
if (template) {
|
||||||
// "count" is important to avoid an endless loop in while(...)!!
|
// "count" is important to avoid an endless loop in while(...)!!
|
||||||
template = (/\$count:?(\d+)?\$/i.test(template)) ? template : template + "$count$";
|
template = (/\$count:?(\d+)?\$/i.test(template)) ? template : template + "$count$";
|
||||||
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":c});
|
// .formatTitleString() expects strings as input
|
||||||
|
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":c+""});
|
||||||
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
|
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
|
||||||
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":(++c)});
|
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":(++c)+""});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if (c > 0) {
|
||||||
|
title = baseTitle + prefix + c;
|
||||||
|
}
|
||||||
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
|
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
|
||||||
title = baseTitle + prefix + (++c);
|
title = baseTitle + prefix + (++c);
|
||||||
}
|
}
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
title: $:/core/templates/server/static.tiddler.wikitext
|
title: $:/core/templates/server/static.tiddler.wikitext
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<div class="tc-tiddler-title">
|
<div class="tc-tiddler-title tc-clearfix">
|
||||||
<div class="tc-titlebar">
|
<div class="tc-titlebar">
|
||||||
<h2><$text text=<<currentTiddler>>/></h2>
|
<h2><$text text=<<currentTiddler>>/></h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tc-subtitle">
|
<div class="tc-subtitle tc-clearfix">
|
||||||
<$link to={{!!modifier}}>
|
<$link to={{!!modifier}}>
|
||||||
<$view field="modifier"/>
|
<$view field="modifier"/>
|
||||||
</$link> <$view field="modified" format="date" template={{$:/language/Tiddler/DateFormat}}/>
|
</$link> <$view field="modified" format="date" template={{$:/language/Tiddler/DateFormat}}/>
|
||||||
</div>
|
</div>
|
||||||
<div class="tc-tags-wrapper">
|
<div class="tc-tags-wrapper" tc-clearfix>
|
||||||
<$list filter="[all[current]tags[]sort[title]]">
|
<$list filter="[all[current]tags[]sort[title]]">
|
||||||
<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>
|
<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>
|
||||||
<$macrocall $name="tag-pill" tag=<<currentTiddler>>/>
|
<$macrocall $name="tag-pill" tag=<<currentTiddler>>/>
|
||||||
</a>
|
</a>
|
||||||
</$list>
|
</$list>
|
||||||
</div>
|
</div>
|
||||||
<div class="tc-tiddler-body">
|
<div class="tc-tiddler-body tc-clearfix">
|
||||||
<$transclude mode="block"/>
|
<$transclude mode="block"/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,7 +4,7 @@ tags: $:/tags/RawMarkupWikified
|
|||||||
\procedure meta-plain(name,source,name-attribute:"name")
|
\procedure meta-plain(name,source,name-attribute:"name")
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<%if [<source>has[text]] %>
|
<%if [<source>has[text]] %>
|
||||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>">
|
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>">
|
||||||
<$text text={{{ [charcode[10]] }}}/>
|
<$text text={{{ [charcode[10]] }}}/>
|
||||||
<%endif%>
|
<%endif%>
|
||||||
\end meta-plain
|
\end meta-plain
|
||||||
@ -13,7 +13,7 @@ tags: $:/tags/RawMarkupWikified
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<%if [<source>has[text]] %>
|
<%if [<source>has[text]] %>
|
||||||
<$wikify name="html" text={{{ [<source>get[text]] }}} output="text">
|
<$wikify name="html" text={{{ [<source>get[text]] }}} output="text">
|
||||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>">
|
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>">
|
||||||
<$text text={{{ [charcode[10]] }}}/>
|
<$text text={{{ [charcode[10]] }}}/>
|
||||||
</$wikify>
|
</$wikify>
|
||||||
<%endif%>
|
<%endif%>
|
||||||
|
@ -57,3 +57,4 @@ title: $:/core/templates/tiddlywiki5.html
|
|||||||
`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`
|
`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`
|
||||||
</body>
|
</body>
|
||||||
</html>`
|
</html>`
|
||||||
|
</$set>
|
||||||
|
@ -2,10 +2,10 @@ title: $:/core/ui/Actions/new-journal
|
|||||||
tags: $:/tags/Actions
|
tags: $:/tags/Actions
|
||||||
description: create a new journal tiddler
|
description: create a new journal tiddler
|
||||||
|
|
||||||
\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>
|
\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]
|
||||||
<$wikify name="journalTitle" text="<$macrocall $name='now' format=<<journalTitleTemplate>>/>">
|
<$let journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>
|
||||||
|
<$wikify name="journalTitle" text="<$transclude $variable='now' format=<<journalTitleTemplate>>/>">
|
||||||
<$reveal type="nomatch" state=<<journalTitle>> text="">
|
<$reveal type="nomatch" state=<<journalTitle>> text="">
|
||||||
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>
|
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
@ -13,4 +13,4 @@ description: create a new journal tiddler
|
|||||||
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>
|
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
</$wikify>
|
</$wikify>
|
||||||
</$vars>
|
</$let>
|
||||||
|
@ -2,8 +2,8 @@ title: $:/core/ui/Actions/new-tiddler
|
|||||||
tags: $:/tags/Actions
|
tags: $:/tags/Actions
|
||||||
description: create a new empty tiddler
|
description: create a new empty tiddler
|
||||||
|
|
||||||
\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$vars textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>
|
\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]
|
||||||
|
<$let textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>
|
||||||
<$action-sendmessage $message="tm-new-tiddler" tags=<<get-tags>>/>
|
<$action-sendmessage $message="tm-new-tiddler" tags=<<get-tags>>/>
|
||||||
</$vars>
|
</$let>
|
||||||
|
@ -9,14 +9,16 @@ caption: {{$:/language/Search/Filter/Caption}}
|
|||||||
tag="$:/tags/AdvancedSearch"
|
tag="$:/tags/AdvancedSearch"
|
||||||
beforeafter="$beforeafter$"
|
beforeafter="$beforeafter$"
|
||||||
defaultState="$:/core/ui/AdvancedSearch/System"
|
defaultState="$:/core/ui/AdvancedSearch/System"
|
||||||
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
|
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
|
||||||
|
/>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define cancel-search-actions()
|
\define cancel-search-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]">
|
||||||
filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]"
|
<$list-empty>
|
||||||
emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />">
|
<$action-deletetiddler $filter="[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]"/>
|
||||||
|
</$list-empty>
|
||||||
<$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/>
|
<$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/>
|
||||||
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
|
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
|
||||||
</$list>
|
</$list>
|
||||||
@ -24,26 +26,38 @@ caption: {{$:/language/Search/Filter/Caption}}
|
|||||||
|
|
||||||
\define input-accept-actions()
|
\define input-accept-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
||||||
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
<$list-empty>
|
||||||
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
|
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
|
||||||
|
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
|
||||||
|
</$list>
|
||||||
|
<$/list-empty>
|
||||||
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
|
||||||
</$list>
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define input-accept-variant-actions()
|
\define input-accept-variant-actions()
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$list
|
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
|
||||||
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
|
<$list-empty>
|
||||||
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
|
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
|
||||||
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
||||||
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
|
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
|
||||||
</$list></$list>
|
</$list>
|
||||||
|
</$list>
|
||||||
|
</$list-empty>
|
||||||
|
<$list filter="[<__tiddler__>get[text]minlength[1]]">
|
||||||
|
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
|
||||||
|
</$list>
|
||||||
|
</$list>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
<<lingo Filter/Hint>>
|
<<lingo Filter/Hint>>
|
||||||
|
|
||||||
<div class="tc-search tc-advanced-search">
|
<div class="tc-search tc-advanced-search">
|
||||||
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
|
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>> class="tc-small-gap-right">
|
||||||
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
|
||||||
<$macrocall $name="keyboard-driven-input"
|
<$macrocall $name="keyboard-driven-input"
|
||||||
tiddler="$:/temp/advancedsearch/input"
|
tiddler="$:/temp/advancedsearch/input"
|
||||||
@ -57,21 +71,22 @@ caption: {{$:/language/Search/Filter/Caption}}
|
|||||||
firstSearchFilterField="text"
|
firstSearchFilterField="text"
|
||||||
inputAcceptActions=<<input-accept-actions>>
|
inputAcceptActions=<<input-accept-actions>>
|
||||||
inputAcceptVariantActions=<<input-accept-variant-actions>>
|
inputAcceptVariantActions=<<input-accept-variant-actions>>
|
||||||
inputCancelActions=<<cancel-search-actions>>/>
|
inputCancelActions=<<cancel-search-actions>>
|
||||||
|
/>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
</$keyboard>
|
</$keyboard>
|
||||||
 
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]">
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]"><$transclude/></$list>
|
<$transclude/>
|
||||||
|
</$list>
|
||||||
</div>
|
</div>
|
||||||
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
|
|
||||||
|
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="" tag="div" class="tc-search-results">
|
||||||
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
|
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
|
||||||
<div class="tc-search-results">
|
|
||||||
<p><<lingo Filter/Matches>></p>
|
<p><<lingo Filter/Matches>></p>
|
||||||
<$list filter={{$:/temp/advancedsearch}}>
|
<$list filter={{$:/temp/advancedsearch}}>
|
||||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
</$list>
|
||||||
</div>
|
|
||||||
</$set>
|
</$set>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
|
@ -79,11 +79,15 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
|
|||||||
|
|
||||||
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
||||||
|
|
||||||
<$set name="resultCount" value="<$count filter='[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]'/>">
|
<$set name="resultCount" value={{{ [all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] +[count[]]}}}>
|
||||||
|
|
||||||
<div class="tc-search-results">
|
<div class="tc-search-results">
|
||||||
|
|
||||||
|
<%if [<resultCount>match[0]] %>
|
||||||
|
{{$:/language/Search/Matches/NoMatch}}
|
||||||
|
<%else%>
|
||||||
<<lingo Shadows/Matches>>
|
<<lingo Shadows/Matches>>
|
||||||
|
<%endif%>
|
||||||
|
|
||||||
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]">
|
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]">
|
||||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||||
|
@ -78,11 +78,15 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
|
|||||||
|
|
||||||
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
|
||||||
|
|
||||||
<$set name="resultCount" value="<$count filter='[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]'/>">
|
<$set name="resultCount" value={{{ [is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>
|
||||||
|
|
||||||
<div class="tc-search-results">
|
<div class="tc-search-results">
|
||||||
|
|
||||||
|
<%if [<resultCount>match[0]] %>
|
||||||
|
{{$:/language/Search/Matches/NoMatch}}
|
||||||
|
<%else%>
|
||||||
<<lingo System/Matches>>
|
<<lingo System/Matches>>
|
||||||
|
<%endif%>
|
||||||
|
|
||||||
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]">
|
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]">
|
||||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||||
|
@ -47,13 +47,13 @@ $:/config/Plugins/Disabled/$(currentTiddler)$
|
|||||||
<h2>
|
<h2>
|
||||||
<div>
|
<div>
|
||||||
<%if [<currentTiddler>get[stability]match[STABILITY_0_DEPRECATED]] %>
|
<%if [<currentTiddler>get[stability]match[STABILITY_0_DEPRECATED]] %>
|
||||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated">DEPRECATED</span>
|
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated"><<lingo "Stability/Deprecated">></span>
|
||||||
<%elseif [<currentTiddler>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>
|
<%elseif [<currentTiddler>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>
|
||||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental">EXPERIMENTAL</span>
|
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental"><<lingo "Stability/Experimental">></span>
|
||||||
<%elseif [<currentTiddler>get[stability]match[STABILITY_2_STABLE]] %>
|
<%elseif [<currentTiddler>get[stability]match[STABILITY_2_STABLE]] %>
|
||||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable">STABLE</span>
|
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable"><<lingo "Stability/Stable">></span>
|
||||||
<%elseif [<currentTiddler>get[stability]match[STABILITY_3_LEGACY]] %>
|
<%elseif [<currentTiddler>get[stability]match[STABILITY_3_LEGACY]] %>
|
||||||
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy">LEGACY</span>
|
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy"><<lingo "Stability/Legacy">></span>
|
||||||
<%endif%>
|
<%endif%>
|
||||||
<em><$view field="version"/></em></div>
|
<em><$view field="version"/></em></div>
|
||||||
</h2>
|
</h2>
|
||||||
|
@ -2,22 +2,7 @@ title: $:/core/ui/ControlPanel/Basics
|
|||||||
tags: $:/tags/ControlPanel/Info
|
tags: $:/tags/ControlPanel/Info
|
||||||
caption: {{$:/language/ControlPanel/Basics/Caption}}
|
caption: {{$:/language/ControlPanel/Basics/Caption}}
|
||||||
|
|
||||||
\define lingo-base() $:/language/ControlPanel/Basics/
|
\procedure lingo-base() $:/language/ControlPanel/Basics/
|
||||||
|
|
||||||
\define show-filter-count(filter)
|
|
||||||
\whitespace trim
|
|
||||||
<$button class="tc-btn-invisible">
|
|
||||||
<$action-setfield $tiddler="$:/temp/advancedsearch" $value="""$filter$"""/>
|
|
||||||
<$action-setfield $tiddler="$:/temp/advancedsearch/input" $value="""$filter$"""/>
|
|
||||||
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
|
|
||||||
<$action-setfield $tiddler="$:/state/tab--1498284803" $value="$:/core/ui/AdvancedSearch/Filter"/>
|
|
||||||
<$action-navigate $to="$:/AdvancedSearch"/>
|
|
||||||
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
|
||||||
''<$count filter="""$filter$"""/>''
|
|
||||||
 
|
|
||||||
{{$:/core/images/advanced-search-button}}
|
|
||||||
</$button>
|
|
||||||
\end
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
|tc-max-width tc-edit-max-width|k
|
|tc-max-width tc-edit-max-width|k
|
||||||
|
@ -9,7 +9,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
|
|||||||
//<small>{{$:/language/Search/Matches/Title}}</small>//
|
//<small>{{$:/language/Search/Matches/Title}}</small>//
|
||||||
|
|
||||||
<$list filter="[<userInput>minlength[1]]" variable="ignore">
|
<$list filter="[<userInput>minlength[1]]" variable="ignore">
|
||||||
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>
|
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
|
||||||
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||||
</span>
|
</span>
|
||||||
@ -19,7 +19,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
|
|||||||
//<small>{{$:/language/Search/Matches/All}}</small>//
|
//<small>{{$:/language/Search/Matches/All}}</small>//
|
||||||
|
|
||||||
<$list filter="[<userInput>minlength[1]]" variable="ignore">
|
<$list filter="[<userInput>minlength[1]]" variable="ignore">
|
||||||
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>
|
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
|
||||||
<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
|
||||||
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
|
||||||
</span>
|
</span>
|
||||||
|
@ -3,7 +3,7 @@ tags: $:/tags/EditTemplate
|
|||||||
|
|
||||||
\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$
|
\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<div class="tc-tiddler-title tc-tiddler-edit-title">
|
<div class="tc-tiddler-title tc-tiddler-edit-title tc-clearfix">
|
||||||
<$view field="title"/>
|
<$view field="title"/>
|
||||||
<span class="tc-tiddler-controls tc-titlebar">
|
<span class="tc-tiddler-controls tc-titlebar">
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]" variable="listItem">
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]" variable="listItem">
|
||||||
@ -14,5 +14,4 @@ tags: $:/tags/EditTemplate
|
|||||||
</$let>
|
</$let>
|
||||||
</$list>
|
</$list>
|
||||||
</span>
|
</span>
|
||||||
<div style="clear: both;"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,11 +4,15 @@ caption: {{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}
|
|||||||
description: {{$:/language/Buttons/Cancel/Hint}}
|
description: {{$:/language/Buttons/Cancel/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button actions=<<cancel-delete-tiddler-actions "cancel">> tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button actions=<<cancel-delete-tiddler-actions "cancel">>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
tooltip={{$:/language/Buttons/Cancel/Hint}}
|
||||||
|
aria-label={{$:/language/Buttons/Cancel/Hint}}
|
||||||
|
class=<<tv-config-toolbar-class>>
|
||||||
|
>
|
||||||
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/cancel-button}}
|
{{$:/core/images/cancel-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
|
@ -4,11 +4,15 @@ caption: {{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}
|
|||||||
description: {{$:/language/Buttons/Delete/Hint}}
|
description: {{$:/language/Buttons/Delete/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button actions=<<cancel-delete-tiddler-actions "delete">> tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button actions=<<cancel-delete-tiddler-actions "delete">>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
tooltip={{$:/language/Buttons/Delete/Hint}}
|
||||||
|
aria-label={{$:/language/Buttons/Delete/Hint}}
|
||||||
|
class=<<tv-config-toolbar-class>>
|
||||||
|
>
|
||||||
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/delete-button}}
|
{{$:/core/images/delete-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
|
@ -4,21 +4,20 @@ caption: {{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}
|
|||||||
description: {{$:/language/Buttons/Save/Hint}}
|
description: {{$:/language/Buttons/Save/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define save-tiddler-button()
|
\procedure save-tiddler-button()
|
||||||
\whitespace trim
|
|
||||||
<$fieldmangler>
|
<$fieldmangler>
|
||||||
<$button
|
<$button
|
||||||
tooltip={{$:/language/Buttons/Save/Hint}}
|
tooltip={{$:/language/Buttons/Save/Hint}}
|
||||||
aria-label={{$:/language/Buttons/Save/Caption}}
|
aria-label={{$:/language/Buttons/Save/Hint}}
|
||||||
class=<<tv-config-toolbar-class>>
|
class=<<tv-config-toolbar-class>>
|
||||||
>
|
>
|
||||||
<<save-tiddler-actions>>
|
<<save-tiddler-actions>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/done-button}}
|
{{$:/core/images/done-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Save/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Save/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</$fieldmangler>
|
</$fieldmangler>
|
||||||
\end
|
\end
|
||||||
|
@ -11,4 +11,5 @@ shortcuts: ((bold))
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="''"
|
prefix="''"
|
||||||
suffix="''"
|
suffix="''"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -3,7 +3,7 @@ tags: $:/tags/EditorToolbar
|
|||||||
icon: $:/core/images/excise
|
icon: $:/core/images/excise
|
||||||
caption: {{$:/language/Buttons/Excise/Caption}}
|
caption: {{$:/language/Buttons/Excise/Caption}}
|
||||||
description: {{$:/language/Buttons/Excise/Hint}}
|
description: {{$:/language/Buttons/Excise/Hint}}
|
||||||
condition: [<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]] +[first[]]
|
condition: [<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] [<targetTiddler>type[text/markdown]] [<targetTiddler>type[text/x-markdown]] +[first[]]
|
||||||
shortcuts: ((excise))
|
shortcuts: ((excise))
|
||||||
dropdown: $:/core/ui/EditorToolbar/excise-dropdown
|
dropdown: $:/core/ui/EditorToolbar/excise-dropdown
|
||||||
|
|
||||||
|
@ -11,4 +11,5 @@ shortcuts: ((italic))
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="//"
|
prefix="//"
|
||||||
suffix="//"
|
suffix="//"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -12,4 +12,5 @@ tags: $:/tags/EditorToolbar
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="[["
|
prefix="[["
|
||||||
suffix="]]"
|
suffix="]]"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -11,4 +11,5 @@ shortcuts: ((mono-line))
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="`"
|
prefix="`"
|
||||||
suffix="`"
|
suffix="`"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -11,4 +11,5 @@ shortcuts: ((strikethrough))
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="~~"
|
prefix="~~"
|
||||||
suffix="~~"
|
suffix="~~"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -11,4 +11,5 @@ shortcuts: ((subscript))
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix=",,"
|
prefix=",,"
|
||||||
suffix=",,"
|
suffix=",,"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -11,4 +11,5 @@ shortcuts: ((superscript))
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="^^"
|
prefix="^^"
|
||||||
suffix="^^"
|
suffix="^^"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -12,4 +12,5 @@ tags: $:/tags/EditorToolbar
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="{{"
|
prefix="{{"
|
||||||
suffix="}}"
|
suffix="}}"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -11,4 +11,5 @@ shortcuts: ((underline))
|
|||||||
$param="wrap-selection"
|
$param="wrap-selection"
|
||||||
prefix="__"
|
prefix="__"
|
||||||
suffix="__"
|
suffix="__"
|
||||||
|
trimSelection="yes"
|
||||||
/>
|
/>
|
||||||
|
@ -4,15 +4,14 @@ caption: {{$:/core/images/advanced-search-button}} {{$:/language/Buttons/Advance
|
|||||||
description: {{$:/language/Buttons/AdvancedSearch/Hint}}
|
description: {{$:/language/Buttons/AdvancedSearch/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define advanced-search-button(class)
|
\procedure advanced-search-button(class)
|
||||||
\whitespace trim
|
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
|
||||||
{{$:/core/images/advanced-search-button}}
|
{{$:/core/images/advanced-search-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/CloseAll/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-close-all-tiddlers" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-close-all-tiddlers" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/close-all-button}}
|
{{$:/core/images/close-all-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/CloseAll/Caption}}/>
|
<$text text={{$:/language/Buttons/CloseAll/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -4,15 +4,14 @@ caption: {{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Ca
|
|||||||
description: {{$:/language/Buttons/ControlPanel/Hint}}
|
description: {{$:/language/Buttons/ControlPanel/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define control-panel-button(class)
|
\procedure control-panel-button(class)
|
||||||
\whitespace trim
|
<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
|
||||||
{{$:/core/images/options-button}}
|
{{$:/core/images/options-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
|
@ -6,25 +6,25 @@ description: {{$:/language/Buttons/Encryption/Hint}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$reveal type="match" state="$:/isEncrypted" text="yes">
|
<$reveal type="match" state="$:/isEncrypted" text="yes">
|
||||||
<$button message="tm-clear-password" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-clear-password" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/locked-padlock}}
|
{{$:/core/images/locked-padlock}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/>
|
<$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
<$reveal type="nomatch" state="$:/isEncrypted" text="yes">
|
<$reveal type="nomatch" state="$:/isEncrypted" text="yes">
|
||||||
<$button message="tm-set-password" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-set-password" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/unlocked-padlock}}
|
{{$:/core/images/unlocked-padlock}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/>
|
<$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
|
@ -3,4 +3,4 @@ tags: $:/tags/PageControls
|
|||||||
caption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}
|
caption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}
|
||||||
description: {{$:/language/Buttons/ExportPage/Hint}}
|
description: {{$:/language/Buttons/ExportPage/Hint}}
|
||||||
|
|
||||||
<$macrocall $name="exportButton" exportFilter="[!is[system]sort[title]]" lingoBase="$:/language/Buttons/ExportPage/"/>
|
<$transclude $variable="exportButton" exportFilter="[!is[system]sort[title]]" lingoBase="$:/language/Buttons/ExportPage/"/>
|
@ -6,12 +6,12 @@ description: {{$:/language/Buttons/FoldAll/Hint}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-sendmessage $message="tm-fold-all-tiddlers" $param=<<currentTiddler>> foldedStatePrefix="$:/state/folded/"/>
|
<$action-sendmessage $message="tm-fold-all-tiddlers" $param=<<currentTiddler>> foldedStatePrefix="$:/state/folded/"/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/fold-all-button}}
|
{{$:/core/images/fold-all-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/FoldAll/Caption}}/>
|
<$text text={{$:/language/Buttons/FoldAll/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/FullScreen/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-full-screen" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-full-screen" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/full-screen-button}}
|
{{$:/core/images/full-screen-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/FullScreen/Caption}}/>
|
<$text text={{$:/language/Buttons/FullScreen/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/Home/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-home" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-home" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/home-button}}
|
{{$:/core/images/home-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Home/Caption}}/>
|
<$text text={{$:/language/Buttons/Home/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -6,14 +6,14 @@ description: {{$:/language/Buttons/Import/Hint}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<div class="tc-file-input-wrapper">
|
<div class="tc-file-input-wrapper">
|
||||||
<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/import-button}}
|
{{$:/core/images/import-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Import/Caption}}/>
|
<$text text={{$:/language/Buttons/Import/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>
|
<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>
|
||||||
</div>
|
</div>
|
@ -4,21 +4,18 @@ caption: {{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}
|
|||||||
description: {{$:/language/Buttons/Language/Hint}}
|
description: {{$:/language/Buttons/Language/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define flag-title()
|
|
||||||
$(languagePluginTitle)$/icon
|
|
||||||
\end
|
|
||||||
<span class="tc-popup-keep">
|
<span class="tc-popup-keep">
|
||||||
<$button popup=<<qualify "$:/state/popup/language">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button popup=<<qualify "$:/state/popup/language">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<span class="tc-image-button">
|
<span class="tc-image-button">
|
||||||
<$set name="languagePluginTitle" value={{$:/language}}>
|
<$set name="languagePluginTitle" value={{$:/language}}>
|
||||||
<$image source=<<flag-title>>/>
|
<$image source=`$(languagePluginTitle)$/icon`/>
|
||||||
</$set>
|
</$set>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Language/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Language/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</span>
|
</span>
|
||||||
<$reveal state=<<qualify "$:/state/popup/language">> type="popup" position="below" animate="yes">
|
<$reveal state=<<qualify "$:/state/popup/language">> type="popup" position="below" animate="yes">
|
||||||
|
@ -6,10 +6,10 @@ description: {{$:/language/LayoutSwitcher/Description}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button tooltip={{$:/language/Buttons/LayoutSwitcher/Hint}} aria-label={{$:/language/Buttons/LayoutSwitcher/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/LayoutSwitcher/Hint}} aria-label={{$:/language/Buttons/LayoutSwitcher/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-sendmessage $message="tm-show-switcher" switch="layout"/>
|
<$action-sendmessage $message="tm-show-switcher" switch="layout"/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/layout-button}}
|
{{$:/core/images/layout-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/LayoutSwitcher/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/LayoutSwitcher/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
|
@ -4,17 +4,16 @@ caption: {{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}
|
|||||||
description: {{$:/language/Buttons/Manager/Hint}}
|
description: {{$:/language/Buttons/Manager/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define manager-button(class)
|
\procedure manager-button(class)
|
||||||
\whitespace trim
|
<$button to="$:/Manager" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<$button to="$:/Manager" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
|
||||||
{{$:/core/images/list}}
|
{{$:/core/images/list}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Manager/Caption}}/>
|
<$text text={{$:/language/Buttons/Manager/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
|
@ -12,20 +12,18 @@ description: {{$:/language/Buttons/More/Hint}}
|
|||||||
class=<<tv-config-toolbar-class>>
|
class=<<tv-config-toolbar-class>>
|
||||||
selectedClass="tc-selected"
|
selectedClass="tc-selected"
|
||||||
>
|
>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/down-arrow}}
|
{{$:/core/images/down-arrow}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/More/Caption}}/>
|
<$text text={{$:/language/Buttons/More/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
<$reveal state=<<qualify "$:/state/popup/more">> type="popup" position="below" animate="yes">
|
<$reveal state=<<qualify "$:/state/popup/more">> type="popup" position="below" animate="yes">
|
||||||
<div class="tc-drop-down">
|
<div class="tc-drop-down">
|
||||||
<$set name="tv-config-toolbar-icons" value="yes">
|
<$let tv-config-toolbar-icons="yes" tv-config-toolbar-text="yes" tv-config-toolbar-class="tc-btn-invisible">
|
||||||
<$set name="tv-config-toolbar-text" value="yes">
|
|
||||||
<$set name="tv-config-toolbar-class" value="tc-btn-invisible">
|
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]"
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]"
|
||||||
variable="listItem"
|
variable="listItem"
|
||||||
>
|
>
|
||||||
@ -37,8 +35,6 @@ description: {{$:/language/Buttons/More/Hint}}
|
|||||||
</$set>
|
</$set>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
</$list>
|
</$list>
|
||||||
</$set>
|
</$let>
|
||||||
</$set>
|
|
||||||
</$set>
|
|
||||||
</div>
|
</div>
|
||||||
</$reveal>
|
</$reveal>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/NetworkActivity/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-http-cancel-all-requests" tooltip={{$:/language/Buttons/NetworkActivity/Hint}} aria-label={{$:/language/Buttons/NetworkActivity/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-http-cancel-all-requests" tooltip={{$:/language/Buttons/NetworkActivity/Hint}} aria-label={{$:/language/Buttons/NetworkActivity/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/network-activity}}
|
{{$:/core/images/network-activity}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/NetworkActivity/Caption}}/>
|
<$text text={{$:/language/Buttons/NetworkActivity/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/NewImage/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>
|
<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/new-image-button}}
|
{{$:/core/images/new-image-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/NewImage/Caption}}/>
|
<$text text={{$:/language/Buttons/NewImage/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
|
@ -4,17 +4,16 @@ caption: {{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/
|
|||||||
description: {{$:/language/Buttons/NewJournal/Hint}}
|
description: {{$:/language/Buttons/NewJournal/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define journalButton()
|
\procedure journalButton()
|
||||||
\whitespace trim
|
|
||||||
<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>
|
<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/new-journal-button}}
|
{{$:/core/images/new-journal-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/NewJournal/Caption}}/>
|
<$text text={{$:/language/Buttons/NewJournal/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
<<journalButton>>
|
<<journalButton>>
|
||||||
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/NewTiddler/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/new-button}}
|
{{$:/core/images/new-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/NewTiddler/Caption}}/>
|
<$text text={{$:/language/Buttons/NewTiddler/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
|
@ -6,12 +6,12 @@ description: {{$:/language/Buttons/Palette/Hint}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<span class="tc-popup-keep">
|
<span class="tc-popup-keep">
|
||||||
<$button popup=<<qualify "$:/state/popup/palette">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button popup=<<qualify "$:/state/popup/palette">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/palette}}
|
{{$:/core/images/palette}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</span>
|
</span>
|
||||||
<$reveal state=<<qualify "$:/state/popup/palette">> type="popup" position="below" animate="yes">
|
<$reveal state=<<qualify "$:/state/popup/palette">> type="popup" position="below" animate="yes">
|
||||||
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/Print/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-print" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-print" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/print-button}}
|
{{$:/core/images/print-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Print/Caption}}/>
|
<$text text={{$:/language/Buttons/Print/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/Refresh/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-browser-refresh" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-browser-refresh" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/refresh-button}}
|
{{$:/core/images/refresh-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Refresh/Caption}}/>
|
<$text text={{$:/language/Buttons/Refresh/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -9,13 +9,13 @@ description: {{$:/language/Buttons/SaveWiki/Hint}}
|
|||||||
<$action-sendmessage $message="tm-save-wiki" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>
|
<$action-sendmessage $message="tm-save-wiki" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>
|
||||||
</$wikify>
|
</$wikify>
|
||||||
<span class="tc-dirty-indicator">
|
<span class="tc-dirty-indicator">
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/save-button-dynamic}}
|
{{$:/core/images/save-button-dynamic}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/SaveWiki/Caption}}/>
|
<$text text={{$:/language/Buttons/SaveWiki/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</span>
|
</span>
|
||||||
</$button>
|
</$button>
|
@ -4,19 +4,16 @@ caption: {{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Ca
|
|||||||
description: {{$:/language/Buttons/StoryView/Hint}}
|
description: {{$:/language/Buttons/StoryView/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define icon()
|
|
||||||
$:/core/images/storyview-$(storyview)$
|
|
||||||
\end
|
|
||||||
<span class="tc-popup-keep">
|
<span class="tc-popup-keep">
|
||||||
<$button popup=<<qualify "$:/state/popup/storyview">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button popup=<<qualify "$:/state/popup/storyview">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<$set name="storyview" value={{$:/view}}>
|
<$set name="storyview" value={{$:/view}}>
|
||||||
<$transclude tiddler=<<icon>>/>
|
<$transclude tiddler=`$:/core/images/storyview-$(storyview)$`/>
|
||||||
</$set>
|
</$set>
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</span>
|
</span>
|
||||||
<$reveal state=<<qualify "$:/state/popup/storyview">> type="popup" position="below" animate="yes">
|
<$reveal state=<<qualify "$:/state/popup/storyview">> type="popup" position="below" animate="yes">
|
||||||
|
@ -4,17 +4,16 @@ caption: {{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}
|
|||||||
description: {{$:/language/Buttons/TagManager/Hint}}
|
description: {{$:/language/Buttons/TagManager/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define control-panel-button(class)
|
\procedure control-panel-button(class)
|
||||||
\whitespace trim
|
<$button to="$:/TagManager" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
|
||||||
<$button to="$:/TagManager" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
|
||||||
{{$:/core/images/tag-button}}
|
{{$:/core/images/tag-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/TagManager/Caption}}/>
|
<$text text={{$:/language/Buttons/TagManager/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
|
@ -6,12 +6,12 @@ description: {{$:/language/Buttons/Theme/Hint}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<span class="tc-popup-keep">
|
<span class="tc-popup-keep">
|
||||||
<$button popup=<<qualify "$:/state/popup/theme">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button popup=<<qualify "$:/state/popup/theme">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/theme-button}}
|
{{$:/core/images/theme-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>
|
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</span>
|
</span>
|
||||||
<$reveal state=<<qualify "$:/state/popup/theme">> type="popup" position="below" animate="yes">
|
<$reveal state=<<qualify "$:/state/popup/theme">> type="popup" position="below" animate="yes">
|
||||||
|
@ -7,26 +7,26 @@ description: {{$:/language/Buttons/Timestamp/Hint}}
|
|||||||
<$reveal type="nomatch" state="$:/config/TimestampDisable" text="yes">
|
<$reveal type="nomatch" state="$:/config/TimestampDisable" text="yes">
|
||||||
<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-setfield $tiddler="$:/config/TimestampDisable" $value="yes"/>
|
<$action-setfield $tiddler="$:/config/TimestampDisable" $value="yes"/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/timestamp-on}}
|
{{$:/core/images/timestamp-on}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Timestamp/On/Caption}}/>
|
<$text text={{$:/language/Buttons/Timestamp/On/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
<$reveal type="match" state="$:/config/TimestampDisable" text="yes">
|
<$reveal type="match" state="$:/config/TimestampDisable" text="yes">
|
||||||
<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-setfield $tiddler="$:/config/TimestampDisable" $value="no"/>
|
<$action-setfield $tiddler="$:/config/TimestampDisable" $value="no"/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/timestamp-off}}
|
{{$:/core/images/timestamp-off}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/>
|
<$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
|
@ -6,12 +6,12 @@ description: {{$:/language/Buttons/UnfoldAll/Hint}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-sendmessage $message="tm-unfold-all-tiddlers" $param=<<currentTiddler>> foldedStatePrefix="$:/state/folded/"/>
|
<$action-sendmessage $message="tm-unfold-all-tiddlers" $param=<<currentTiddler>> foldedStatePrefix="$:/state/folded/"/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/unfold-all-button}}
|
{{$:/core/images/unfold-all-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/UnfoldAll/Caption}}/>
|
<$text text={{$:/language/Buttons/UnfoldAll/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -46,6 +46,21 @@ color: #bbb
|
|||||||
</$reveal>
|
</$reveal>
|
||||||
\end
|
\end
|
||||||
|
|
||||||
|
\procedure color-picker-actions()
|
||||||
|
\whitespace trim
|
||||||
|
<$action-setfield $tiddler=<<currentTiddler>> color=<<colour-picker-value>>/>
|
||||||
|
\end
|
||||||
|
|
||||||
|
\procedure color-picker-button()
|
||||||
|
\whitespace trim
|
||||||
|
<div class="tc-drop-down-wrapper">
|
||||||
|
<$button class="tc-btn-invisible" popup={{{ [[$:/state/tag-manager/color/]addsuffix<currentTiddler>] }}}>{{$:/core/images/palette}}</$button>
|
||||||
|
<$reveal type="popup" tag="div" class="tc-drop-down tc-popup-keep" state={{{ [[$:/state/tag-manager/color/]addsuffix<currentTiddler>] }}}>
|
||||||
|
<$transclude $variable="colour-picker" actions=<<color-picker-actions>>/>
|
||||||
|
</$reveal>
|
||||||
|
</div>
|
||||||
|
\end
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<table class="tc-tag-manager-table">
|
<table class="tc-tag-manager-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -58,7 +73,7 @@ color: #bbb
|
|||||||
</tr>
|
</tr>
|
||||||
<$list filter="[tags[]!is[system]sort[title]]">
|
<$list filter="[tags[]!is[system]sort[title]]">
|
||||||
<tr>
|
<tr>
|
||||||
<td><$edit-text field="color" tag="input" type="color"/></td>
|
<td><$transclude $variable="color-picker-button"/></td>
|
||||||
<td>{{||$:/core/ui/TagTemplate}}</td>
|
<td>{{||$:/core/ui/TagTemplate}}</td>
|
||||||
<td><$count filter="[all[current]tagging[]]"/></td>
|
<td><$count filter="[all[current]tagging[]]"/></td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -13,6 +13,7 @@ title: $:/core/ui/TestCaseTemplate
|
|||||||
testActions="Actions"
|
testActions="Actions"
|
||||||
testHideIfPass=<<hideIfPass>>
|
testHideIfPass=<<hideIfPass>>
|
||||||
>
|
>
|
||||||
|
<$data $filter={{!!import}}/>
|
||||||
<$data $compound-filter={{!!import-compound}}/>
|
<$data $compound-filter={{!!import-compound}}/>
|
||||||
<$data $compound-tiddler=<<currentTiddler>>/>
|
<$data $compound-tiddler=<<currentTiddler>>/>
|
||||||
<%if [{!!description}!is[blank]] %><$data title="Description" text={{!!description}}/><%endif%>
|
<%if [{!!description}!is[blank]] %><$data title="Description" text={{!!description}}/><%endif%>
|
||||||
|
@ -3,7 +3,7 @@ tags: $:/tags/ViewTemplate
|
|||||||
|
|
||||||
\import [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]
|
\import [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]
|
||||||
|
|
||||||
<$reveal tag="div" class="tc-tiddler-body" type="nomatch" stateTitle=<<folded-state>> text="hide" retain="yes" animate="yes">
|
<$reveal tag="div" class="tc-tiddler-body tc-clearfix" type="nomatch" stateTitle=<<folded-state>> text="hide" retain="yes" animate="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 tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
title: $:/core/ui/ViewTemplate/body/code
|
title: $:/core/ui/ViewTemplate/body/code
|
||||||
|
|
||||||
|
<%if [<currentTiddler>is[missing]] :and[!is[shadow]] %>
|
||||||
|
<$transclude tiddler="$:/language/MissingTiddler/Hint"/>
|
||||||
|
<%else%>
|
||||||
<$transclude $variable="copy-to-clipboard-above-right" src={{{ [<currentTiddler>get[text]] }}} />
|
<$transclude $variable="copy-to-clipboard-above-right" src={{{ [<currentTiddler>get[text]] }}} />
|
||||||
<$codeblock code={{{ [<currentTiddler>get[text]] }}} language={{{ [<currentTiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>
|
<$codeblock code={{{ [<currentTiddler>get[text]] }}} language={{{ [<currentTiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>
|
||||||
|
<%endif%>
|
@ -2,7 +2,7 @@ title: $:/core/ui/ViewTemplate/subtitle/default
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
|
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
|
||||||
<div class="tc-subtitle">
|
<div class="tc-subtitle tc-clearfix">
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Subtitle]!has[draft.of]]" variable="subtitleTiddler">
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Subtitle]!has[draft.of]]" variable="subtitleTiddler">
|
||||||
<$transclude tiddler=<<subtitleTiddler>> mode="inline"/><$list-join> </$list-join>
|
<$transclude tiddler=<<subtitleTiddler>> mode="inline"/><$list-join> </$list-join>
|
||||||
</$list>
|
</$list>
|
||||||
|
@ -4,7 +4,7 @@ tags: $:/tags/ViewTemplate
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define title-styles() fill:$(foregroundColor)$;
|
\define title-styles() fill:$(foregroundColor)$;
|
||||||
|
|
||||||
<div class="tc-tiddler-title">
|
<div class="tc-tiddler-title tc-clearfix">
|
||||||
<div class="tc-titlebar">
|
<div class="tc-titlebar">
|
||||||
<span class="tc-tiddler-controls">
|
<span class="tc-tiddler-controls">
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] :filter[lookup[$:/config/ViewToolbarButtons/Visibility/]!match[hide]]"
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] :filter[lookup[$:/config/ViewToolbarButtons/Visibility/]!match[hide]]"
|
||||||
|
@ -4,13 +4,18 @@ caption: {{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}
|
|||||||
description: {{$:/language/Buttons/Clone/Hint}}
|
description: {{$:/language/Buttons/Clone/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-new-tiddler" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-new-tiddler"
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
param=<<currentTiddler>>
|
||||||
|
tooltip={{$:/language/Buttons/Clone/Hint}}
|
||||||
|
aria-label={{$:/language/Buttons/Clone/Hint}}
|
||||||
|
class=<<tv-config-toolbar-class>>
|
||||||
|
>
|
||||||
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/clone-button}}
|
{{$:/core/images/clone-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Clone/Caption}}/>
|
<$text text={{$:/language/Buttons/Clone/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/CloseOthers/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-close-other-tiddlers" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-close-other-tiddlers" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/close-others-button}}
|
{{$:/core/images/close-others-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>
|
<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -4,13 +4,17 @@ caption: {{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}
|
|||||||
description: {{$:/language/Buttons/Close/Hint}}
|
description: {{$:/language/Buttons/Close/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-close-tiddler"
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
tooltip={{$:/language/Buttons/Close/Hint}}
|
||||||
|
aria-label={{$:/language/Buttons/Close/Caption}}
|
||||||
|
class=<<tv-config-toolbar-class>>
|
||||||
|
>
|
||||||
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/close-button}}
|
{{$:/core/images/close-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Close/Caption}}/>
|
<$text text={{$:/language/Buttons/Close/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -4,13 +4,17 @@ caption: {{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}
|
|||||||
description: {{$:/language/Buttons/Edit/Hint}}
|
description: {{$:/language/Buttons/Edit/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-edit-tiddler" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-edit-tiddler"
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
tooltip={{$:/language/Buttons/Edit/Hint}}
|
||||||
|
aria-label={{$:/language/Buttons/Edit/Hint}}
|
||||||
|
class=<<tv-config-toolbar-class>>
|
||||||
|
>
|
||||||
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/edit-button}}
|
{{$:/core/images/edit-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Edit/Caption}}/>
|
<$text text={{$:/language/Buttons/Edit/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -3,7 +3,4 @@ tags: $:/tags/ViewToolbar
|
|||||||
caption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}
|
caption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}
|
||||||
description: {{$:/language/Buttons/ExportTiddler/Hint}}
|
description: {{$:/language/Buttons/ExportTiddler/Hint}}
|
||||||
|
|
||||||
\define makeExportFilter()
|
<$transclude $variable="exportButton" exportFilter=`[[$(currentTiddler)$]]` lingoBase="$:/language/Buttons/ExportTiddler/" baseFilename=<<currentTiddler>>/>
|
||||||
[[$(currentTiddler)$]]
|
|
||||||
\end
|
|
||||||
<$macrocall $name="exportButton" exportFilter=<<makeExportFilter>> lingoBase="$:/language/Buttons/ExportTiddler/" baseFilename=<<currentTiddler>>/>
|
|
@ -6,12 +6,12 @@ description: {{$:/language/Buttons/FoldOthers/Hint}}
|
|||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-sendmessage $message="tm-fold-other-tiddlers" $param=<<currentTiddler>> foldedStatePrefix="$:/state/folded/"/>
|
<$action-sendmessage $message="tm-fold-other-tiddlers" $param=<<currentTiddler>> foldedStatePrefix="$:/state/folded/"/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/fold-others-button}}
|
{{$:/core/images/fold-others-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>
|
<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -7,26 +7,26 @@ description: {{$:/language/Buttons/Fold/Hint}}
|
|||||||
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" default="show">
|
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" default="show">
|
||||||
<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
|
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/fold-button}}
|
{{$:/core/images/fold-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Fold/Caption}}/>
|
<$text text={{$:/language/Buttons/Fold/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
<$reveal type="match" stateTitle=<<folded-state>> text="hide" default="show">
|
<$reveal type="match" stateTitle=<<folded-state>> text="hide" default="show">
|
||||||
<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
|
<$action-sendmessage $message="tm-fold-tiddler" $param=<<currentTiddler>> foldedState=<<folded-state>>/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/unfold-button}}
|
{{$:/core/images/unfold-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Unfold/Caption}}/>
|
<$text text={{$:/language/Buttons/Unfold/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
|
@ -4,31 +4,30 @@ caption: {{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}
|
|||||||
description: {{$:/language/Buttons/Info/Hint}}
|
description: {{$:/language/Buttons/Info/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define button-content()
|
\procedure button-content()
|
||||||
\whitespace trim
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
|
||||||
{{$:/core/images/info-button}}
|
{{$:/core/images/info-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Info/Caption}}/>
|
<$text text={{$:/language/Buttons/Info/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
\end
|
\end
|
||||||
<$reveal state="$:/config/TiddlerInfo/Mode" type="match" text="popup">
|
<$reveal state="$:/config/TiddlerInfo/Mode" type="match" text="popup">
|
||||||
<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<$macrocall $name="button-content" mode="inline"/>
|
<$transclude $variable="button-content" $mode="inline"/>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
<$reveal state="$:/config/TiddlerInfo/Mode" type="match" text="sticky">
|
<$reveal state="$:/config/TiddlerInfo/Mode" type="match" text="sticky">
|
||||||
<$reveal state=<<tiddlerInfoState>> type="match" text="" default="">
|
<$reveal state=<<tiddlerInfoState>> type="match" text="" default="">
|
||||||
<$button set=<<tiddlerInfoState>> setTo="yes" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button set=<<tiddlerInfoState>> setTo="yes" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<$macrocall $name="button-content" mode="inline"/>
|
<$transclude $variable="button-content" $mode="inline"/>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
<$reveal state=<<tiddlerInfoState>> type="nomatch" text="" default="">
|
<$reveal state=<<tiddlerInfoState>> type="nomatch" text="" default="">
|
||||||
<$button set=<<tiddlerInfoState>> setTo="" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
<$button set=<<tiddlerInfoState>> setTo="" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
||||||
<$macrocall $name="button-content" mode="inline"/>
|
<$transclude $variable="button-content" $mode="inline"/>
|
||||||
</$button>
|
</$button>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
</$reveal>
|
</$reveal>
|
@ -4,7 +4,6 @@ caption: {{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}
|
|||||||
description: {{$:/language/Buttons/More/Hint}}
|
description: {{$:/language/Buttons/More/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define config-title() $:/config/ViewToolbarButtons/Visibility/$(listItem)$
|
|
||||||
|
|
||||||
<$button popup=<<qualify "$:/state/popup/more">>
|
<$button popup=<<qualify "$:/state/popup/more">>
|
||||||
tooltip={{$:/language/Buttons/More/Hint}}
|
tooltip={{$:/language/Buttons/More/Hint}}
|
||||||
@ -12,24 +11,22 @@ description: {{$:/language/Buttons/More/Hint}}
|
|||||||
class=<<tv-config-toolbar-class>>
|
class=<<tv-config-toolbar-class>>
|
||||||
selectedClass="tc-selected"
|
selectedClass="tc-selected"
|
||||||
>
|
>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/down-arrow}}
|
{{$:/core/images/down-arrow}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/More/Caption}}/>
|
<$text text={{$:/language/Buttons/More/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
<$reveal state=<<qualify "$:/state/popup/more">> type="popup" position="belowleft" animate="yes">
|
<$reveal state=<<qualify "$:/state/popup/more">> type="popup" position="belowleft" animate="yes">
|
||||||
<div class="tc-drop-down">
|
<div class="tc-drop-down">
|
||||||
<$set name="tv-config-toolbar-icons" value="yes">
|
<$let tv-config-toolbar-icons="yes" tv-config-toolbar-text="yes" tv-config-toolbar-class="tc-btn-invisible">
|
||||||
<$set name="tv-config-toolbar-text" value="yes">
|
|
||||||
<$set name="tv-config-toolbar-class" value="tc-btn-invisible">
|
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]"
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]"
|
||||||
variable="listItem"
|
variable="listItem"
|
||||||
>
|
>
|
||||||
<$reveal type="match" state=<<config-title>> text="hide">
|
<$reveal type="match" state=`$:/config/ViewToolbarButtons/Visibility/$(listItem)$` text="hide">
|
||||||
<$set name="tv-config-toolbar-class"
|
<$set name="tv-config-toolbar-class"
|
||||||
filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"
|
filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"
|
||||||
>
|
>
|
||||||
@ -37,8 +34,6 @@ description: {{$:/language/Buttons/More/Hint}}
|
|||||||
</$set>
|
</$set>
|
||||||
</$reveal>
|
</$reveal>
|
||||||
</$list>
|
</$list>
|
||||||
</$set>
|
</$let>
|
||||||
</$set>
|
|
||||||
</$set>
|
|
||||||
</div>
|
</div>
|
||||||
</$reveal>
|
</$reveal>
|
@ -4,23 +4,21 @@ caption: {{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Captio
|
|||||||
description: {{$:/language/Buttons/NewHere/Hint}}
|
description: {{$:/language/Buttons/NewHere/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define newHereActions()
|
\procedure newHereActions()
|
||||||
\whitespace trim
|
|
||||||
<$set name="tags" filter="[<currentTiddler>] [enlist{$:/config/NewTiddler/Tags}]">
|
<$set name="tags" filter="[<currentTiddler>] [enlist{$:/config/NewTiddler/Tags}]">
|
||||||
<$action-sendmessage $message="tm-new-tiddler" tags=<<tags>>/>
|
<$action-sendmessage $message="tm-new-tiddler" tags=<<tags>>/>
|
||||||
</$set>
|
</$set>
|
||||||
\end
|
\end
|
||||||
\define newHereButton()
|
\procedure newHereButton()
|
||||||
\whitespace trim
|
|
||||||
<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/new-here-button}}
|
{{$:/core/images/new-here-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/NewHere/Caption}}/>
|
<$text text={{$:/language/Buttons/NewHere/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
<<newHereButton>>
|
<<newHereButton>>
|
||||||
|
@ -4,29 +4,21 @@ caption: {{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalH
|
|||||||
description: {{$:/language/Buttons/NewJournalHere/Hint}}
|
description: {{$:/language/Buttons/NewJournalHere/Hint}}
|
||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
\define journalButtonTags()
|
\procedure journalButton()
|
||||||
[[$(currentTiddlerTag)$]] $(journalTags)$
|
|
||||||
\end
|
|
||||||
\define journalButton()
|
|
||||||
\whitespace trim
|
|
||||||
<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$wikify name="journalTitle" text="""<$macrocall $name="now" format=<<journalTitleTemplate>>/>""">
|
<$wikify name="journalTitle" text="""<$transclude $variable="now" format=<<journalTitleTemplate>>/>""">
|
||||||
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<journalButtonTags>>/>
|
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=`[[$(currentTiddlerTag)$]] $(journalTags)$`/>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/new-journal-button}}
|
{{$:/core/images/new-journal-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>
|
<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$wikify>
|
</$wikify>
|
||||||
</$button>
|
</$button>
|
||||||
\end
|
\end
|
||||||
<$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>
|
<$let journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags}} currentTiddlerTag=<<currentTiddler>>>
|
||||||
<$set name="journalTags" value={{$:/config/NewJournal/Tags}}>
|
|
||||||
<$set name="currentTiddlerTag" value=<<currentTiddler>>>
|
|
||||||
<<journalButton>>
|
<<journalButton>>
|
||||||
</$set>
|
</$let>
|
||||||
</$set>
|
|
||||||
</$set>
|
|
||||||
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/OpenWindow/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-open-window" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-open-window" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/open-window}}
|
{{$:/core/images/open-window}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>
|
<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/Permalink/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-permalink" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-permalink" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/permalink-button}}
|
{{$:/core/images/permalink-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Permalink/Caption}}/>
|
<$text text={{$:/language/Buttons/Permalink/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -5,12 +5,12 @@ description: {{$:/language/Buttons/Permaview/Hint}}
|
|||||||
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$button message="tm-permaview" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>
|
<$button message="tm-permaview" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/permaview-button}}
|
{{$:/core/images/permaview-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text">
|
<span class="tc-btn-text">
|
||||||
<$text text={{$:/language/Buttons/Permaview/Caption}}/>
|
<$text text={{$:/language/Buttons/Permaview/Caption}}/>
|
||||||
</span>
|
</span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button>
|
</$button>
|
@ -1,11 +1,28 @@
|
|||||||
title: $:/snippets/allfields
|
title: $:/snippets/allfields
|
||||||
|
|
||||||
\define renderfield(title)
|
|
||||||
<tr class="tc-view-field"><td class="tc-view-field-name">''<$text text=<<__title__>>/>'':</td><td class="tc-view-field-value">//{{$:/language/Docs/Fields/$title$}}//</td></tr>
|
|
||||||
\end
|
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
|
|
||||||
|
\procedure lingo-base() $:/language/Docs/Fields/
|
||||||
|
|
||||||
|
\function tf.getLingoText() [<lingo-base>] [<title>] +[join[]get[text]]
|
||||||
|
|
||||||
|
\procedure renderfield(title)
|
||||||
|
<tr class="tc-view-field">
|
||||||
|
<td class="tc-view-field-name">
|
||||||
|
''<$text text=<<title>>/>'':
|
||||||
|
</td>
|
||||||
|
<td class="tc-view-field-value">
|
||||||
|
//<<tf.getLingoText>>//
|
||||||
|
</td>
|
||||||
|
<td class="tc-view-field-list">
|
||||||
|
<$macrocall $name="show-filter-count" filter=`[has[$(title)$]sort[]]`>>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
\end
|
||||||
|
|
||||||
<table class="tc-view-field-table">
|
<table class="tc-view-field-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
<!-- <<renderfieldHeader>> -->
|
||||||
<$list filter="[fields[]sort[title]]" variable="listItem">
|
<$list filter="[fields[]sort[title]]" variable="listItem">
|
||||||
<$macrocall $name="renderfield" title=<<listItem>>/>
|
<$macrocall $name="renderfield" title=<<listItem>>/>
|
||||||
</$list>
|
</$list>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
title: $:/config/ViewTemplateBodyFilters/
|
title: $:/config/ViewTemplateBodyFilters/
|
||||||
tags: $:/tags/ViewTemplateBodyFilter
|
tags: $:/tags/ViewTemplateBodyFilter
|
||||||
|
|
||||||
testcase: [tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]then[$:/core/ui/TestCaseTemplate]] [tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]then[$:/core/ui/TestCaseTemplate]]
|
testcase: [tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]] :then[[$:/core/ui/TestCaseTemplate]]
|
||||||
stylesheet: [tag[$:/tags/Stylesheet]then[$:/core/ui/ViewTemplate/body/rendered-plain-text]]
|
stylesheet: [tag[$:/tags/Stylesheet]then[$:/core/ui/ViewTemplate/body/rendered-plain-text]]
|
||||||
core-ui-tags: [tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]][tag[$:/tags/EditorToolbar]] [tag[$:/tags/Actions]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
core-ui-tags: [tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]][tag[$:/tags/EditorToolbar]] [tag[$:/tags/Actions]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
||||||
system: [prefix[$:/boot/]] [prefix[$:/core/macros]] [prefix[$:/core/save/]] [prefix[$:/core/templates/]] [prefix[$:/config/]] [prefix[$:/info/]] [prefix[$:/language/]] [prefix[$:/languages/]] [prefix[$:/snippets/]] [prefix[$:/info/]] [prefix[$:/state/]] [prefix[$:/status/]] [prefix[$:/temp/]] :and[!is[image]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
system: [prefix[$:/boot/]] [prefix[$:/core/macros]] [prefix[$:/core/save/]] [prefix[$:/core/templates/]] [prefix[$:/config/]] [prefix[$:/info/]] [prefix[$:/language/]] [prefix[$:/languages/]] [prefix[$:/snippets/]] [prefix[$:/info/]] [prefix[$:/state/]] [prefix[$:/status/]] [prefix[$:/temp/]] :and[!is[image]] :then[[$:/core/ui/ViewTemplate/body/code]]
|
||||||
|
@ -10,9 +10,7 @@ tags: $:/tags/Macro
|
|||||||
|
|
||||||
\define colour-picker-inner(actions)
|
\define colour-picker-inner(actions)
|
||||||
<$button tag="a" tooltip="""$(colour-picker-value)$""">
|
<$button tag="a" tooltip="""$(colour-picker-value)$""">
|
||||||
|
|
||||||
$(colour-picker-update-recent)$
|
$(colour-picker-update-recent)$
|
||||||
|
|
||||||
<$transclude $variable="__actions__"/>
|
<$transclude $variable="__actions__"/>
|
||||||
|
|
||||||
<span style="display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;"/>
|
<span style="display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;"/>
|
||||||
|
@ -1,27 +1,45 @@
|
|||||||
title: $:/core/macros/export
|
title: $:/core/macros/export
|
||||||
tags: $:/tags/Macro
|
tags: $:/tags/Macro $:/tags/Global
|
||||||
|
|
||||||
\define exportButtonFilename(baseFilename)
|
\function exportButtonFilename(baseFilename)
|
||||||
$baseFilename$$(extension)$
|
[<baseFilename>] [<extension>] +[join[]]
|
||||||
\end
|
\end
|
||||||
|
|
||||||
\define exportButton(exportFilter:"[!is[system]sort[title]]",lingoBase,baseFilename:"tiddlers")
|
\procedure exportButton(exportFilter:"[!is[system]sort[title]]",lingoBase,baseFilename:"tiddlers")
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$vars hint={{{ [<__lingoBase__>addsuffix[Hint]get[text]] }}} caption={{{ [<__lingoBase__>addsuffix[Caption]get[text]] }}}>
|
<$let hint={{{ [<lingoBase>addsuffix[Hint]get[text]] }}}
|
||||||
<span class="tc-popup-keep"><$button popup=<<qualify "$:/state/popup/export">> tooltip=<<hint>> aria-label=<<caption>> class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
|
caption={{{ [<lingoBase>addsuffix[Caption]get[text]] }}}
|
||||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
>
|
||||||
|
<span class="tc-popup-keep">
|
||||||
|
<$button popup=<<qualify "$:/state/popup/export">>
|
||||||
|
tooltip=<<hint>>
|
||||||
|
aria-label=<<caption>>
|
||||||
|
class=<<tv-config-toolbar-class>>
|
||||||
|
selectedClass="tc-selected"
|
||||||
|
dragFilter=<<exportFilter>>
|
||||||
|
>
|
||||||
|
<%if [<tv-config-toolbar-icons>match[yes]] %>
|
||||||
{{$:/core/images/export-button}}
|
{{$:/core/images/export-button}}
|
||||||
</$list>
|
<%endif%>
|
||||||
<$list filter="[<tv-config-toolbar-text>match[yes]]">
|
<%if [<tv-config-toolbar-text>match[yes]] %>
|
||||||
<span class="tc-btn-text"><$text text=<<caption>>/></span>
|
<span class="tc-btn-text"><$text text=<<caption>>/></span>
|
||||||
</$list>
|
<%endif%>
|
||||||
</$button></span></$vars><$reveal state=<<qualify "$:/state/popup/export">> type="popup" position="below" animate="yes">
|
</$button>
|
||||||
|
</span>
|
||||||
|
</$let>
|
||||||
|
<$reveal state=<<qualify "$:/state/popup/export">> type="popup" position="below" animate="yes">
|
||||||
<div class="tc-drop-down">
|
<div class="tc-drop-down">
|
||||||
<$set name="count" value={{{ [subfilter<__exportFilter__>count[]] }}}>
|
<$set name="count" value={{{ [subfilter<exportFilter>count[]] }}}>
|
||||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Exporter]]">
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Exporter]]">
|
||||||
<$list filter="[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] ~[<currentTiddler>!has[condition]then[true]]" variable="ignore">
|
<$list filter="[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] ~[<currentTiddler>!has[condition]then[true]]"
|
||||||
|
variable="ignore"
|
||||||
|
>
|
||||||
<$button class="tc-btn-invisible">
|
<$button class="tc-btn-invisible">
|
||||||
<$action-sendmessage $message="tm-download-file" $param=<<currentTiddler>> exportFilter=<<__exportFilter__>> filename={{{ [<__baseFilename__>addsuffix{!!extension}] }}}/>
|
<$action-sendmessage $message="tm-download-file"
|
||||||
|
$param=<<currentTiddler>>
|
||||||
|
exportFilter=<<exportFilter>>
|
||||||
|
filename={{{ [<baseFilename>addsuffix{!!extension}] }}}
|
||||||
|
/>
|
||||||
<$action-deletetiddler $tiddler=<<qualify "$:/state/popup/export">>/>
|
<$action-deletetiddler $tiddler=<<qualify "$:/state/popup/export">>/>
|
||||||
<$transclude field="description"/>
|
<$transclude field="description"/>
|
||||||
</$button>
|
</$button>
|
||||||
|
17
core/wiki/macros/show-filter-count.tid
Normal file
17
core/wiki/macros/show-filter-count.tid
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
title: $:/core/macros/show-filter-count
|
||||||
|
tags: $:/tags/Macro $:/tags/Global
|
||||||
|
|
||||||
|
\whitespace trim
|
||||||
|
|
||||||
|
\procedure show-filter-count(filter)
|
||||||
|
<$button class="tc-btn-invisible">
|
||||||
|
<$action-setfield $tiddler="$:/temp/advancedsearch" $value=<<filter>>/>
|
||||||
|
<$action-setfield $tiddler="$:/temp/advancedsearch/input" $value=<<filter>>/>
|
||||||
|
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
|
||||||
|
<$action-setfield $tiddler="$:/state/tab--1498284803" $value="$:/core/ui/AdvancedSearch/Filter"/>
|
||||||
|
<$action-navigate $to="$:/AdvancedSearch"/>
|
||||||
|
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
|
||||||
|
<span class="tc-small-gap-right">''<$count filter=<<filter>>/>''</span>
|
||||||
|
{{$:/core/images/advanced-search-button}}
|
||||||
|
</$button>
|
||||||
|
\end
|
@ -83,6 +83,9 @@ The second ESC tries to close the "draft tiddler"
|
|||||||
emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem"
|
emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem"
|
||||||
>
|
>
|
||||||
<$list filter=<<filter>> variable="tag">
|
<$list filter=<<filter>> variable="tag">
|
||||||
|
<$list-empty>
|
||||||
|
<span class="tc-small-gap-left">{{$:/language/EditTemplate/Tags/EmptyMessage}}</span>
|
||||||
|
</$list-empty>
|
||||||
<!-- The buttonClasses filter is used to define tc-tag-button-selected state -->
|
<!-- The buttonClasses filter is used to define tc-tag-button-selected state -->
|
||||||
<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,
|
<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,
|
||||||
othwerwise qualify in tf.tagpicker-dropdown-id causes problems -->
|
othwerwise qualify in tf.tagpicker-dropdown-id causes problems -->
|
||||||
|
@ -7,7 +7,7 @@ fill:$(foregroundColor)$;
|
|||||||
color:$(foregroundColor)$;
|
color:$(foregroundColor)$;
|
||||||
\end
|
\end
|
||||||
|
|
||||||
<!-- This has no whitespace trim to avoid modifying $actions$. Closing tags omitted for brevity. -->
|
<!-- This has no whitespace trim to avoid modifying $actions$ -->
|
||||||
\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)
|
\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)
|
||||||
\whitespace trim
|
\whitespace trim
|
||||||
<$let
|
<$let
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
caption: 5.3.6
|
caption: 5.3.6
|
||||||
created: 20240810120027897
|
created: 20240830144941926
|
||||||
modified: 20240810120027897
|
modified: 20240830144941926
|
||||||
tags: ReleaseNotes
|
tags: ReleaseNotes
|
||||||
title: Release 5.3.6
|
title: Release 5.3.6
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
@ -12,20 +12,40 @@ description: Under development
|
|||||||
|
|
||||||
! Translation improvements
|
! Translation improvements
|
||||||
|
|
||||||
|
<<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8531">> support for new language "Chinese (Hong Kong)"
|
||||||
|
|
||||||
This release includes improvements to the following translations:
|
This release includes improvements to the following translations:
|
||||||
|
|
||||||
*
|
* Chinese
|
||||||
|
|
||||||
! Plugin Improvements
|
! Plugin Improvements
|
||||||
|
|
||||||
!! Geospatial Plugin
|
!! Geospatial Plugin
|
||||||
|
|
||||||
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8404">> support for custom wikitext popups to be attached to map features
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8404">> support for custom wikitext popups to be attached to map features
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8437">> ordering of latitude and longitude in geospatial operators
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8484">> crash when geomap contains an empty geolayer widget
|
||||||
|
|
||||||
!! Markdown Plugin
|
!! Markdown Plugin
|
||||||
|
|
||||||
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8395">> strikethrough, superscript and subscript editor toolbar buttons
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8395">> strikethrough, superscript and subscript editor toolbar buttons
|
||||||
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8402">> readability of Markdown links to other tiddlers
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8402">> readability of Markdown links to other tiddlers
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8459">> image toolbar dropdown to editor toolbar
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8492">> colour for target footnote background
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8585">> settings tab
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8498">> support for the excision tool
|
||||||
|
|
||||||
|
! TestCaseWidget and Related Improvements
|
||||||
|
|
||||||
|
This release includes several fixes and improvements to the TestCaseWidget, its default template, and the related DataWidget and CompoundTiddlers format. These features were first introduced in [[Release 5.3.4]] and are undergoing continuous improvement as we work on integrating them more widely across the system.
|
||||||
|
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8447">> new `$compound-filter` attribute for the DataWidget that allows other compound tiddlers to be imported. There is also a companion ''import-compound'' field for the TestCaseWidget template
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8514">> the TestCaseWidget default template to make it more modular
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8499">> support for an ''import'' field in TestCaseTiddlers, allowing additional tiddlers to be imported
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8416">> [[TestCaseWidget]] default template to allow wikitext within the test case narrative
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8449">> WikiText formatting buttons when editing CompoundTiddlers
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8450">> CompoundTiddlers type `text/vnd.tiddlywiki-multiple` to the editor type dropdown
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8409">> filesystem handling so that CompoundTiddlers are saved as .tid files
|
||||||
|
|
||||||
! Widget Improvements
|
! Widget Improvements
|
||||||
|
|
||||||
@ -37,11 +57,28 @@ This release includes improvements to the following translations:
|
|||||||
|
|
||||||
! Usability Improvements
|
! Usability Improvements
|
||||||
|
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8530">> language descriptions by localising them
|
||||||
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8407">> the contrast of plugin stability badges on hover
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8407">> the contrast of plugin stability badges on hover
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8430">> a "copy to clipboard" button to the view template body template used for code tiddlers
|
||||||
|
* <<.link-badge-added "github.com/TiddlyWiki/TiddlyWiki5/pull/8441">> support for social media cards to be added to TiddlyWiki
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8518">> type attribute to input fields in control panel, allowing virtual keyboards to switch to the proper one when editing settings
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8558">> empty message to tag picker, search dropdown and advanced search
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8157">> a search button to the control panel tiddler fields tab
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8323">> (and <<.link-badge-here "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8324">>) the view and edit toolbars with more descriptive Aria labels
|
||||||
|
|
||||||
! Hackability Improvements
|
! Hackability Improvements
|
||||||
|
|
||||||
*
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8431">> support for the HTML entity `⁠` which can be useful for joining HTML elements without an unwanted linebreak
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8439">> a keyboard shortcut for opening the control panel (by default it is <kbd>ctrl</kbd>-<kbd>alt</kbd>-<kbd>C</kbd>)
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8182">> new [[Hidden Setting: Tag Pill Drag Filter]] that allows configuration of the tiddlers that are transferred when dragging a tag pill
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8384">> tests to ensure that the syntax elements `{% %}` and `{= =}` are reserved for external tooling, and will never be recognised by TiddlyWiki itself
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8462">> new cascades for the view template subtitle and tags
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8500">> excision tool implementation to make the excision tiddler title translatable
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8584">> editor toolbar buttons to use the new [[Conditional Shortcut Syntax]]
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8579">> page control toolbar buttons to use the new [[Conditional Shortcut Syntax]]
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8559">> [[WidgetMessage: tm-new-tiddler]] to allow tiddlers to be created with no tags field
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/7941">> ''startCount'' parameter to [[unusedtitle Macro]]
|
||||||
|
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/7944">> trimSelection parameter to [[WidgetMessage: tm-edit-text-operation]]
|
||||||
|
|
||||||
! Bug Fixes
|
! Bug Fixes
|
||||||
|
|
||||||
@ -49,28 +86,55 @@ This release includes improvements to the following translations:
|
|||||||
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8393">> crash when [[WidgetMessage: tm-copy-to-clipboard]] is passed an empty string
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8393">> crash when [[WidgetMessage: tm-copy-to-clipboard]] is passed an empty string
|
||||||
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8399">> disengage "select all" when cancelling an import
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8399">> disengage "select all" when cancelling an import
|
||||||
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8382">> [[transcludes Operator]] and [[backtranscludes Operator]] minor issue with transclusions made via a filtered attribute
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8382">> [[transcludes Operator]] and [[backtranscludes Operator]] minor issue with transclusions made via a filtered attribute
|
||||||
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8416">> [[TestCaseWidget]] default template to allow wikitext within the test case narrative
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/discussions/8428">> scroll top position when animation duration is zero
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8476">> importing $:/build tiddler when upgrading to avoid overwriting it
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/d9ac4a823fe0f91c615ed33fa890069f88cc8ab9">> crash with RenderCommand when filename filter returns empty result
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8355">> display of language plugins
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8540">> (and <<.link-badge-here "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8546">>) display of non-square plugin icons
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8517">> appearance of input elements other than type `text` and `search`
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/38081b86c97a795420515156fcd52177574be516">> crash with filesystem adaptor if the wiki folder is missing
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8413">> unwrapped oveflowed code blocks not showing scroll bars when setting "Wrap long lines in code blocks" to "No" in "Theme tweaks"
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/7317">> (and <<.link-badge-here "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8552">>) search input box outline in Chrome-like browsers
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8578">> problem with rapid typing in the advanced search filter tab
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8535">> crash with EditionsCommand if an edition directory does not have a [[tiddlywiki.info file|tiddlywiki.info Files]]
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/b8fb9e6b21319e790e9aa7453ca265b0ed4898db">> DataWidget to allow title fields to be overwritten
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/fa423e508ff5012423a1904bb17c9d61848732ee">> "Put Saver" to correctly interpret HTTP response codes
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8547">> invalid accept header in "Put Saver"
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8485">> duplicated search results in advanced search when more than one tiddlers are tagged with [[SystemTag: $:/tags/SearchResults]]
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/7dfdbae812306875bac2445ca4ee505b406e3be1">> crash if the KeyboardWidget is used within a [[startup action|StartupActions]]
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8574">> suffix in the [[encodebase64 Operator]] and [[decodebase64 Operator]]
|
||||||
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8557">> overflow of floated elements
|
||||||
|
|
||||||
! Node.js Improvements
|
! Node.js Improvements
|
||||||
|
|
||||||
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8409">> filesystem handling so that [[Compound Tiddlers]] are saved as .tid files
|
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8339">> server crash when authenticating if newlines are contained in the site title
|
||||||
|
|
||||||
! Developer Improvements
|
! Developer Improvements
|
||||||
|
|
||||||
*
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8423">> the browser checks used in $:/boot/bootprefix.js
|
||||||
|
* <<.link-badge-extended "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8494">> parse tree format to add `start`/`end` properties to table row and cell elements
|
||||||
|
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8265">> and simplified plugin library edition usage
|
||||||
|
|
||||||
! 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 """
|
||||||
|
BramChen
|
||||||
btheado
|
btheado
|
||||||
flibbles
|
flibbles
|
||||||
|
hoelzro
|
||||||
kookma
|
kookma
|
||||||
Leilei332
|
Leilei332
|
||||||
|
linonetwo
|
||||||
|
michaeljmcd
|
||||||
pmario
|
pmario
|
||||||
|
PotOfCoffee2Go
|
||||||
saqimtiaz
|
saqimtiaz
|
||||||
simonbaird
|
simonbaird
|
||||||
springerspandrel
|
springerspandrel
|
||||||
|
twMat
|
||||||
|
valpackett
|
||||||
webplusai
|
webplusai
|
||||||
|
wolfsprite
|
||||||
""">>
|
""">>
|
||||||
|
@ -14,7 +14,15 @@ title: Output
|
|||||||
|
|
||||||
<<unusedtitle baseName:"About" separator:"-">>
|
<<unusedtitle baseName:"About" separator:"-">>
|
||||||
|
|
||||||
|
<!-- v5.3.6 startCount -->
|
||||||
|
|
||||||
|
<<unusedtitle startCount:"3">>
|
||||||
|
|
||||||
|
<<unusedtitle startCount:"-1" baseName:"invalid start">>
|
||||||
|
|
||||||
|
<<unusedtitle startCount:"aaa" baseName:"invalid count">>
|
||||||
|
|
||||||
+
|
+
|
||||||
title: ExpectedResult
|
title: ExpectedResult
|
||||||
|
|
||||||
<p>New Tiddler</p><p>New Tiddler</p><p>anotherBase</p><p>About</p>
|
<p>New Tiddler</p><p>New Tiddler</p><p>anotherBase</p><p>About</p><p>New Tiddler 3</p><p>invalid start</p><p>invalid count</p>
|
@ -0,0 +1,27 @@
|
|||||||
|
title: Macros/unusedtitle/template-startCount
|
||||||
|
description: test <<unusedtitle>> with templates and startCount
|
||||||
|
type: text/vnd.tiddlywiki-multiple
|
||||||
|
tags: [[$:/tags/wiki-test-spec]]
|
||||||
|
|
||||||
|
title: Output
|
||||||
|
|
||||||
|
<!-- test template basics -->
|
||||||
|
|
||||||
|
<<unusedtitle template:"$basename$$separator$$count$xx" >>
|
||||||
|
|
||||||
|
<<unusedtitle template:"$basename$$separator$$count$xx" startCount:"4" >>
|
||||||
|
|
||||||
|
<<unusedtitle template:"$basename$$separator$$count:1$xx" startCount:"11">>
|
||||||
|
|
||||||
|
<!-- test parameter edgecases -->
|
||||||
|
|
||||||
|
<<unusedtitle template:"$basename$$separator$$count:2$xx" startCount:"" baseName:"emptyCount">>
|
||||||
|
|
||||||
|
<<unusedtitle template:"$basename$$separator$$count$xx" startCount:"-1" separator:"" baseName:"invalid start" >>
|
||||||
|
|
||||||
|
<<unusedtitle template:"$basename$$separator$$count$xx" startCount:"bbb" separator:"" baseName:"invalid count" >>
|
||||||
|
|
||||||
|
+
|
||||||
|
title: ExpectedResult
|
||||||
|
|
||||||
|
<p>New Tiddler 0xx</p><p>New Tiddler 4xx</p><p>New Tiddler 11xx</p><p>emptyCount 00xx</p><p>invalid start 0xx</p><p>invalid count 0xx</p>
|
@ -25,4 +25,4 @@ title: Output
|
|||||||
+
|
+
|
||||||
title: ExpectedResult
|
title: ExpectedResult
|
||||||
|
|
||||||
<p>New Tiddler</p><p>count-missing</p><p>00-new</p><p>00-base</p><p>00-New Tiddler</p><p>00-asdf</p><p>00 asdf</p>
|
<p>New Tiddler</p><p>count-missing0</p><p>00-new</p><p>00-base</p><p>00-New Tiddler</p><p>00-asdf</p><p>00 asdf</p>
|
@ -0,0 +1,38 @@
|
|||||||
|
title: Message/tm-new-tiddler/create-a-new-tiddler-with-a-tag
|
||||||
|
description: tm-new-tiddler message will create a new draft tiddler with a tag
|
||||||
|
type: text/vnd.tiddlywiki-multiple
|
||||||
|
tags: [[$:/tags/wiki-test-spec]]
|
||||||
|
|
||||||
|
title: Output
|
||||||
|
|
||||||
|
<pre>{{Draft of 'New Tiddler'||output-template}}</pre>
|
||||||
|
+
|
||||||
|
title: Actions
|
||||||
|
|
||||||
|
<$navigator story="$:/StoryList">
|
||||||
|
|
||||||
|
<$action-sendmessage $message="tm-new-tiddler"
|
||||||
|
text="some text"
|
||||||
|
z-field="a"
|
||||||
|
tags="test [[with spaces]]"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</$navigator>
|
||||||
|
|
||||||
|
+
|
||||||
|
title: output-template
|
||||||
|
|
||||||
|
<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->
|
||||||
|
<$fields exclude='text bag created modified' template='$name$: $value$
|
||||||
|
'></$fields>
|
||||||
|
<$view field="text" format="text" />
|
||||||
|
+
|
||||||
|
title: ExpectedResult
|
||||||
|
|
||||||
|
<p><pre>draft.of: New Tiddler
|
||||||
|
draft.title: New Tiddler
|
||||||
|
tags: test [[with spaces]]
|
||||||
|
title: Draft of 'New Tiddler'
|
||||||
|
z-field: a
|
||||||
|
|
||||||
|
some text</pre></p>
|
@ -0,0 +1,39 @@
|
|||||||
|
title: Message/tm-new-tiddler/default
|
||||||
|
description: tm-new-tiddler message will create a new draft tiddler
|
||||||
|
type: text/vnd.tiddlywiki-multiple
|
||||||
|
tags: [[$:/tags/wiki-test-spec]]
|
||||||
|
|
||||||
|
title: Output
|
||||||
|
|
||||||
|
<pre>{{Draft of 'New Tiddler'||output-template}}</pre>
|
||||||
|
+
|
||||||
|
title: Actions
|
||||||
|
|
||||||
|
<$navigator story="$:/StoryList">
|
||||||
|
|
||||||
|
New in TW v5.3.6
|
||||||
|
Create a draft tiddler which should have __no__ tags field
|
||||||
|
|
||||||
|
<$action-sendmessage $message="tm-new-tiddler"
|
||||||
|
text="some text"
|
||||||
|
z-field="a"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</$navigator>
|
||||||
|
|
||||||
|
+
|
||||||
|
title: output-template
|
||||||
|
|
||||||
|
<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->
|
||||||
|
<$fields exclude='text bag created modified' template='$name$: $value$
|
||||||
|
'></$fields>
|
||||||
|
<$view field="text" format="text" />
|
||||||
|
+
|
||||||
|
title: ExpectedResult
|
||||||
|
|
||||||
|
<p><pre>draft.of: New Tiddler
|
||||||
|
draft.title: New Tiddler
|
||||||
|
title: Draft of 'New Tiddler'
|
||||||
|
z-field: a
|
||||||
|
|
||||||
|
some text</pre></p>
|
@ -0,0 +1,44 @@
|
|||||||
|
title: Message/tm-new-tiddler/new-from-template-with-tag
|
||||||
|
description: tm-new-tiddler create a draft from a template. Template has an empty tags field
|
||||||
|
type: text/vnd.tiddlywiki-multiple
|
||||||
|
tags: [[$:/tags/wiki-test-spec]]
|
||||||
|
|
||||||
|
title: Output
|
||||||
|
|
||||||
|
<pre>{{ Draft of 'new-tiddler-template 1'||output-template}}</pre>
|
||||||
|
+
|
||||||
|
title: Actions
|
||||||
|
|
||||||
|
<$navigator story="$:/StoryList">
|
||||||
|
|
||||||
|
<$action-sendmessage $message="tm-new-tiddler"
|
||||||
|
$param="new-tiddler-template"
|
||||||
|
text="some text"
|
||||||
|
z-field="a"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</$navigator>
|
||||||
|
|
||||||
|
+
|
||||||
|
title: new-tiddler-template
|
||||||
|
asdf: asdf
|
||||||
|
tags:
|
||||||
|
|
||||||
|
+
|
||||||
|
title: output-template
|
||||||
|
|
||||||
|
<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->
|
||||||
|
<$fields exclude='text bag created modified' template='$name$: $value$
|
||||||
|
'></$fields>
|
||||||
|
<$view field="text" format="text" />
|
||||||
|
+
|
||||||
|
title: ExpectedResult
|
||||||
|
|
||||||
|
<p><pre>asdf: asdf
|
||||||
|
draft.of: new-tiddler-template 1
|
||||||
|
draft.title: new-tiddler-template 1
|
||||||
|
tags:
|
||||||
|
title: Draft of 'new-tiddler-template 1'
|
||||||
|
z-field: a
|
||||||
|
|
||||||
|
some text</pre></p>
|
@ -0,0 +1,65 @@
|
|||||||
|
title: Message/tm-new-tiddler/new-from-template-without-tag
|
||||||
|
description: tm-new-tiddler create 2 drafts from a template. Template has no tags field
|
||||||
|
type: text/vnd.tiddlywiki-multiple
|
||||||
|
tags: [[$:/tags/wiki-test-spec]]
|
||||||
|
|
||||||
|
title: Output
|
||||||
|
|
||||||
|
<pre>{{ Draft of 'new-tiddler-template 1'||output-template}}</pre>
|
||||||
|
<pre>{{ Draft of 'new-tiddler-template 2'||output-template}}</pre>
|
||||||
|
+
|
||||||
|
title: Actions
|
||||||
|
|
||||||
|
<$navigator story="$:/StoryList">
|
||||||
|
|
||||||
|
New in TW v5.3.6
|
||||||
|
Create a new tiddler from a template, which has no tags field
|
||||||
|
So draft should also have __no__ tags field
|
||||||
|
|
||||||
|
<$action-sendmessage $message="tm-new-tiddler"
|
||||||
|
$param="new-tiddler-template"
|
||||||
|
text="some text"
|
||||||
|
z-field="a"
|
||||||
|
/>
|
||||||
|
|
||||||
|
Create a new tiddler from a template, which has no tag field
|
||||||
|
AND __add__ a tags field with the command below
|
||||||
|
|
||||||
|
<$action-sendmessage $message="tm-new-tiddler"
|
||||||
|
$param="new-tiddler-template"
|
||||||
|
text="some text"
|
||||||
|
z-field="a"
|
||||||
|
tag=""
|
||||||
|
/>
|
||||||
|
|
||||||
|
</$navigator>
|
||||||
|
|
||||||
|
+
|
||||||
|
title: new-tiddler-template
|
||||||
|
asdf: asdf
|
||||||
|
|
||||||
|
+
|
||||||
|
title: output-template
|
||||||
|
|
||||||
|
<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->
|
||||||
|
<$fields exclude='text bag created modified' template='$name$: $value$
|
||||||
|
'></$fields>
|
||||||
|
<$view field="text" format="text" />
|
||||||
|
+
|
||||||
|
title: ExpectedResult
|
||||||
|
|
||||||
|
<p><pre>asdf: asdf
|
||||||
|
draft.of: new-tiddler-template 1
|
||||||
|
draft.title: new-tiddler-template 1
|
||||||
|
title: Draft of 'new-tiddler-template 1'
|
||||||
|
z-field: a
|
||||||
|
|
||||||
|
some text</pre>
|
||||||
|
<pre>asdf: asdf
|
||||||
|
draft.of: new-tiddler-template 2
|
||||||
|
draft.title: new-tiddler-template 2
|
||||||
|
tag:
|
||||||
|
title: Draft of 'new-tiddler-template 2'
|
||||||
|
z-field: a
|
||||||
|
|
||||||
|
some text</pre></p>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user