mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2026-01-28 22:01:26 +00:00
Merge branch 'master' into external-tasks
This commit is contained in:
@@ -10,5 +10,4 @@ tags: $:/tags/Image
|
||||
<rect x="96" y="80" width="16" height="48" rx="8"></rect>
|
||||
<rect x="80" y="96" width="48" height="16" rx="8"></rect>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -4,25 +4,27 @@ Advanced/Caption: Advanced
|
||||
Advanced/Hint: Internal information about this TiddlyWiki
|
||||
Appearance/Caption: Appearance
|
||||
Appearance/Hint: Ways to customise the appearance of your TiddlyWiki.
|
||||
Basics/AnimDuration/Prompt: Animation duration:
|
||||
Basics/AnimDuration/Prompt: Animation duration
|
||||
Basics/AutoFocus/Prompt: Default focus field for new tiddlers
|
||||
Basics/Caption: Basics
|
||||
Basics/DefaultTiddlers/BottomHint: Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set="$:/DefaultTiddlers" setTo="[list[$:/StoryList]]">retain story ordering</$button>
|
||||
Basics/DefaultTiddlers/Prompt: Default tiddlers:
|
||||
Basics/DefaultTiddlers/TopHint: Choose which tiddlers are displayed at startup:
|
||||
Basics/DefaultTiddlers/Prompt: Default tiddlers
|
||||
Basics/DefaultTiddlers/TopHint: Choose which tiddlers are displayed at startup
|
||||
Basics/Language/Prompt: Hello! Current language:
|
||||
Basics/NewJournal/Title/Prompt: Title of new journal tiddlers
|
||||
Basics/NewJournal/Text/Prompt: Text for new journal tiddlers
|
||||
Basics/NewJournal/Tags/Prompt: Tags for new journal tiddlers
|
||||
Basics/NewTiddler/Title/Prompt: Title of new tiddlers
|
||||
Basics/OverriddenShadowTiddlers/Prompt: Number of overridden shadow tiddlers:
|
||||
Basics/ShadowTiddlers/Prompt: Number of shadow tiddlers:
|
||||
Basics/Subtitle/Prompt: Subtitle:
|
||||
Basics/SystemTiddlers/Prompt: Number of system tiddlers:
|
||||
Basics/Tags/Prompt: Number of tags:
|
||||
Basics/Tiddlers/Prompt: Number of tiddlers:
|
||||
Basics/Title/Prompt: Title of this ~TiddlyWiki:
|
||||
Basics/Username/Prompt: Username for signing edits:
|
||||
Basics/Version/Prompt: ~TiddlyWiki version:
|
||||
Basics/NewTiddler/Tags/Prompt: Tags for new tiddlers
|
||||
Basics/OverriddenShadowTiddlers/Prompt: Number of overridden shadow tiddlers
|
||||
Basics/ShadowTiddlers/Prompt: Number of shadow tiddlers
|
||||
Basics/Subtitle/Prompt: Subtitle
|
||||
Basics/SystemTiddlers/Prompt: Number of system tiddlers
|
||||
Basics/Tags/Prompt: Number of tags
|
||||
Basics/Tiddlers/Prompt: Number of tiddlers
|
||||
Basics/Title/Prompt: Title of this ~TiddlyWiki
|
||||
Basics/Username/Prompt: Username for signing edits
|
||||
Basics/Version/Prompt: ~TiddlyWiki version
|
||||
EditorTypes/Caption: Editor Types
|
||||
EditorTypes/Editor/Caption: Editor
|
||||
EditorTypes/Hint: These tiddlers determine which editor is used to edit specific tiddler types.
|
||||
@@ -63,6 +65,7 @@ Parsing/Pragma/Caption: Pragma Parse Rules
|
||||
Plugins/Add/Caption: Get more plugins
|
||||
Plugins/Add/Hint: Install plugins from the official library
|
||||
Plugins/AlreadyInstalled/Hint: This plugin is already installed at version <$text text=<<installedVersion>>/>
|
||||
Plugins/AlsoRequires: Also requires:
|
||||
Plugins/Caption: Plugins
|
||||
Plugins/Disable/Caption: disable
|
||||
Plugins/Disable/Hint: Disable this plugin when reloading page
|
||||
|
||||
@@ -8,6 +8,7 @@ Field/Remove/Hint: Remove field
|
||||
Field/Dropdown/Caption: field list
|
||||
Field/Dropdown/Hint: Show field list
|
||||
Fields/Add/Button: add
|
||||
Fields/Add/Button/Hint: Add the new field to the tiddler
|
||||
Fields/Add/Name/Placeholder: field name
|
||||
Fields/Add/Prompt: Add a new field:
|
||||
Fields/Add/Value/Placeholder: field value
|
||||
@@ -16,6 +17,7 @@ Fields/Add/Dropdown/User: User fields
|
||||
Shadow/Warning: This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>
|
||||
Shadow/OverriddenWarning: This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler
|
||||
Tags/Add/Button: add
|
||||
Tags/Add/Button/Hint: add tag
|
||||
Tags/Add/Placeholder: tag name
|
||||
Tags/Dropdown/Caption: tag list
|
||||
Tags/Dropdown/Hint: Show tag list
|
||||
|
||||
@@ -31,6 +31,7 @@ source: The source URL associated with a tiddler
|
||||
subtitle: The subtitle text for a wizard
|
||||
tags: A list of tags associated with a tiddler
|
||||
text: The body text of a tiddler
|
||||
throttle.refresh: If present, throttles refreshes of this tiddler
|
||||
title: The unique name of a tiddler
|
||||
toc-link: Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''
|
||||
type: The content type of a tiddler
|
||||
|
||||
@@ -2,4 +2,3 @@ title: $:/config/NewJournal/
|
||||
|
||||
Title: DDth MMM YYYY
|
||||
Text:
|
||||
Tags: Journal
|
||||
|
||||
2
core/language/en-GB/NewJournalTags.tid
Normal file
2
core/language/en-GB/NewJournalTags.tid
Normal file
@@ -0,0 +1,2 @@
|
||||
title: $:/config/NewJournal/Tags
|
||||
tags: Journal
|
||||
@@ -69,7 +69,7 @@ Command.prototype.execute = function() {
|
||||
// Collect the skinny list data
|
||||
var pluginTiddlers = JSON.parse(tiddler.text),
|
||||
readmeContent = (pluginTiddlers.tiddlers[title + "/readme"] || {}).text,
|
||||
doesContainJavaScript = !!$tw.wiki.doesPluginInfoContainModules(pluginTiddlers),
|
||||
doesRequireReload = !!$tw.wiki.doesPluginInfoRequireReload(pluginTiddlers),
|
||||
iconTiddler = pluginTiddlers.tiddlers[title + "/icon"] || {},
|
||||
iconType = iconTiddler.type,
|
||||
iconText = iconTiddler.text,
|
||||
@@ -80,7 +80,7 @@ Command.prototype.execute = function() {
|
||||
skinnyList.push($tw.utils.extend({},tiddler,{
|
||||
text: undefined,
|
||||
readme: readmeContent,
|
||||
"contains-javascript": doesContainJavaScript ? "yes" : "no",
|
||||
"requires-reload": doesRequireReload ? "yes" : "no",
|
||||
icon: iconContent
|
||||
}));
|
||||
});
|
||||
|
||||
@@ -79,7 +79,6 @@ function FramedEngine(options) {
|
||||
// Add event listeners
|
||||
$tw.utils.addEventListeners(this.domNode,[
|
||||
{name: "click",handlerObject: this,handlerMethod: "handleClickEvent"},
|
||||
{name: "focus",handlerObject: this,handlerMethod: "handleFocusEvent"},
|
||||
{name: "input",handlerObject: this,handlerMethod: "handleInputEvent"},
|
||||
{name: "keydown",handlerObject: this.widget,handlerMethod: "handleKeydownEvent"}
|
||||
]);
|
||||
@@ -153,14 +152,6 @@ FramedEngine.prototype.focus = function() {
|
||||
this.domNode.select();
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
Handle the focus event
|
||||
*/
|
||||
FramedEngine.prototype.handleFocusEvent = function(event) {
|
||||
this.widget.cancelPopups();
|
||||
return true;
|
||||
};
|
||||
|
||||
/*
|
||||
Handle a click
|
||||
|
||||
@@ -122,7 +122,6 @@ SimpleEngine.prototype.handleInputEvent = function(event) {
|
||||
Handle a dom "focus" event
|
||||
*/
|
||||
SimpleEngine.prototype.handleFocusEvent = function(event) {
|
||||
this.widget.cancelPopups();
|
||||
if(this.widget.editFocusPopup) {
|
||||
$tw.popup.triggerPopup({
|
||||
domNode: this.domNode,
|
||||
|
||||
@@ -248,13 +248,6 @@ function editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
Cancel Popups
|
||||
*/
|
||||
EditTextWidget.prototype.cancelPopups = function() {
|
||||
$tw.popup.cancel(0,this.engine.domNode);
|
||||
};
|
||||
|
||||
/*
|
||||
Handle a dom "keydown" event, which we'll bubble up to our container for the keyboard widgets benefit
|
||||
*/
|
||||
|
||||
@@ -13,12 +13,13 @@ Text editor operation to add a prefix to the selected lines
|
||||
"use strict";
|
||||
|
||||
exports["prefix-lines"] = function(event,operation) {
|
||||
var targetCount = parseInt(event.paramObject.count + "",10);
|
||||
// Cut just past the preceding line break, or the start of the text
|
||||
operation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);
|
||||
// Cut to just past the following line break, or to the end of the text
|
||||
operation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);
|
||||
// Compose the required prefix
|
||||
var prefix = $tw.utils.repeat(event.paramObject.character,event.paramObject.count);
|
||||
var prefix = $tw.utils.repeat(event.paramObject.character,targetCount);
|
||||
// Process each line
|
||||
var lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\r?\n/mg);
|
||||
$tw.utils.each(lines,function(line,index) {
|
||||
@@ -33,7 +34,7 @@ exports["prefix-lines"] = function(event,operation) {
|
||||
line = line.substring(1);
|
||||
}
|
||||
// We're done if we removed the exact required prefix, otherwise add it
|
||||
if(count !== event.paramObject.count) {
|
||||
if(count !== targetCount) {
|
||||
// Apply the prefix
|
||||
line = prefix + " " + line;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,8 @@ var AudioParser = function(type,text,options) {
|
||||
type: "element",
|
||||
tag: "audio",
|
||||
attributes: {
|
||||
controls: {type: "string", value: "controls"}
|
||||
controls: {type: "string", value: "controls"},
|
||||
style: {type: "string", value: "width: 100%; object-fit: contain"}
|
||||
}
|
||||
},
|
||||
src;
|
||||
|
||||
@@ -17,7 +17,8 @@ var VideoParser = function(type,text,options) {
|
||||
type: "element",
|
||||
tag: "video",
|
||||
attributes: {
|
||||
controls: {type: "string", value: "controls"}
|
||||
controls: {type: "string", value: "controls"},
|
||||
style: {type: "string", value: "width: 100%; object-fit: contain"}
|
||||
}
|
||||
},
|
||||
src;
|
||||
|
||||
@@ -34,6 +34,7 @@ exports.handler = function(request,response,state) {
|
||||
}
|
||||
});
|
||||
tiddlerFields.revision = state.wiki.getChangeCount(title);
|
||||
tiddlerFields.bag = "default";
|
||||
tiddlerFields.type = tiddlerFields.type || "text/vnd.tiddlywiki";
|
||||
response.writeHead(200, {"Content-Type": "application/json"});
|
||||
response.end(JSON.stringify(tiddlerFields),"utf8");
|
||||
|
||||
@@ -28,8 +28,8 @@ exports.startup = function() {
|
||||
requireReloadDueToPluginChange = false;
|
||||
$tw.utils.each(Object.keys(changes),function(title) {
|
||||
var tiddler = $tw.wiki.getTiddler(title),
|
||||
containsModules = $tw.wiki.doesPluginContainModules(title);
|
||||
if(containsModules) {
|
||||
requiresReload = $tw.wiki.doesPluginRequireReload(title);
|
||||
if(requiresReload) {
|
||||
requireReloadDueToPluginChange = true;
|
||||
} else if(tiddler) {
|
||||
var pluginType = tiddler.fields["plugin-type"];
|
||||
|
||||
@@ -25,7 +25,7 @@ var PAGE_TEMPLATE_TITLE = "$:/core/ui/PageTemplate";
|
||||
|
||||
// Time (in ms) that we defer refreshing changes to draft tiddlers
|
||||
var DRAFT_TIDDLER_TIMEOUT_TITLE = "$:/config/Drafts/TypingTimeout";
|
||||
var DRAFT_TIDDLER_TIMEOUT = 400;
|
||||
var THROTTLE_REFRESH_TIMEOUT = 400;
|
||||
|
||||
exports.startup = function() {
|
||||
// Set up the title
|
||||
@@ -78,12 +78,12 @@ exports.startup = function() {
|
||||
}
|
||||
// Add the change event handler
|
||||
$tw.wiki.addEventListener("change",$tw.perf.report("mainRefresh",function(changes) {
|
||||
// Check if only drafts have changed
|
||||
var onlyDraftsHaveChanged = true;
|
||||
// Check if only tiddlers that are throttled have changed
|
||||
var onlyThrottledTiddlersHaveChanged = true;
|
||||
for(var title in changes) {
|
||||
var tiddler = $tw.wiki.getTiddler(title);
|
||||
if(!tiddler || !tiddler.hasField("draft.of")) {
|
||||
onlyDraftsHaveChanged = false;
|
||||
if(!tiddler || !(tiddler.hasField("draft.of") || tiddler.hasField("throttle.refresh"))) {
|
||||
onlyThrottledTiddlersHaveChanged = false;
|
||||
}
|
||||
}
|
||||
// Defer the change if only drafts have changed
|
||||
@@ -91,10 +91,10 @@ exports.startup = function() {
|
||||
clearTimeout(timerId);
|
||||
}
|
||||
timerId = null;
|
||||
if(onlyDraftsHaveChanged) {
|
||||
if(onlyThrottledTiddlersHaveChanged) {
|
||||
var timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,""),10);
|
||||
if(isNaN(timeout)) {
|
||||
timeout = DRAFT_TIDDLER_TIMEOUT;
|
||||
timeout = THROTTLE_REFRESH_TIMEOUT;
|
||||
}
|
||||
timerId = setTimeout(refresh,timeout);
|
||||
$tw.utils.extend(deferredChanges,changes);
|
||||
|
||||
@@ -41,14 +41,14 @@ exports.upgrade = function(wiki,titles,tiddlers) {
|
||||
// Check if we're dealing with a plugin
|
||||
if(incomingTiddler && incomingTiddler["plugin-type"]) {
|
||||
// Check whether the plugin contains JS modules
|
||||
var doesContainJavaScript = $tw.wiki.doesPluginInfoContainModules(JSON.parse(incomingTiddler.text)) ? ($tw.wiki.getTiddlerText("$:/language/ControlPanel/Plugins/PluginWillRequireReload") + " ") : "";
|
||||
messages[title] = doesContainJavaScript;
|
||||
var requiresReload = $tw.wiki.doesPluginInfoRequireReload(JSON.parse(incomingTiddler.text)) ? ($tw.wiki.getTiddlerText("$:/language/ControlPanel/Plugins/PluginWillRequireReload") + " ") : "";
|
||||
messages[title] = requiresReload;
|
||||
if(incomingTiddler.version) {
|
||||
// Upgrade the incoming plugin if it is in the upgrade library
|
||||
var libraryTiddler = getLibraryTiddler(title);
|
||||
if(libraryTiddler && libraryTiddler["plugin-type"] && libraryTiddler.version) {
|
||||
tiddlers[title] = libraryTiddler;
|
||||
messages[title] = doesContainJavaScript + $tw.language.getString("Import/Upgrader/Plugins/Upgraded",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});
|
||||
messages[title] = requiresReload + $tw.language.getString("Import/Upgrader/Plugins/Upgraded",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});
|
||||
return;
|
||||
}
|
||||
// Suppress the incoming plugin if it is older than the currently installed one
|
||||
@@ -57,7 +57,7 @@ exports.upgrade = function(wiki,titles,tiddlers) {
|
||||
// Reject the incoming plugin by blanking all its fields
|
||||
if($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {
|
||||
tiddlers[title] = Object.create(null);
|
||||
messages[title] = doesContainJavaScript + $tw.language.getString("Import/Upgrader/Plugins/Suppressed/Version",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});
|
||||
messages[title] = requiresReload + $tw.language.getString("Import/Upgrader/Plugins/Suppressed/Version",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,46 +149,21 @@ Popup.prototype.show = function(options) {
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
Detect if a Popup contains an input field that has focus
|
||||
Returns true or false
|
||||
*/
|
||||
Popup.prototype.detectInputWithinPopup = function(node) {
|
||||
var withinPopup = false,
|
||||
currNode = node;
|
||||
for(var i=0; i<this.popups.length; i++) {
|
||||
var popup = (this.popups[i] && this.popups[i].domNode) ? this.popups[i].domNode : null;
|
||||
while(node && popup) {
|
||||
if(node === popup || (node.classList && (node.classList.contains("tc-popup-keep") || (node !== currNode && node.classList.contains("tc-popup-handle"))))) {
|
||||
withinPopup = true;
|
||||
}
|
||||
node = node.parentNode;
|
||||
}
|
||||
}
|
||||
return withinPopup;
|
||||
};
|
||||
|
||||
/*
|
||||
Cancel all popups at or above a specified level or DOM node
|
||||
level: popup level to cancel (0 cancels all popups)
|
||||
*/
|
||||
Popup.prototype.cancel = function(level,focusedInputNode) {
|
||||
Popup.prototype.cancel = function(level) {
|
||||
var numPopups = this.popups.length;
|
||||
level = Math.max(0,Math.min(level,numPopups));
|
||||
for(var t=level; t<numPopups; t++) {
|
||||
var inputWithinPopup;
|
||||
if(focusedInputNode) {
|
||||
inputWithinPopup = this.detectInputWithinPopup(focusedInputNode);
|
||||
}
|
||||
if(!inputWithinPopup) {
|
||||
var popup = this.popups.pop();
|
||||
if(popup.title) {
|
||||
if(popup.noStateReference) {
|
||||
popup.wiki.deleteTiddler(popup.title);
|
||||
} else {
|
||||
popup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);
|
||||
}
|
||||
}
|
||||
var popup = this.popups.pop();
|
||||
if(popup.title) {
|
||||
if(popup.noStateReference) {
|
||||
popup.wiki.deleteTiddler(popup.title);
|
||||
} else {
|
||||
popup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(this.popups.length === 0) {
|
||||
|
||||
@@ -47,6 +47,7 @@ EditWidget.prototype.execute = function() {
|
||||
this.editClass = this.getAttribute("class");
|
||||
this.editPlaceholder = this.getAttribute("placeholder");
|
||||
this.editTabIndex = this.getAttribute("tabindex");
|
||||
this.editFocus = this.getAttribute("focus","");
|
||||
// Choose the appropriate edit widget
|
||||
this.editorType = this.getEditorType();
|
||||
// Make the child widgets
|
||||
@@ -58,7 +59,8 @@ EditWidget.prototype.execute = function() {
|
||||
index: {type: "string", value: this.editIndex},
|
||||
"class": {type: "string", value: this.editClass},
|
||||
"placeholder": {type: "string", value: this.editPlaceholder},
|
||||
"tabindex": {type: "string", value: this.editTabIndex}
|
||||
"tabindex": {type: "string", value: this.editTabIndex},
|
||||
"focus": {type: "string", value: this.editFocus}
|
||||
},
|
||||
children: this.parseTreeNode.children
|
||||
}]);
|
||||
|
||||
@@ -96,11 +96,8 @@ SelectWidget.prototype.setSelectValue = function() {
|
||||
var select = this.getSelectDomNode();
|
||||
var values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);
|
||||
for(var i=0; i < select.children.length; i++){
|
||||
if(values.indexOf(select.children[i].value) != -1) {
|
||||
select.children[i].selected = true;
|
||||
}
|
||||
select.children[i].selected = values.indexOf(select.children[i].value) !== -1
|
||||
}
|
||||
|
||||
} else {
|
||||
var domNode = this.getSelectDomNode();
|
||||
if(domNode.value !== value) {
|
||||
|
||||
@@ -1460,13 +1460,13 @@ exports.invokeUpgraders = function(titles,tiddlers) {
|
||||
return messages;
|
||||
};
|
||||
|
||||
// Determine whether a plugin by title contains JS modules.
|
||||
exports.doesPluginContainModules = function(title) {
|
||||
return this.doesPluginInfoContainModules(this.getPluginInfo(title) || this.getTiddlerDataCached(title));
|
||||
// Determine whether a plugin by title is dynamically loadable
|
||||
exports.doesPluginRequireReload = function(title) {
|
||||
return this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));
|
||||
};
|
||||
|
||||
// Determine whether a plugin info structure contains JS modules.
|
||||
exports.doesPluginInfoContainModules = function(pluginInfo) {
|
||||
// Determine whether a plugin info structure is dynamically loadable
|
||||
exports.doesPluginInfoRequireReload = function(pluginInfo) {
|
||||
if(pluginInfo) {
|
||||
var foundModule = false;
|
||||
$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {
|
||||
|
||||
@@ -2,7 +2,7 @@ title: $:/core/templates/tiddlywiki5-external-js.html
|
||||
|
||||
\rules only filteredtranscludeinline transcludeinline
|
||||
<!doctype html>
|
||||
{{$:/core/templates/MOTW.html}}<html>
|
||||
{{$:/core/templates/MOTW.html}}<html lang="`<$text text={{{ [{$:/language}get[name]] }}}/>`">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<!--~~ Raw markup for the top of the head section ~~-->
|
||||
|
||||
@@ -2,7 +2,7 @@ title: $:/core/templates/tiddlywiki5.html
|
||||
|
||||
<$set name="saveTiddlerAndShadowsFilter" filter="[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]">
|
||||
`<!doctype html>
|
||||
`{{$:/core/templates/MOTW.html}}`<html>
|
||||
`{{$:/core/templates/MOTW.html}}`<html lang="`<$text text={{{ [{$:/language}get[name]] }}}/>`">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<!--~~ Raw markup for the top of the head section ~~-->
|
||||
|
||||
@@ -6,5 +6,5 @@ description: create a new image tiddler
|
||||
image/$(imageType)$
|
||||
\end
|
||||
<$vars imageType={{$:/config/NewImageType}}>
|
||||
<$action-sendmessage $message="tm-new-tiddler" type=<<get-type>>/>
|
||||
<$action-sendmessage $message="tm-new-tiddler" type=<<get-type>> tags={{$:/config/NewTiddler/Tags!!tags}}/>
|
||||
</$vars>
|
||||
|
||||
@@ -2,7 +2,7 @@ title: $:/core/ui/Actions/new-journal
|
||||
tags: $:/tags/Actions
|
||||
description: create a new journal tiddler
|
||||
|
||||
<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags}} journalText={{$:/config/NewJournal/Text}}>
|
||||
<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>
|
||||
<$wikify name="journalTitle" text="""<$macrocall $name="now" format=<<journalTitleTemplate>>/>""">
|
||||
<$reveal type="nomatch" state=<<journalTitle>> text="">
|
||||
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<journalTags>> text={{{ [<journalTitle>get[]] }}}/>
|
||||
|
||||
@@ -2,4 +2,4 @@ title: $:/core/ui/Actions/new-tiddler
|
||||
tags: $:/tags/Actions
|
||||
description: create a new empty tiddler
|
||||
|
||||
<$action-sendmessage $message="tm-new-tiddler"/>
|
||||
<$action-sendmessage $message="tm-new-tiddler" tags={{$:/config/NewTiddler/Tags!!tags}}/>
|
||||
|
||||
@@ -23,7 +23,9 @@ caption: {{$:/language/ControlPanel/Basics/Caption}}
|
||||
|<$link to="$:/language/DefaultNewTiddlerTitle"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler="$:/language/DefaultNewTiddlerTitle" default="" tag="input"/> |
|
||||
|<$link to="$:/config/NewJournal/Title"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Title" default="" tag="input"/> |
|
||||
|<$link to="$:/config/NewJournal/Text"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler="$:/config/NewJournal/Text" tag="textarea" class="tc-edit-texteditor" default=""/> |
|
||||
|<$link to="$:/config/NewJournal/Tags"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Tags" default="" tag="input"/> |
|
||||
|<$link to="$:/config/NewTiddler/Tags"><<lingo NewTiddler/Tags/Prompt>></$link> |<$list filter="[[$:/config/NewTiddler/Tags]]" template="$:/core/ui/EditTemplate/tags"/> |
|
||||
|<$link to="$:/config/NewJournal/Tags"><<lingo NewJournal/Tags/Prompt>></$link> |<$list filter="[[$:/config/NewJournal/Tags]]" template="$:/core/ui/EditTemplate/tags"/> |
|
||||
|<$link to="$:/config/AutoFocus"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |
|
||||
|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |
|
||||
|<<lingo Tiddlers/Prompt>> |<<show-filter-count "[!is[system]sort[title]]">> |
|
||||
|<<lingo Tags/Prompt>> |<<show-filter-count "[tags[]sort[title]]">> |
|
||||
|
||||
@@ -5,6 +5,13 @@ subtitle: {{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/
|
||||
<div>
|
||||
<$button class={{{ [<assetInfo>get[original-title]get[version]then[tc-reinstall]] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>
|
||||
<$action-sendmessage $message="tm-load-plugin-from-library" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>
|
||||
<$set name="url" value={{!!url}}>
|
||||
<$set name="currentTiddler" value=<<assetInfo>>>
|
||||
<$list filter="[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]" variable="dependency">
|
||||
<$action-sendmessage $message="tm-load-plugin-from-library" url=<<url>> title=<<dependency>>/>
|
||||
</$list>
|
||||
</$set>
|
||||
</$set>
|
||||
{{$:/core/images/download-button}}
|
||||
<$list filter="[<assetInfo>get[original-title]get[version]]" variable="installedVersion" emptyMessage="""{{$:/language/ControlPanel/Plugins/Install/Caption}}""">
|
||||
{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}
|
||||
@@ -12,7 +19,7 @@ subtitle: {{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/
|
||||
</$button>
|
||||
<div>
|
||||
</div>
|
||||
<$reveal stateTitle=<<assetInfo>> stateField="contains-javascript" type="match" text="yes">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>
|
||||
<$reveal stateTitle=<<assetInfo>> stateField="requires-reload" type="match" text="yes">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>
|
||||
</div>
|
||||
\end
|
||||
|
||||
@@ -57,10 +64,29 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
|
||||
{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}
|
||||
</em>
|
||||
</$list>
|
||||
<$set name="currentTiddler" value=<<assetInfo>>>
|
||||
<$list filter="[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]" variable="ignore">
|
||||
<div>
|
||||
{{$:/language/ControlPanel/Plugins/AlsoRequires}}
|
||||
<$list filter="[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]" variable="dependency">
|
||||
<$text text=<<dependency>>/>
|
||||
</$list>
|
||||
</div>
|
||||
</$list>
|
||||
</$set>
|
||||
</div>
|
||||
<div class="tc-plugin-info-dropdown-body">
|
||||
<$transclude tiddler=<<assetInfo>> field="readme" mode="block"/>
|
||||
</div>
|
||||
<$set name="original-title" value={{{ [<assetInfo>get[original-title]] }}}>
|
||||
<$list filter="[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]" variable="ignore">
|
||||
<div class="tc-plugin-info-sub-plugins">
|
||||
<$list filter="[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[title]sort[name]]" variable="assetInfo">
|
||||
<<display-plugin-info "$type$">>
|
||||
</$list>
|
||||
</div>
|
||||
</$list>
|
||||
</$set>
|
||||
</div>
|
||||
</$reveal>
|
||||
</$set>
|
||||
@@ -83,8 +109,10 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
|
||||
</$reveal>
|
||||
<div class="tc-plugin-library-listing">
|
||||
<$list filter="[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[title]sort[name]]" variable="assetInfo">
|
||||
<$list filter="[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]" variable="ignore"><!-- Hide sub-plugins if we're not searching -->
|
||||
<<display-plugin-info "$type$">>
|
||||
</$list>
|
||||
</$list>
|
||||
</div>
|
||||
\end
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
title: $:/core/ui/EditTemplate
|
||||
|
||||
\define actions()
|
||||
<$action-sendmessage $message="tm-add-tag" $param={{$:/temp/NewTagName}}/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/NewTagName"/>
|
||||
<$action-sendmessage $message="tm-add-field" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/newfieldname"/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/>
|
||||
\define save-tiddler-actions()
|
||||
<$action-sendmessage $message="tm-add-tag" $param={{{ [<newTagNameTiddler>get[text]] }}}/>
|
||||
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
|
||||
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>
|
||||
<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>
|
||||
<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>
|
||||
<$action-sendmessage $message="tm-save-tiddler"/>
|
||||
\end
|
||||
\define frame-classes()
|
||||
@@ -13,9 +13,9 @@ tc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerCl
|
||||
\end
|
||||
<div class=<<frame-classes>> data-tiddler-title=<<currentTiddler>>>
|
||||
<$fieldmangler>
|
||||
<$set name="storyTiddler" value=<<currentTiddler>>>
|
||||
<$vars storyTiddler=<<currentTiddler>> newTagNameTiddler=<<qualify "$:/temp/NewTagName">> newFieldNameTiddler=<<qualify "$:/temp/NewFieldName">> newFieldValueTiddler=<<qualify "$:/temp/NewFieldValue">>>
|
||||
<$keyboard key="((cancel-edit-tiddler))" message="tm-cancel-tiddler">
|
||||
<$keyboard key="((save-tiddler))" actions=<<actions>>>
|
||||
<$keyboard key="((save-tiddler))" actions=<<save-tiddler-actions>>>
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]" variable="listItem">
|
||||
<$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]">
|
||||
<$transclude tiddler=<<listItem>>/>
|
||||
@@ -23,6 +23,6 @@ tc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerCl
|
||||
</$list>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
</$set>
|
||||
</$vars>
|
||||
</$fieldmangler>
|
||||
</div>
|
||||
|
||||
@@ -3,9 +3,10 @@ title: $:/core/ui/EditTemplate/body/editor
|
||||
<$edit
|
||||
|
||||
field="text"
|
||||
class="tc-edit-texteditor"
|
||||
class="tc-edit-texteditor tc-edit-texteditor-body"
|
||||
placeholder={{$:/language/EditTemplate/Body/Placeholder}}
|
||||
tabindex={{$:/config/EditTabIndex}}
|
||||
focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}
|
||||
|
||||
><$set
|
||||
|
||||
|
||||
@@ -10,15 +10,26 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
|
||||
[[hide]] -[title{$(config-title)$}]
|
||||
\end
|
||||
|
||||
\define current-tiddler-new-field-selector()
|
||||
[data-tiddler-title="$(currentTiddlerCSSescaped)$"] .tc-edit-field-add-name input
|
||||
\end
|
||||
|
||||
\define new-field-actions()
|
||||
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}}/>
|
||||
<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>
|
||||
<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>
|
||||
<$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/>
|
||||
\end
|
||||
|
||||
\define new-field()
|
||||
<$vars name={{$:/temp/newfieldname}}>
|
||||
<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>
|
||||
<$reveal type="nomatch" text="" default=<<name>>>
|
||||
<$button>
|
||||
<$button tooltip=<<lingo Fields/Add/Button/Hint>>>
|
||||
<$action-sendmessage $message="tm-add-field"
|
||||
$name=<<name>>
|
||||
$value={{$:/temp/newfieldvalue}}/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/newfieldname"/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/>
|
||||
$value={{{ [<newFieldValueTiddler>get[text]] }}}/>
|
||||
<$action-deletetiddler $tiddler=<<newFieldNameTiddler>>/>
|
||||
<$action-deletetiddler $tiddler=<<newFieldValueTiddler>>/>
|
||||
<<lingo Fields/Add/Button>>
|
||||
</$button>
|
||||
</$reveal>
|
||||
@@ -61,17 +72,18 @@ $value={{$:/temp/newfieldvalue}}/>
|
||||
<<lingo Fields/Add/Prompt>>
|
||||
</em>
|
||||
<span class="tc-edit-field-add-name">
|
||||
<$edit-text tiddler="$:/temp/newfieldname" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify "$:/state/popup/field-dropdown">> class="tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}}/>
|
||||
<$edit-text tiddler=<<newFieldNameTiddler>> tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify "$:/state/popup/field-dropdown">> class="tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}}/>
|
||||
</span>
|
||||
<$button popup=<<qualify "$:/state/popup/field-dropdown">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>
|
||||
<$reveal state=<<qualify "$:/state/popup/field-dropdown">> type="nomatch" text="" default="">
|
||||
<div class="tc-block-dropdown tc-edit-type-dropdown">
|
||||
<$set name="tv-show-missing-links" value="yes">
|
||||
<$linkcatcher to="$:/temp/newfieldname">
|
||||
<$linkcatcher to=<<newFieldNameTiddler>>>
|
||||
<div class="tc-dropdown-item">
|
||||
<<lingo Fields/Add/Dropdown/User>>
|
||||
</div>
|
||||
<$list filter="[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type" variable="currentField">
|
||||
<$set name="newFieldName" value={{{ [<newFieldNameTiddler>get[text]] }}}>
|
||||
<$list filter="[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type" variable="currentField">
|
||||
<$link to=<<currentField>>>
|
||||
<$text text=<<currentField>>/>
|
||||
</$link>
|
||||
@@ -79,17 +91,22 @@ $value={{$:/temp/newfieldvalue}}/>
|
||||
<div class="tc-dropdown-item">
|
||||
<<lingo Fields/Add/Dropdown/System>>
|
||||
</div>
|
||||
<$list filter="[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField">
|
||||
<$list filter="[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField">
|
||||
<$link to=<<currentField>>>
|
||||
<$text text=<<currentField>>/>
|
||||
</$link>
|
||||
</$list>
|
||||
</$set>
|
||||
</$linkcatcher>
|
||||
</$set>
|
||||
</div>
|
||||
</$reveal>
|
||||
<span class="tc-edit-field-add-value">
|
||||
<$edit-text tiddler="$:/temp/newfieldvalue" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class="tc-edit-texteditor" tabindex={{$:/config/EditTabIndex}}/>
|
||||
<$set name="currentTiddlerCSSescaped" value={{{ [<currentTiddler>escapecss[]] }}}>
|
||||
<$keyboard key="((add-field))" actions=<<new-field-actions>>>
|
||||
<$edit-text tiddler=<<newFieldValueTiddler>> tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class="tc-edit-texteditor" tabindex={{$:/config/EditTabIndex}}/>
|
||||
</$keyboard>
|
||||
</$set>
|
||||
</span>
|
||||
<span class="tc-edit-field-add-button">
|
||||
<$macrocall $name="new-field"/>
|
||||
|
||||
@@ -25,21 +25,13 @@ color:$(foregroundColor)$;
|
||||
<$macrocall $name="tag-body-inner" colour="""$colour$""" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} icon="""$icon$"""/>
|
||||
\end
|
||||
|
||||
\define tag-picker-actions()
|
||||
<$action-listops
|
||||
$tiddler=<<currentTiddler>>
|
||||
$field="tags"
|
||||
$subfilter="[<tag>] [all[current]tags[]]"
|
||||
/>
|
||||
\end
|
||||
|
||||
<div class="tc-edit-tags">
|
||||
<$fieldmangler>
|
||||
<$list filter="[all[current]tags[]sort[title]]" storyview="pop">
|
||||
<$macrocall $name="tag-body" colour={{!!color}} palette={{$:/palette}} icon={{!!icon}}/>
|
||||
</$list>
|
||||
</$fieldmangler>
|
||||
<$set name="tabIndex" value={{$:/config/EditTabIndex}}>
|
||||
<$macrocall $name="tag-picker" actions=<<tag-picker-actions>>/>
|
||||
<$macrocall $name="tag-picker"/>
|
||||
</$set>
|
||||
</$fieldmangler>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
title: $:/core/ui/EditTemplate/title
|
||||
tags: $:/tags/EditTemplate
|
||||
|
||||
<$edit-text field="draft.title" class="tc-titlebar tc-edit-texteditor" focus="true" tabindex={{$:/config/EditTabIndex}}/>
|
||||
<$edit-text field="draft.title" class="tc-titlebar tc-edit-texteditor" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}}/>
|
||||
|
||||
<$vars pattern="""[\|\[\]{}]""" bad-chars="""`| [ ] { }`""">
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ tags: $:/tags/EditTemplate
|
||||
|
||||
\define lingo-base() $:/language/EditTemplate/
|
||||
<div class="tc-type-selector"><$fieldmangler>
|
||||
<em class="tc-edit"><<lingo Type/Prompt>></em> <$edit-text field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}}/> <$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>
|
||||
<em class="tc-edit"><<lingo Type/Prompt>></em> <$edit-text field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}}/> <$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>
|
||||
</$fieldmangler></div>
|
||||
|
||||
<div class="tc-block-dropdown-wrapper">
|
||||
|
||||
@@ -3,13 +3,9 @@ tags: $:/tags/EditToolbar
|
||||
caption: {{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}
|
||||
description: {{$:/language/Buttons/Save/Hint}}
|
||||
|
||||
\define save-tiddler-button()
|
||||
<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>
|
||||
<$action-sendmessage $message="tm-add-tag" $param={{$:/temp/NewTagName}}/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/NewTagName"/>
|
||||
<$action-sendmessage $message="tm-add-field" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/newfieldname"/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/>
|
||||
<$action-sendmessage $message="tm-save-tiddler"/>
|
||||
<<save-tiddler-actions>>
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
{{$:/core/images/done-button}}
|
||||
</$list>
|
||||
@@ -17,3 +13,5 @@ description: {{$:/language/Buttons/Save/Hint}}
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Save/Caption}}/></span>
|
||||
</$list>
|
||||
</$button></$fieldmangler>
|
||||
\end
|
||||
<<save-tiddler-button>>
|
||||
|
||||
@@ -7,7 +7,7 @@ $:/config/PageControlButtons/Visibility/$(listItem)$
|
||||
<div class="tc-page-controls">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]" variable="listItem">
|
||||
<$set name="hidden" value=<<config-title>>>
|
||||
<$list filter="[<hidden>!text[hide]]" storyview="pop">
|
||||
<$list filter="[<hidden>!text[hide]]" storyview="pop" variable="ignore">
|
||||
<$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]">
|
||||
<$transclude tiddler=<<listItem>> mode="inline"/>
|
||||
</$set>
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}
|
||||
description: {{$:/language/Buttons/AdvancedSearch/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define control-panel-button(class)
|
||||
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}
|
||||
description: {{$:/language/Buttons/ControlPanel/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define control-panel-button(class)
|
||||
<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}
|
||||
description: {{$:/language/Buttons/Encryption/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
<$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>>>
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
@@ -22,4 +23,4 @@ description: {{$:/language/Buttons/Encryption/Hint}}
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>
|
||||
</$list>
|
||||
</$button>
|
||||
</$reveal>
|
||||
</$reveal>
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}
|
||||
description: {{$:/language/Buttons/Language/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define flag-title()
|
||||
$(languagePluginTitle)$/icon
|
||||
\end
|
||||
@@ -24,4 +25,4 @@ $(languagePluginTitle)$/icon
|
||||
<div class="tc-drop-down">
|
||||
{{$:/snippets/languageswitcher}}
|
||||
</div>
|
||||
</$reveal>
|
||||
</$reveal>
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}
|
||||
description: {{$:/language/Buttons/Manager/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define manager-button(class)
|
||||
<$button to="$:/Manager" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}
|
||||
description: {{$:/language/Buttons/NewImage/Hint}}
|
||||
|
||||
\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}}>
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
{{$:/core/images/new-image-button}}
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}
|
||||
description: {{$:/language/Buttons/NewJournal/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define journalButton()
|
||||
<$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]]">
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}
|
||||
description: {{$:/language/Buttons/NewTiddler/Hint}}
|
||||
|
||||
\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>>>
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
{{$:/core/images/new-button}}
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}
|
||||
description: {{$:/language/Buttons/Palette/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
<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">
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
@@ -17,4 +18,4 @@ description: {{$:/language/Buttons/Palette/Hint}}
|
||||
<div class="tc-drop-down" style="font-size:0.7em;">
|
||||
{{$:/snippets/paletteswitcher}}
|
||||
</div>
|
||||
</$reveal>
|
||||
</$reveal>
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}
|
||||
description: {{$:/language/Buttons/StoryView/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define icon()
|
||||
$:/core/images/storyview-$(storyview)$
|
||||
\end
|
||||
@@ -22,4 +23,4 @@ $:/core/images/storyview-$(storyview)$
|
||||
<div class="tc-drop-down">
|
||||
{{$:/snippets/viewswitcher}}
|
||||
</div>
|
||||
</$reveal>
|
||||
</$reveal>
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}
|
||||
description: {{$:/language/Buttons/TagManager/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define control-panel-button(class)
|
||||
<$button to="$:/TagManager" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}
|
||||
description: {{$:/language/Buttons/Theme/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
<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">
|
||||
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
|
||||
@@ -19,4 +20,4 @@ description: {{$:/language/Buttons/Theme/Hint}}
|
||||
{{$:/snippets/themeswitcher}}
|
||||
</$linkcatcher>
|
||||
</div>
|
||||
</$reveal>
|
||||
</$reveal>
|
||||
|
||||
@@ -3,6 +3,7 @@ tags: $:/tags/PageControls
|
||||
caption: {{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}
|
||||
description: {{$:/language/Buttons/Timestamp/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
<$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>>>
|
||||
<$action-setfield $tiddler="$:/config/TimestampDisable" $value="yes"/>
|
||||
@@ -24,4 +25,4 @@ description: {{$:/language/Buttons/Timestamp/Hint}}
|
||||
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/></span>
|
||||
</$list>
|
||||
</$button>
|
||||
</$reveal>
|
||||
</$reveal>
|
||||
|
||||
@@ -3,5 +3,5 @@ tags: $:/tags/SideBar
|
||||
caption: {{$:/language/SideBar/More/Caption}}
|
||||
|
||||
<div class="tc-more-sidebar">
|
||||
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]" default={{$:/config/DefaultMoreSidebarTab}} state="$:/state/tab/moresidebar" class="tc-vertical" />
|
||||
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]" default={{$:/config/DefaultMoreSidebarTab}} state="$:/state/tab/moresidebar" class="tc-vertical tc-sidebar-tabs-more" />
|
||||
</div>
|
||||
@@ -1,6 +1,7 @@
|
||||
title: $:/core/ui/SideBarSegments/search
|
||||
tags: $:/tags/SideBarSegment
|
||||
|
||||
\whitespace trim
|
||||
<div class="tc-sidebar-lists tc-sidebar-search">
|
||||
|
||||
<$set name="searchTiddler" value="$:/temp/search">
|
||||
|
||||
@@ -3,6 +3,6 @@ tags: $:/tags/SideBarSegment
|
||||
|
||||
<div class="tc-sidebar-lists tc-sidebar-tabs">
|
||||
|
||||
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]" default={{$:/config/DefaultSidebarTab}} state="$:/state/tab/sidebar" />
|
||||
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]" default={{$:/config/DefaultSidebarTab}} state="$:/state/tab/sidebar" class="tc-sidebar-tabs-main"/>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -5,7 +5,7 @@ description: {{$:/language/Buttons/NewHere/Hint}}
|
||||
|
||||
\whitespace trim
|
||||
\define newHereActions()
|
||||
<$set name="tags" filter="[<currentTiddler>]">
|
||||
<$set name="tags" filter="[<currentTiddler>] [{$:/config/NewTiddler/Tags!!tags}]">
|
||||
<$action-sendmessage $message="tm-new-tiddler" tags=<<tags>>/>
|
||||
</$set>
|
||||
\end
|
||||
@@ -21,4 +21,4 @@ description: {{$:/language/Buttons/NewHere/Hint}}
|
||||
</$list>
|
||||
</$button>
|
||||
\end
|
||||
<<newHereButton>>
|
||||
<<newHereButton>>
|
||||
|
||||
@@ -23,9 +23,9 @@ description: {{$:/language/Buttons/NewJournalHere/Hint}}
|
||||
</$button>
|
||||
\end
|
||||
<$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>
|
||||
<$set name="journalTags" value={{$:/config/NewJournal/Tags}}>
|
||||
<$set name="journalTags" value={{$:/config/NewJournal/Tags!!tags}}>
|
||||
<$set name="currentTiddlerTag" value=<<currentTiddler>>>
|
||||
<<journalButton>>
|
||||
</$set>
|
||||
</$set>
|
||||
</$set>
|
||||
</$set>
|
||||
|
||||
2
core/wiki/config/AutoFocus.tid
Normal file
2
core/wiki/config/AutoFocus.tid
Normal file
@@ -0,0 +1,2 @@
|
||||
title: $:/config/AutoFocus
|
||||
text: title
|
||||
@@ -1,5 +1,6 @@
|
||||
title: $:/config/ShortcutInfo/
|
||||
|
||||
add-field: {{$:/language/EditTemplate/Fields/Add/Button/Hint}}
|
||||
advanced-search: {{$:/language/Buttons/AdvancedSearch/Hint}}
|
||||
bold: {{$:/language/Buttons/Bold/Hint}}
|
||||
cancel-edit-tiddler: {{$:/language/Buttons/Cancel/Hint}}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
title: $:/config/shortcuts/
|
||||
|
||||
add-field: enter
|
||||
advanced-search: ctrl-shift-A
|
||||
cancel-edit-tiddler: escape
|
||||
excise: ctrl-E
|
||||
|
||||
@@ -15,7 +15,7 @@ $(colour-picker-update-recent)$
|
||||
|
||||
$actions$
|
||||
|
||||
<div style="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%;"/>
|
||||
|
||||
</$button>
|
||||
\end
|
||||
@@ -44,7 +44,7 @@ $actions$
|
||||
|
||||
---
|
||||
|
||||
<$edit-text tiddler="$:/config/ColourPicker/New" tag="input" default="" placeholder=""/>
|
||||
<$edit-text tiddler="$:/config/ColourPicker/New" tag="input" default="" placeholder=""/>
|
||||
<$edit-text tiddler="$:/config/ColourPicker/New" type="color" tag="input"/>
|
||||
<$set name="colour-picker-value" value={{$:/config/ColourPicker/New}}>
|
||||
<$macrocall $name="colour-picker-inner" actions="""$actions$"""/>
|
||||
|
||||
@@ -2,30 +2,29 @@ title: $:/core/macros/tag-picker
|
||||
tags: $:/tags/Macro
|
||||
|
||||
\define add-tag-actions()
|
||||
<$action-sendmessage $message="tm-add-tag" $param={{$:/temp/NewTagName}}/>
|
||||
<$action-deletetiddler $tiddler="$:/temp/NewTagName"/>
|
||||
<$action-sendmessage $message="tm-add-tag" $param={{{ [<newTagNameTiddler>get[text]] }}}/>
|
||||
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
|
||||
\end
|
||||
|
||||
\define tag-button()
|
||||
<$button class="tc-btn-invisible" tag="a">
|
||||
$(actions)$
|
||||
<$action-deletetiddler $tiddler="$:/temp/NewTagName"/>
|
||||
<$button class="tc-btn-invisible" tag="a" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>
|
||||
<$action-sendmessage $message="tm-add-tag" $param=<<tag>>/>
|
||||
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
|
||||
<$macrocall $name="tag-pill" tag=<<tag>>/>
|
||||
</$button>
|
||||
\end
|
||||
|
||||
\define tag-picker(actions)
|
||||
<$set name="actions" value="""$actions$""">
|
||||
\define tag-picker-inner()
|
||||
<div class="tc-edit-add-tag">
|
||||
<span class="tc-add-tag-name">
|
||||
<$keyboard key="ENTER" actions=<<add-tag-actions>>>
|
||||
<$edit-text tiddler="$:/temp/NewTagName" tag="input" default="" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-edit-texteditor tc-popup-handle" tabindex=<<tabIndex>>/>
|
||||
<$edit-text tiddler=<<newTagNameTiddler>> tag="input" default="" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-edit-texteditor tc-popup-handle" tabindex=<<tabIndex>> focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}/>
|
||||
</$keyboard>
|
||||
</span> <$button popup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-btn-invisible" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class="tc-add-tag-button">
|
||||
<$set name="tag" value={{$:/temp/NewTagName}}>
|
||||
<$set name="tag" value={{{ [<newTagNameTiddler>get[text]] }}}>
|
||||
<$button set="$:/temp/NewTagName" setTo="" class="">
|
||||
$actions$
|
||||
<$action-deletetiddler $tiddler="$:/temp/NewTagName"/>
|
||||
<<add-tag-actions>>
|
||||
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
|
||||
{{$:/language/EditTemplate/Tags/Add/Button}}
|
||||
</$button>
|
||||
</$set>
|
||||
@@ -34,17 +33,25 @@ $actions$
|
||||
<div class="tc-block-dropdown-wrapper">
|
||||
<$reveal state=<<qualify "$:/state/popup/tags-auto-complete">> type="nomatch" text="" default="">
|
||||
<div class="tc-block-dropdown">
|
||||
<$list filter="[{$:/temp/NewTagName}minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
||||
<$list filter="[tags[]!is[system]search:title{$:/temp/NewTagName}sort[]]" variable="tag">
|
||||
<$set name="newTagName" value={{{ [<newTagNameTiddler>get[text]] }}}>
|
||||
<$list filter="[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
||||
<$list filter="[tags[]!is[system]search:title<newTagName>sort[]]" variable="tag">
|
||||
<<tag-button>>
|
||||
</$list></$list>
|
||||
<hr>
|
||||
<$list filter="[{$:/temp/NewTagName}minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
||||
<$list filter="[tags[]is[system]search:title{$:/temp/NewTagName}sort[]]" variable="tag">
|
||||
<$list filter="[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
||||
<$list filter="[tags[]is[system]search:title<newTagName>sort[]]" variable="tag">
|
||||
<<tag-button>>
|
||||
</$list></$list>
|
||||
</$set>
|
||||
</div>
|
||||
</$reveal>
|
||||
</div>
|
||||
</$set>
|
||||
\end
|
||||
\define tag-picker()
|
||||
<$list filter="[<newTagNameTiddler>match[]]" emptyMessage=<<tag-picker-inner>>>
|
||||
<$set name="newTagNameTiddler" value=<<qualify "$:/temp/NewTagName">>>
|
||||
<<tag-picker-inner>>
|
||||
</$set>
|
||||
</$list>
|
||||
\end
|
||||
|
||||
@@ -106,7 +106,7 @@ tags: $:/tags/Macro
|
||||
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" >
|
||||
<li class=<<toc-item-class>>>
|
||||
<$link>
|
||||
<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
|
||||
<$list filter="[all[current]tagging[]$sort$limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
|
||||
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
|
||||
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
|
||||
{{$:/core/images/right-arrow}}
|
||||
@@ -132,7 +132,7 @@ tags: $:/tags/Macro
|
||||
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
|
||||
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
|
||||
<li class=<<toc-item-class>>>
|
||||
<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>">
|
||||
<$list filter="[all[current]tagging[]$sort$limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>">
|
||||
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
|
||||
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
|
||||
{{$:/core/images/right-arrow}}
|
||||
|
||||
7
core/wiki/minifocusswitcher.tid
Normal file
7
core/wiki/minifocusswitcher.tid
Normal file
@@ -0,0 +1,7 @@
|
||||
title: $:/snippets/minifocusswitcher
|
||||
|
||||
<$select tiddler="$:/config/AutoFocus">
|
||||
<$list filter="title tags text type fields">
|
||||
<option value=<<currentTiddler>>><<currentTiddler>></option>
|
||||
</$list>
|
||||
</$select>
|
||||
@@ -11,18 +11,41 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
Plugins [[can now|https://github.com/Jermolene/TiddlyWiki5/pull/4259]] be loaded or deleted dynamically, without requiring a reload -- as long as they don't contain any ~JavaScript modules. Plugins that require a reload are indicated in the plugin chooser in [[$:/ControlPanel]].
|
||||
|
||||
The [[plugin listing|$:/core/ui/ControlPanel/Plugins]] and the [[plugin chooser|$:/core/ui/ControlPanel/Modals/AddPlugins]] in the control panel feature several improvements:
|
||||
|
||||
* The plugin chooser now displays plugins that provide add-on functionality to another plugin as nested "sub-plugins", making the main listing easier to navigate
|
||||
* Plugins may now declare dependencies that are automatically installed without user intervention
|
||||
* All plugins now feature a concise, informal name (in addition to the description and title)
|
||||
|
||||
! Translation Improvements
|
||||
|
||||
* Improved Dutch translation
|
||||
|
||||
! Usability Improvements
|
||||
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/pull/4238]] support for specifying the field that should receive focus when editing or creating a tiddler
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4293]] ([[and here|https://github.com/Jermolene/TiddlyWiki5/pull/4296]]) spacing for page control buttons
|
||||
* [[Improved|https://github.com/Jermolene/TiddlyWiki5/commit/9395d7567179c436d0e8ac26fc976d717eae7f50]] display of icons in documentation
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/pull/4314]] support in control panel for specifying the tags for new tiddlers and journals
|
||||
|
||||
! Hackability Improvements
|
||||
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/6089c4de2921df0f76f605f1830fb2c04548f73c]] support for RefreshThrottling via the `throttle.refresh` field
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/1150c87edb7478af6cc943eb0ef52fdf3051c121]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/8c894612914e21cf941a1daa953538c28ce91d8e]]) new `[is[binary]]` operand for the [[is Operator]]
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/68163684a2e57108e160295e445c194268b873c5]] usage of `publishFilter` in save templates -- see SavingMechanism
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/89716bb81d68b9c68d3c0fd2f2de96afad1b086a]] CSS class identifying the tiddler body editor
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/e9211b0eee8e0b081f9f1597bde6673bf4c55d5c]] CSS classes to identify sidebar tabsets
|
||||
* [[Updated|https://github.com/Jermolene/TiddlyWiki5/pull/4208]] normalize.css from v3.0.0 to v8.0.1
|
||||
|
||||
! Bug Fixes
|
||||
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/issues/4291]] bug with deletes failing when lazy loading used under Node.js
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4243]] problem with the [[GitLab saver|Saving to a Git service]]
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/issues/4237]] bug with permaview button when placed above the search box
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/a054d100e73db95071299e92c4321c2aa8e42382]] usage of ''count'' parameter of [[WidgetMessage: tm-edit-text-operation]]
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/issues/4284]] bug with toc-selective-expandable macro still showing disclosure arrow despite excluding tiddlers
|
||||
* [[Removed|https://github.com/Jermolene/TiddlyWiki5/commit/81f1e6af4e5920c6ff41e7f08171bfddc1b26dfc]] erroneous word break setting for vertical tabs
|
||||
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/d30eacc6520971c95bdabf24f4c4122534d9414a]] problem with programmatically deselecting entries from the SelectWidget in multiple selection mode
|
||||
|
||||
! Contributors
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ table-border: #ccc
|
||||
...
|
||||
```
|
||||
|
||||
Several palettes form part of the core. The system tiddler [[$:/palette]] always contains the title of the currently selected palette tiddler. You can change a palette using the {{$:/core/images/palette}} ''palette'' button, found on the "Tools" tab in the sidebar.
|
||||
Several palettes form part of the core. The system tiddler [[$:/palette]] always contains the title of the currently selected palette tiddler. You can change a palette using the <<.icon $:/core/images/palette>> ''palette'' button, found on the "Tools" tab in the sidebar.
|
||||
|
||||
To retrieve the value of a named colour from the current palette, e.g. for use in a stylesheet tiddler, use the <<.mlink colour>> macro:
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ tags: Features
|
||||
title: InfoPanel
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
Each tiddler has a panel of additional information. To reveal it, click the {{$:/core/images/down-arrow}} button in the tiddler's toolbar and then choose {{$:/core/images/info-button}} ''info'' from the dropdown list.
|
||||
Each tiddler has a panel of additional information. To reveal it, click the <<.icon $:/core/images/down-arrow>> button in the tiddler's toolbar and then choose <<.icon $:/core/images/info-button>> ''info'' from the dropdown list.
|
||||
|
||||
The info panel has the following tabs:
|
||||
|
||||
|
||||
@@ -6,4 +6,4 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
A //module// in TiddlyWiki5 is a tiddler containing executable JavaScript, of the type `application/javascript` and with the field `module-type` set to the ModuleType of the module.
|
||||
|
||||
See [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}} > ''Info'' > ''Advanced'' > ''Loaded Modules'' for a list of currently loaded modules.
|
||||
See [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> > ''Info'' > ''Advanced'' > ''Loaded Modules'' for a list of currently loaded modules.
|
||||
|
||||
@@ -8,7 +8,7 @@ Permalinks allow direct links to individual tiddlers within a TiddlyWiki.
|
||||
|
||||
! Simple Permalinks
|
||||
|
||||
The simplest form of permalink ({{$:/core/images/permalink-button}}) is a single target tiddler title appended to the base URL with `#`:
|
||||
The simplest form of permalink (<<.icon $:/core/images/permalink-button>>) is a single target tiddler title appended to the base URL with `#`:
|
||||
|
||||
https://tiddlywiki.com/#HelloThere
|
||||
|
||||
@@ -42,7 +42,7 @@ Both the target tiddler title and the story filter should be URL encoded (but no
|
||||
|
||||
! Permalink Behaviour
|
||||
|
||||
Two important aspects of TiddlyWiki's behaviour with permalinks can be controlled via options in the [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}} ''Settings'' tab:
|
||||
Two important aspects of TiddlyWiki's behaviour with permalinks can be controlled via options in the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> ''Settings'' tab:
|
||||
|
||||
* Whether to automatically update the address bar at each navigation, and if so whether to include the story sequence as well as the target tiddler
|
||||
* Whether the updates to the address bar should affect browser history. The default is ''no''; when switched to ''yes'' you can rewind navigation between tiddlers using the browser back and forward buttons
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20130825213300000
|
||||
modified: 20180104000000000
|
||||
modified: 20191013093910961
|
||||
tags: Concepts
|
||||
title: TiddlerFields
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -9,43 +9,44 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
The standard fields are:
|
||||
|
||||
|!Field Name |!Reference |!Description |
|
||||
|`title` |TitleField |<<lingo title>> |
|
||||
|`text` |TextField |<<lingo text>> |
|
||||
|`modified` |ModifiedField |<<lingo modified>> |
|
||||
|`modifier` |ModifierField |<<lingo modifier>> |
|
||||
|`created` |CreatedField |<<lingo created>> |
|
||||
|`creator` |CreatorField |<<lingo creator>> |
|
||||
|`tags` |TagsField |<<lingo tags>> |
|
||||
|`type` |TypeField |<<lingo type>> |
|
||||
|`list` |ListField |<<lingo list>> |
|
||||
|`caption` |CaptionField |<<lingo caption>> |
|
||||
|!Field Name |!Description |
|
||||
|`title` |<<lingo title>> |
|
||||
|`text` |<<lingo text>> |
|
||||
|`modified` |<<lingo modified>> |
|
||||
|`modifier` |<<lingo modifier>> |
|
||||
|`created` |<<lingo created>> |
|
||||
|`creator` |<<lingo creator>> |
|
||||
|`tags` |<<lingo tags>> |
|
||||
|`type` |<<lingo type>> |
|
||||
|`list` |<<lingo list>> -- see ListField |
|
||||
|`caption` |<<lingo caption>> |
|
||||
|
||||
Other fields used by the core are:
|
||||
|
||||
|!Field Name |!Reference |!Description |
|
||||
|`class` |ClassField |<<lingo class>> |
|
||||
|`color` |ColorField |<<lingo color>> |
|
||||
|`description` |DescriptionField |<<lingo description>> |
|
||||
|`draft.of` |DraftOfField |<<lingo draft.of>> |
|
||||
|`draft.title` |DraftTitleField |<<lingo draft.title>> |
|
||||
|`footer` |FooterField |<<lingo footer>> |
|
||||
|`hide-body`|HideBodyField|<<lingo hide-body>>|
|
||||
|`icon` |IconField |<<lingo icon>> |
|
||||
|`library` |LibraryField |<<lingo library>> |
|
||||
|`list-after` |ListAfterField |<<lingo list-after>> |
|
||||
|`list-before` |ListBeforeField |<<lingo list-before>> |
|
||||
|`name` |NameField |<<lingo name>> |
|
||||
|`plugin-priority` |PluginPriorityField |<<lingo plugin-priority>> |
|
||||
|`plugin-type` |PluginTypeField |<<lingo plugin-type>> |
|
||||
|`source` |SourceField |<<lingo source>> |
|
||||
|`subtitle` |SubtitleField |<<lingo subtitle>> |
|
||||
|`toc-link`|TocLink|<<lingo toc-link>>|
|
||||
|!Field Name |!Description |
|
||||
|`class` |<<lingo class>> |
|
||||
|`color` |<<lingo color>> |
|
||||
|`description` |<<lingo description>> |
|
||||
|`draft.of` |<<lingo draft.of>> |
|
||||
|`draft.title` |<<lingo draft.title>> |
|
||||
|`footer` |<<lingo footer>> |
|
||||
|`hide-body`|<<lingo hide-body>>|
|
||||
|`icon` |<<lingo icon>> |
|
||||
|`library` |<<lingo library>> |
|
||||
|`list-after` |<<lingo list-after>> |
|
||||
|`list-before` |<<lingo list-before>> |
|
||||
|`name` |<<lingo name>> |
|
||||
|`plugin-priority` |<<lingo plugin-priority>> |
|
||||
|`plugin-type` |<<lingo plugin-type>> |
|
||||
|`source` |<<lingo source>> |
|
||||
|`subtitle` |<<lingo subtitle>> |
|
||||
|`throttle.refresh` |<<lingo throttle.refresh>> |
|
||||
|`toc-link`|<<lingo toc-link>>|
|
||||
|
||||
The TiddlyWebAdaptor uses a few more fields:
|
||||
|
||||
|!Field Name |!Reference |!Description |
|
||||
|`bag` |BagField |<<lingo bag>> |
|
||||
|`revision` |RevisionField |<<lingo revision>> |
|
||||
|!Field Name |!Description |
|
||||
|`bag` |<<lingo bag>> |
|
||||
|`revision` |<<lingo revision>> |
|
||||
|
||||
Details of the fields used in this ~TiddlyWiki are shown in the [[control panel|$:/ControlPanel]] {{$:/core/ui/Buttons/control-panel}} under the <<.controlpanel-tab Info>> tab >> <<.info-tab Advanced>> sub-tab >> Tiddler Fields
|
||||
|
||||
@@ -4,8 +4,8 @@ tags: Features
|
||||
title: AutoSave
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
If there is a SaverModule available that supports it, TiddlyWiki will automatically trigger a save of the current document on clicking {{$:/core/images/done-button}} ''ok'' or {{$:/core/images/delete-button}} ''delete'' when editing a tiddler.
|
||||
If there is a SaverModule available that supports it, TiddlyWiki will automatically trigger a save of the current document on clicking <<.icon $:/core/images/done-button>> ''ok'' or <<.icon $:/core/images/delete-button>> ''delete'' when editing a tiddler.
|
||||
|
||||
You should see a yellow notification at the top right of the window to confirm that an automatic save has taken place.
|
||||
|
||||
Automatic saving can be enabled or disabled through the ''Settings'' tab of the [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}}. Behind the scenes, it is controlled through the configuration tiddler [[$:/config/AutoSave]], which must have the value ''yes'' to enable automatic saving.
|
||||
Automatic saving can be enabled or disabled through the ''Settings'' tab of the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>>. Behind the scenes, it is controlled through the configuration tiddler [[$:/config/AutoSave]], which must have the value ''yes'' to enable automatic saving.
|
||||
|
||||
@@ -10,7 +10,7 @@ You can import tiddlers into a ~TiddlyWiki from external files or directly from
|
||||
|
||||
There are several ways to import content from external files:
|
||||
|
||||
* Use the {{$:/core/images/import-button}} ''import'' button (under the ''Tools'' tab in the sidebar) to select a local file
|
||||
* Use the <<.icon $:/core/images/import-button>> ''import'' button (under the ''Tools'' tab in the sidebar) to select a local file
|
||||
* Drag and drop files from Windows Explorer or OS X Finder etc. into the TiddlyWiki browser window
|
||||
* Paste content directly from the clipboard using the menu or keyboard shortcut (<kbd>ctrl-V</kbd> or <kbd>cmd-V</kbd>)
|
||||
** Currently supported in Chrome, Firefox and Edge (but not Internet Explorer)
|
||||
|
||||
@@ -18,7 +18,7 @@ https://tiddlywiki.com/#:safe
|
||||
|
||||
Safe mode triggers two changes:
|
||||
|
||||
* All plugins are temporarily disabled. You can use the [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}} to disable individual plugins
|
||||
* All plugins are temporarily disabled. You can use the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> to disable individual plugins
|
||||
* Any tiddlers that override shadow tiddlers are renamed to give them the prefix `SAFE: `, thus restoring the underlying shadow tiddler
|
||||
* Certain configuration options are ignored, and the default settings used instead:
|
||||
** WikiParserRuleConfiguration
|
||||
|
||||
@@ -14,7 +14,7 @@ Typing text into the search box in the sidebar will turn up a list of all the ti
|
||||
|
||||
! Advanced searching
|
||||
|
||||
Clicking on the magnifying glass icon {{$:/core/images/advanced-search-button}} to the right of the search box will open [[$:/AdvancedSearch]]. This tiddler contains four tabs:
|
||||
Clicking on the magnifying glass icon <<.icon $:/core/images/advanced-search-button>> to the right of the search box will open [[$:/AdvancedSearch]]. This tiddler contains four tabs:
|
||||
|
||||
* The ''standard'' tab contains another instance of the search box found in the sidebar
|
||||
* The ''system'' tab allows you to limit your search to system tiddlers
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
created: 20150619162409306
|
||||
modified: 20150619162511957
|
||||
modified: 20191014091803518
|
||||
tags: [[Hidden Settings]]
|
||||
title: Hidden Setting: Typing Refresh Delay
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
TiddlyWiki defers processing changes to draft tiddlers until a timeout has elapsed. The default value of 400ms gives a good balance of responsiveness in most cases but isn't always optimal on lower powered mobile devices.
|
||||
TiddlyWiki defers processing changes to draft tiddlers until a timeout has elapsed (this is called throttling). The mechanism can be extended to other tiddlers by adding a `throttle.refresh` field. See RefreshThrottling for details.
|
||||
|
||||
The default value of 400ms gives a good balance of responsiveness in most cases but isn't always optimal on lower powered mobile devices.
|
||||
|
||||
The timeout can now be changed by changing this value (in milliseconds):
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ A customisable [[table of contents|Table-of-Contents Macros]] can be added to th
|
||||
# Add a ''caption'' field with the text ''Contents''
|
||||
# Add a ''list-after'' field with the text ''~$:/core/ui/SideBar/Open''
|
||||
|
||||
Add entries to the table of contents by creating tiddlers tagged ''~TableOfContents''. An easy way is to choose {{$:/core/images/new-here-button}} ''new here'' from the tiddler toolbar of the ''~TableOfContents'' tiddler.
|
||||
(if you don't see the "new here" button, click on the down arrow {{$:/core/images/down-arrow}} to see more menu options.)
|
||||
Add entries to the table of contents by creating tiddlers tagged ''~TableOfContents''. An easy way is to choose <<.icon $:/core/images/new-here-button>> ''new here'' from the tiddler toolbar of the ''~TableOfContents'' tiddler.
|
||||
(if you don't see the "new here" button, click on the down arrow <<.icon $:/core/images/down-arrow>> to see more menu options.)
|
||||
|
||||
To create child tiddlers (tiddlers that come below other tiddlers), tag them with the name of the parent tiddler.
|
||||
|
||||
@@ -14,7 +14,7 @@ A tiddler with the <<.def prefix>> `$:/config/ShortcutInfo/` and a ''unique suff
|
||||
|
||||
In the [[Keyboard Shortcuts Tab|$:/core/ui/ControlPanel/KeyboardShortcuts]] the ''key combination'' that should trigger the shortcut can be configured:
|
||||
|
||||
> Look for the ''unique suffix'' defined for the new shortcut and click the <$button class="tc-btn-invisible">{{$:/core/images/edit-button}}<$action-sendmessage $message="tm-notify" $param="$:/core/images/edit-button"/></$button> button to open a popup that detects ''key combinations'' and shows the detected combination in its input field
|
||||
> Look for the ''unique suffix'' defined for the new shortcut and click the <$button class="tc-btn-invisible"><<.icon $:/core/images/edit-button>><$action-sendmessage $message="tm-notify" $param="$:/core/images/edit-button"/></$button> button to open a popup that detects ''key combinations'' and shows the detected combination in its input field
|
||||
|
||||
>The ''add shortcut'' assigns the key-combination to the shortcut
|
||||
|
||||
|
||||
@@ -6,17 +6,17 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
! Selecting All tiddlers for export
|
||||
|
||||
To export ''all'' tiddlers click on the "Tools" tab of the Sidebar. Find and click the {{$:/core/images/export-button}} ''export all'' button. A pop-up menu will offer you the chance to export tiddlers in multiple formats.
|
||||
To export ''all'' tiddlers click on the "Tools" tab of the Sidebar. Find and click the <<.icon $:/core/images/export-button>> ''export all'' button. A pop-up menu will offer you the chance to export tiddlers in multiple formats.
|
||||
|
||||
! Exporting a tiddler
|
||||
|
||||
If you want to export a particular tiddler, first navigate to that tiddler. Then click on the {{$:/core/images/down-arrow}} ''more'' button that appears above the tiddler. From the list that appears select {{$:/core/images/export-button}} ''export tiddler''. A pop-up menu will offer you the chance to export the tiddler in multiple formats.
|
||||
If you want to export a particular tiddler, first navigate to that tiddler. Then click on the <<.icon $:/core/images/down-arrow>> ''more'' button that appears above the tiddler. From the list that appears select <<.icon $:/core/images/export-button>> ''export tiddler''. A pop-up menu will offer you the chance to export the tiddler in multiple formats.
|
||||
|
||||
! Exporting tiddlers matching a criteria (filter)
|
||||
|
||||
To export a selection of tiddlers, click the little magnifying glass {{$:/core/images/advanced-search-button}} next to the search area on the sidebar. This will open the [[Advanced Search|$:/AdvancedSearch]] tiddler. Click on the "Filter" tab of the Advanced Search tiddler. Only the [[Filter|Filters]] tab will allow you to export a selection of tiddlers. [[Filters]] follow a particular syntax. Click on this [[Filters|Filters]] link to learn about how to make filters.
|
||||
To export a selection of tiddlers, click the little magnifying glass <<.icon $:/core/images/advanced-search-button>> next to the search area on the sidebar. This will open the [[Advanced Search|$:/AdvancedSearch]] tiddler. Click on the "Filter" tab of the Advanced Search tiddler. Only the [[Filter|Filters]] tab will allow you to export a selection of tiddlers. [[Filters]] follow a particular syntax. Click on this [[Filters|Filters]] link to learn about how to make filters.
|
||||
|
||||
Once you have written a filter, a list of tiddlers matching the filter will appear. Now you can click on the {{$:/core/images/export-button}} ''export tiddler'' button to the right of the filter input field. A pop-up menu will offer you the chance to export tiddlers in multiple formats.
|
||||
Once you have written a filter, a list of tiddlers matching the filter will appear. Now you can click on the <<.icon $:/core/images/export-button>> ''export tiddler'' button to the right of the filter input field. A pop-up menu will offer you the chance to export tiddlers in multiple formats.
|
||||
|
||||
! Export formats
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ type: text/vnd.tiddlywiki
|
||||
Here's how to display the last modification date of a wiki in a banner in the corner of the window:
|
||||
|
||||
# [[Install the plugin|Installing a plugin from the plugin library]] <<.def "Corner ribbon">> in your ~TiddlyWiki
|
||||
# Save ({{$:/core/images/save-button}}) and reload ({{$:/core/images/refresh-button}}) your wiki
|
||||
# Save (<<.icon $:/core/images/save-button>>) and reload (<<.icon $:/core/images/refresh-button>>) your wiki
|
||||
# Create a new tiddler called [[$:/_MyRibbon]] tagged [[$:/tags/PageControls]] and containing:<div>
|
||||
|
||||
```
|
||||
|
||||
@@ -5,6 +5,6 @@ title: Insert link
|
||||
|
||||
This will give you a dialog to search for and pick existing tiddlers in the wiki. When you pick a tiddler it will be inserted as a WikiText link where the cursor is in the text field.
|
||||
|
||||
Pressing {{$:/core/images/link}} will give you `[[Some link]]`
|
||||
Pressing <<.icon $:/core/images/link>> will give you `[[Some link]]`
|
||||
|
||||
It wil ''not'' insert: external web links or [[picture|Insert picture]] links.
|
||||
@@ -6,4 +6,4 @@ title: Insert picture
|
||||
This will give you a dialog to search for and pick existing image tiddlers in the wiki. When you pick a tiddler it will be inserted as a WikiText image link where the cursor is in the text field.
|
||||
|
||||
|
||||
Pressing {{$:/core/images/picture}} will give you `[img[$:/favicon.ico]]`
|
||||
Pressing <<.icon $:/core/images/picture>> will give you `[img[$:/favicon.ico]]`
|
||||
@@ -24,7 +24,7 @@ Keyboard shortcuts are available for common editing operations within the Text E
|
||||
* Creating a new journal (defaults to <kbd>alt-J</kbd> )
|
||||
* Creating a new image (defaults to <kbd>alt-I</kbd> )
|
||||
|
||||
The current shortcuts can be inspected and customised in the "Keyboard Shortcuts" tab of the [[Control Panel|$:/ControlPanel]] {{$:/core/images/options-button}}.
|
||||
The current shortcuts can be inspected and customised in the "Keyboard Shortcuts" tab of the [[Control Panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>>.
|
||||
|
||||
!! Special Keys
|
||||
|
||||
|
||||
@@ -3,4 +3,4 @@ modified: 20160817110101356
|
||||
tags: [[Editor toolbar]]
|
||||
title: More actions
|
||||
|
||||
Pressing {{$:/core/images/down-arrow}} Gives you a dropdown menu with more editing options.
|
||||
Pressing <<.icon $:/core/images/down-arrow>> Gives you a dropdown menu with more editing options.
|
||||
@@ -6,7 +6,7 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
# Import your image as a tiddler (see [[Images in WikiText]])
|
||||
#* You can also use an [[external image|ExternalImages]]
|
||||
# Open the [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}} and switch to the ''Appearance''/''Theme Tweaks'' tab
|
||||
# Open the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> and switch to the ''Appearance''/''Theme Tweaks'' tab
|
||||
# Select your image from the dropdown labelled "Page background image"
|
||||
# Set "Page background image attachment" to "Fixed to window" to have the background stay stationary and the content to scroll over the top of it, or "Scroll with tiddlers" to have it move (note that the iPhone/iPad [[doesn't support the fixed setting|http://stackoverflow.com/a/20444219]] for performance reasons)
|
||||
# Set "Page background image size" as follows:
|
||||
|
||||
@@ -26,10 +26,10 @@ There are two more things you can do with tags:
|
||||
|
||||
! Set a tag's colour and icon
|
||||
|
||||
You can use the {{$:/core/images/tag-button}} [[tag manager|$:/TagManager]], found on the ''Tags'' tab under ''More'' in the sidebar, to change the colour of a tag's pill or add an icon to the pill.
|
||||
You can use the <<.icon $:/core/images/tag-button>> [[tag manager|$:/TagManager]], found on the ''Tags'' tab under ''More'' in the sidebar, to change the colour of a tag's pill or add an icon to the pill.
|
||||
|
||||
* To change the colour, click the button in the ''Colour'' column to select from a colour picker. Alternatively, click the icon in the ''Info'' column, then type a [[CSS]] colour value in the ''Colour'' field
|
||||
* To change the icon, click the {{$:/core/images/down-arrow}} button in the ''Icon'' column and choose from the list of available icons
|
||||
* To change the icon, click the <<.icon $:/core/images/down-arrow>> button in the ''Icon'' column and choose from the list of available icons
|
||||
|
||||
! Change the order in which tags are listed
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ This process will work on most desktop browsers. Note that none of your personal
|
||||
#* If the file is encrypted you will be prompted for the password
|
||||
# Review the list of tiddlers that will be upgraded
|
||||
# Click ''Upgrade''
|
||||
# Save changes to save the new version ({{$:/core/images/save-button}})
|
||||
# Save changes to save the new version (<<.icon $:/core/images/save-button>>)
|
||||
|
||||
This will download a file called ''upgrade.html'' to your computer. This file is the upgrade of your old file. You may need to open the location where ''upgrade.html'' was downloaded, rename ''upgrade.html'' with the name of the old file you are upgrading, and replace the old file by moving the new file in its place.
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
|
||||
! Excise text
|
||||
From the EditorToolbar you can export selected text to a new tiddler and insert a [[link|Linking in WikiText]] [[Transclusion]] or [[macro|Macros]] in its place. Click ''Excise text'' ({{$:/core/images/excise}}), input name of the new tiddler, and choose excise method.
|
||||
From the EditorToolbar you can export selected text to a new tiddler and insert a [[link|Linking in WikiText]] [[Transclusion]] or [[macro|Macros]] in its place. Click ''Excise text'' (<<.icon $:/core/images/excise>>), input name of the new tiddler, and choose excise method.
|
||||
|
||||
!! How to excise text
|
||||
# Highlight the relevant piece of text
|
||||
#Click ''Excise text'' ({{$:/core/images/excise}})
|
||||
#Click ''Excise text'' (<<.icon $:/core/images/excise>>)
|
||||
# Give the new tiddler a title.
|
||||
# Chosse if the new tiddler will be tagged with the title of the current tiddler''*''.
|
||||
# Choose replacing method. [[link|Linking in WikiText]] [[Transclusion]] or [[macro|Macros]].
|
||||
|
||||
@@ -5,24 +5,24 @@ title: Using Stamp
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
! Insert snippets
|
||||
You can insert preconfigured snippets of text to use stamp from toolbar. Click ''stamp'' ({{$:/core/images/stamp}}) and just select a snippet.
|
||||
You can insert preconfigured snippets of text to use stamp from toolbar. Click ''stamp'' (<<.icon $:/core/images/stamp>>) and just select a snippet.
|
||||
|
||||
! Create a snippet
|
||||
# Click ''stamp'' ({{$:/core/images/stamp}})
|
||||
# Click ''stamp'' (<<.icon $:/core/images/stamp>>)
|
||||
# Create a snippet tiddler through the "//Add your own//" menu entry
|
||||
# Type some text as snippet for the tiddler, add a caption for the name as shown in the menu
|
||||
# Click the {{$:/core/images/done-button}} ''ok'' button
|
||||
# Click the <<.icon $:/core/images/done-button>> ''ok'' button
|
||||
|
||||
<<.tip """''Tip:'' You can also create a snippet tiddler using the ''new tiddler'' {{$:/core/images/new-button}} button in the sidebar, and add tag ''~$:/tags/TextEditor/Snippet''""">>
|
||||
<<.tip """''Tip:'' You can also create a snippet tiddler using the ''new tiddler'' <<.icon $:/core/images/new-button>> button in the sidebar, and add tag ''~$:/tags/TextEditor/Snippet''""">>
|
||||
|
||||
|
||||
!!<<.from-version "5.1.20">> Adding a prefix and/or suffix to a selection
|
||||
|
||||
# Click ''stamp'' ({{$:/core/images/stamp}})
|
||||
# Click ''stamp'' (<<.icon $:/core/images/stamp>>)
|
||||
# Create a snippet tiddler through the "//Add your own//" menu entry
|
||||
# Add a caption for the name as shown in the menu
|
||||
# Create a tiddler with the same title but add the suffix `/prefix`
|
||||
# Insert the prefix in its text field
|
||||
# Create a tiddler with the same title but add the suffix `/suffix`
|
||||
# Insert the suffix in its text field
|
||||
# Click the {{$:/core/images/done-button}} ''ok'' button
|
||||
# Click the <<.icon $:/core/images/done-button>> ''ok'' button
|
||||
|
||||
@@ -18,7 +18,7 @@ The first steps to changing the appearance of ~TiddlyWiki are to choose and appl
|
||||
|
||||
* One of the available themes: <span class="tc-btn-standard"> {{$:/core/ui/Buttons/theme}} </span>
|
||||
* Modify the colour palette: <span class="tc-btn-standard"> {{$:/core/ui/Buttons/palette}} </span>
|
||||
* Experiment with the <$button actions=<<openCpTheme>> >{{$:/core/images/options-button}} ControlPanel</$button>
|
||||
* Experiment with the <$button actions=<<openCpTheme>> ><<.icon $:/core/images/options-button>> ControlPanel</$button>
|
||||
|
||||
! Work with Stylesheets
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ tags: Mechanisms Features
|
||||
title: AlertMechanism
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
Alerts are displayed as yellow boxes overlaying the main TiddlyWiki window. Each one corresponds to a tiddler with the tag [[$:/tags/Alert]]. Clicking the {{$:/core/images/delete-button}} delete icon on an alert deletes the corresponding tiddler.
|
||||
Alerts are displayed as yellow boxes overlaying the main TiddlyWiki window. Each one corresponds to a tiddler with the tag [[$:/tags/Alert]]. Clicking the <<.icon $:/core/images/delete-button>> delete icon on an alert deletes the corresponding tiddler.
|
||||
|
||||
Here's a demo <$fieldmangler tiddler="SampleAlert"><$set name="currentTiddler" value="SampleAlert"><$button message="tm-add-tag" param="$:/tags/Alert">alert</$button></$set></$fieldmangler>.
|
||||
|
||||
|
||||
@@ -1,27 +1,37 @@
|
||||
created: 20130826122000000
|
||||
modified: 20161015122959346
|
||||
modified: 20190928082000464
|
||||
tags: Mechanisms
|
||||
title: PluginMechanism
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
! Introduction
|
||||
|
||||
[[Plugins]] are bundles of tiddlers that are distributed and managed as a single unit by being packed into a single JSON tiddler. Users can install them with drag and drop, or using the [[plugin library|Installing a plugin from the plugin library]].
|
||||
[[Plugins]] are bundles of tiddlers that are distributed and managed as a single unit. Users can install them with drag and drop, or using the [[plugin library|Installing a plugin from the plugin library]].
|
||||
|
||||
The tiddlers within registered plugins behave as ShadowTiddlers: they can be freely overwritten by creating a tiddler with the same title, but deleting that tiddler restores the underlying tiddler value from the plugin.
|
||||
<<.from-version "5.1.22">> Plugins that contain JavaScript modules require a reload of the wiki before they will work. Plugins that do not contain JavaScript modules are automatically dynamically loaded and unloaded.
|
||||
|
||||
Plugins have a `plugin-type` field that may take the following values:
|
||||
Plugins can be used to package any tiddler content, including JavaScript [[modules|Modules]] that extend and enhance the core TiddlyWiki5 functionality. The tiddlers within registered plugins are ShadowTiddlers: they can be freely overwritten by creating a tiddler with the same title, but deleting that tiddler restores the underlying tiddler value from the plugin.
|
||||
|
||||
* `plugin` //(default)// - a plain plugin
|
||||
* `theme` - a theme plugin (see ThemeMechanism)
|
||||
* `language` - for translations only
|
||||
|
||||
Plugins can be used to package ordinary content, or can include JavaScript [[modules|Modules]] that extend and enhance the core TiddlyWiki5 functionality.
|
||||
|
||||
Plugins conventionally have a title of the form `$:/plugins/publisher/name`. Plugins that are part of the core TiddlyWiki distribution have titles of the form `$:/plugins/tiddlywiki/name`.
|
||||
By convention, plugin titles have the form `$:/plugins/<publisher>/<name>`. Plugins that are part of the core TiddlyWiki distribution have titles of the form `$:/plugins/tiddlywiki/<name>`.
|
||||
|
||||
When [[running TiddlyWiki under Node.js|TiddlyWiki on Node.js]], plugins can also be stored as individual tiddler files in [[PluginFolders]].
|
||||
|
||||
! Plugin Types
|
||||
|
||||
{{Plugin Types}}
|
||||
|
||||
! Plugin Dependencies
|
||||
|
||||
{{Plugin Dependencies}}
|
||||
|
||||
! Plugin Ordering
|
||||
|
||||
{{Plugin Ordering}}
|
||||
|
||||
! Plugin Fields
|
||||
|
||||
{{Plugin Fields}}
|
||||
|
||||
! More information
|
||||
|
||||
<<list-links "[tag[PluginMechanism]]">>
|
||||
|
||||
13
editions/tw5.com/tiddlers/mechanisms/RefreshMechanism.tid
Normal file
13
editions/tw5.com/tiddlers/mechanisms/RefreshMechanism.tid
Normal file
@@ -0,0 +1,13 @@
|
||||
created: 20191012152414236
|
||||
modified: 20191014091753894
|
||||
tags: Mechanisms
|
||||
title: RefreshMechanism
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
The refresh mechanism is the part of the WikificationMechanism concerned with updating a rendering when there are changes in the tiddler store.
|
||||
|
||||
The refresh mechanism is notified of changes to the tiddler store asynchronously. This is done so that multiple consecutive changes can be coalesced into a single change notification. Thus, a series of action widgets modifying several different tiddlers will only trigger a single refresh cycle.
|
||||
|
||||
When changes occur, the rendering is updated by calling the "refresh" method of the root widget. The refresh method determines whether the widget needs to be updated to reflect the incoming changes, and then recursively calls into the refresh methods of each child widget
|
||||
|
||||
The refresh cycle is inherently fairly slow because it involves visiting every node in the render tree. To maintain performance there is a RefreshThrottling mechanism that enables refresh processing to be deferred when rapid changes occur to the same tiddler.
|
||||
16
editions/tw5.com/tiddlers/mechanisms/RefreshThrottling.tid
Normal file
16
editions/tw5.com/tiddlers/mechanisms/RefreshThrottling.tid
Normal file
@@ -0,0 +1,16 @@
|
||||
created: 20191013095916159
|
||||
modified: 20191014093837558
|
||||
tags: RefreshMechanism
|
||||
title: RefreshThrottling
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
The RefreshMechanism allows the refresh cycle to be throttled (or deferred) when rapid changes occur to the same tiddler. It is used to maintain responsiveness while editing a draft tiddler, but can also be used on other tiddlers.
|
||||
|
||||
The rules governing refresh throttling are:
|
||||
|
||||
* When a change notification occurs, throttling will only take place if all of the modified tiddlers meet at least one of these criteria:
|
||||
** Has the field `draft.of`
|
||||
** Has the field `throttle.refresh`
|
||||
* If the refresh cycle is to be throttled, a timer is set for the internal specified in [[$:/config/Drafts/TypingTimeout|Hidden Setting: Typing Refresh Delay]] (cancelling any preciously set timer)
|
||||
** When the timer fires, the refresh cycle is triggered, passing the aggregated titles of all the deferred refresh cycles
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
created: 20191012080221911
|
||||
modified: 20191013094002890
|
||||
tags: Mechanisms
|
||||
title: WikificationMechanism
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
"Wikification" is a general term for the dynamic process of converting tiddlers containing WikiText into the HTML DOM representation needed by the browser, and updating that representation if the underlying tiddlers change.
|
||||
|
||||
It is composed of several distinct steps:
|
||||
|
||||
* ParserMechanism: reading the text of tiddlers and scanning for wikitext constructions, outputting a tree representation of the resulting structure. It is an expensive process so parse trees are cached, and only need to be updated if the corresponding tiddler is changed
|
||||
* WidgetMechanism: starting with a specified root tiddler, recursively instantiate a widget for each parse tree node making a rendering tree. Widgets can optionally also create DOM nodes
|
||||
* RefreshMechanism: handling changes to the tiddler store by selectively and efficiently updating a rendering tree
|
||||
|
||||
This mechanism is used in the browser to build TiddlyWiki's main interactive page. At startup, the tiddler $:/core/ui/PageTemplate is parsed and rendered to the DOM, recursively pulling in other tiddlers to build the entire user interface. Any user interactions -- following a link, clicking a button, or typing in a text box -- trigger a change in the tiddler store which then automatically propagates through the widget tree. For example, if the user clicks a link to navigate to a new tiddler, the following steps take place:
|
||||
|
||||
# Clicking the link triggers the action of the LinkWidget which by default is to add the target tiddler to the list field of the tiddler $:/StoryList
|
||||
# The modification to the tiddler store asynchronously triggers the refresh cycle. The asynchronous triggering ensures that the refresh cycle is only run once even if multiple tiddlers were modified in succession
|
||||
# The refresh cycle recursively visits each node of the render tree giving them the chance to update themselves in the light of the accumulated changes to the tiddler store. In this case, the ListWidget of the main story river notices that a single tiddler needs to be added to the river, and renders that newly displayed tiddler without disturbing the other tiddlers
|
||||
|
||||
The performance of the entire wikification process is critical. If the refresh cycle takes more than about 400ms then the user will notice a delay between their actions and the effects. See [[Performance]] for some discussion of how to optimise performance.
|
||||
|
||||
The rendering process is also aggressively reused in other parts of TiddlyWiki, both in the browser and on the server:
|
||||
|
||||
* Generating TiddlyWiki's standalone HTML representation
|
||||
* Creating static HTML renderings of tiddlers
|
||||
* Dynamically rendering CSS stylesheet tiddlers
|
||||
|
||||
@@ -24,7 +24,7 @@ type: text/vnd.tiddlywiki
|
||||
## Visit http://127.0.0.1:8080/ in your browser
|
||||
## Try editing and creating tiddlers
|
||||
# Optionally, make an offline copy:
|
||||
#* click the {{$:/core/images/save-button}} ''save changes'' button in the sidebar, ''OR''
|
||||
#* click the <<.icon $:/core/images/save-button>> ''save changes'' button in the sidebar, ''OR''
|
||||
#* `tiddlywiki mynewwiki --build index`
|
||||
|
||||
The `-g` flag causes TiddlyWiki to be installed globally. Without it, TiddlyWiki will only be available in the directory where you installed it.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20160107222352710
|
||||
modified: 20160720145836265
|
||||
modified: 20190927205622498
|
||||
tags: Plugins
|
||||
title: Installing a plugin from the plugin library
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -10,14 +10,15 @@ Follow these instructions when using TiddlyWiki as a standalone HTML file:
|
||||
|
||||
# Create a backup of your current TiddlyWiki HTML file ([[just in case|The First Rule of Using TiddlyWiki]])
|
||||
# Open your TiddlyWiki in a browser
|
||||
# Open the [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}}, click on the ''Plugins'' tab and then the {{$:/core/images/download-button}} ''Get more plugins'' button
|
||||
# Click {{$:/core/images/chevron-right}} ''open plugin library'' to open the official plugin library
|
||||
# Open the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>>, click on the ''Plugins'' tab and then the <<.icon $:/core/images/download-button>> ''Get more plugins'' button
|
||||
# Click <<.icon $:/core/images/chevron-right>> ''open plugin library'' to open the official plugin library
|
||||
# When the library listing is loaded:
|
||||
## Use the tab to select between ''plugins'', ''themes'' and ''languages''
|
||||
## Use the ''search'' box to search the plugin details
|
||||
# Click the ''install'' button to install a plugin
|
||||
# Save your TiddlyWiki {{$:/core/images/save-button}}
|
||||
# ''Refresh the page so that TiddlyWiki loads the new plugin'' {{$:/core/images/refresh-button}}
|
||||
# Save your TiddlyWiki <<.icon $:/core/images/save-button>>
|
||||
# If a yellow warning bar appears at the top of the window, refresh the window so that TiddlyWiki completes installation of the plugin <<.icon $:/core/images/refresh-button>>
|
||||
#* <<.from-version "5.1.22">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See PluginMechanism for more details
|
||||
# The plugin should now be available for use
|
||||
|
||||
! Client-Server Configuration
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20160107222430613
|
||||
modified: 20160617104949358
|
||||
modified: 20190927205631648
|
||||
tags: Plugins
|
||||
title: Manually installing a plugin
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -8,6 +8,7 @@ type: text/vnd.tiddlywiki
|
||||
# Open your TiddlyWiki in a browser
|
||||
# In another browser window, find a link to the plugin, e.g. [[$:/plugins/tiddlywiki/example]]. You will typically find these links on the home page of the plugin (for example, https://tiddlywiki.com/plugins/tiddlywiki/katex/)
|
||||
# Drag the link [[$:/plugins/tiddlywiki/example]] to the browser window containing your TiddlyWiki
|
||||
# Save your TiddlyWiki ({{$:/core/images/save-button}})
|
||||
# ''Refresh the page so that TiddlyWiki loads the new plugin'' ({{$:/core/images/refresh-button}})
|
||||
# Save your TiddlyWiki (<<.icon $:/core/images/save-button>>)
|
||||
# If a yellow warning bar appears at the top of the window, refresh the window so that TiddlyWiki completes installation of the plugin <<.icon $:/core/images/refresh-button>>
|
||||
#* <<.from-version "5.1.22">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See PluginMechanism for more details
|
||||
# The plugin should now be available for use
|
||||
13
editions/tw5.com/tiddlers/plugins/Plugin Dependencies.tid
Normal file
13
editions/tw5.com/tiddlers/plugins/Plugin Dependencies.tid
Normal file
@@ -0,0 +1,13 @@
|
||||
created: 20190928081852771
|
||||
modified: 20190928082758674
|
||||
tags: PluginMechanism
|
||||
title: Plugin Dependencies
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
The simplest form of dependency between plugins is that one plugin can declare itself to be a sub-plugin of another plugin by specifying that plugin in the `parent-plugin` [[field|Plugin Fields]]. Sub-plugins are displayed in the control panel plugin chooser within the expandable area of their parent plugin. For example, the official plugin library includes the [[CodeMirror Plugin]] and also more than a dozen sub-plugins that extend the CodeMirror plugin with optional functionality. Note that sub-plugins cannot themselves have further sub-plugins.
|
||||
|
||||
Plugins can also use their `dependents` [[field|Plugin Fields]] to list the titles of any other plugins that should also be installed. Note that the list is not resolved recursively: dependents of dependents will not be installed.
|
||||
|
||||
When installing a plugin from the plugin library, both the `parent-plugin` and `dependents` fields are used to determine any additional plugins to be installed.
|
||||
|
||||
Note that the `dependents` field is also used by the ThemeMechanism and the LanguageMechanism to switch in dependent theme/language plugins.
|
||||
20
editions/tw5.com/tiddlers/plugins/Plugin Types.tid
Normal file
20
editions/tw5.com/tiddlers/plugins/Plugin Types.tid
Normal file
@@ -0,0 +1,20 @@
|
||||
created: 20190928081810311
|
||||
modified: 20190928103750812
|
||||
tags:
|
||||
title: Plugin Types
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
Plugins have a `plugin-type` field that determines how it is treated. The following values are defined by the core:
|
||||
|
||||
* `plugin` - an ordinary plugin
|
||||
* `theme` - a theme plugin (see ThemeMechanism). Only the theme plugin named in the tiddler $:/theme is activated at any one time (along with any dependent theme plugins)
|
||||
* `language` - a language plugin (see TranslationMechanism). Only the language plugin named in the tiddler $:/language is activated at any one time (along with any dependent language plugins)
|
||||
|
||||
The following plugin types are used internally by the core:
|
||||
|
||||
* `import` - for the special $:/Import plugin created while importing is in progress
|
||||
* `info` - for the special $:/temp/info-plugin tiddler created by the InfoMechanism
|
||||
|
||||
While not supported by the plugin library, it is also possible to use custom plugin types to build plugin-like behaviour with a custom user interface. Plugins with a custom type will automatically receive the same behaviour as plain plugins but can display a custom user interface using an appropriate [[view template segment|SystemTag: $:/tags/ViewTemplate]].
|
||||
|
||||
By default, tiddlers within plugins with custom plugin types will not be registered as shadow tiddlers (the constituent tiddlers can still be addressed as subtiddlers by the TranscludeWidget, ViewWidget or the [[plugintiddlers Operator]]). Setting a configuration tiddler `$:/config/RegisterPluginType/<plugin-type>` to `yes` will cause the tiddlers within the plugin to be registered as shadow tiddlers.
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20161015113519246
|
||||
modified: 20161015113833256
|
||||
modified: 20190927172743140
|
||||
tags: PluginMechanism
|
||||
title: PluginFolders
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -13,6 +13,7 @@ The JSON structure for plugin tiddlers is as follows:
|
||||
```
|
||||
{
|
||||
"title": "$:/plugins/publisher/name",
|
||||
"name": "name",
|
||||
"description": "An exemplary plugin for demonstration purposes",
|
||||
"author": "JeremyRuston",
|
||||
"version": "1.2.3-alpha3",
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
created: 20161015122718559
|
||||
modified: 20161015122719647
|
||||
modified: 20190928083018378
|
||||
tags: PluginMechanism
|
||||
title: Plugin Fields
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
! Plugin fields
|
||||
|
||||
Plugins are stored as tiddlers with the following fields:
|
||||
|
||||
|!Field |!Description |
|
||||
|title |Title of plugin |
|
||||
|author |//(optional)// Author of plugin |
|
||||
|dependents |List of dependencies: plugins that should be installed in order for this one to work |
|
||||
|description |Description of plugin |
|
||||
|author |Author of plugin |
|
||||
|version |Version string (must conform to [ext[SemanticVersioning|http://semver.org/]] convention) |
|
||||
|source |Source URL of plugin |
|
||||
|type |Must be ''application/json'' |
|
||||
|plugin-type |Can be ''plugin'' (default), ''language'' or ''theme'' |
|
||||
|text |JSON encoding of the list of tiddlers comprising the plugin |
|
||||
|list |Names of exposed plugin information tiddlers (see below) |
|
||||
|name |Name of the theme (only for themes) |
|
||||
|dependents |List of dependent plugins (currently only implemented for themes) |
|
||||
|name |Brief name of the plugin |
|
||||
|plugin-priority |//(optional)// Numerical priority (higher numbers install later, the core plugin has a priority of zero |
|
||||
|plugin-type |Generally ''plugin'', ''language'' or ''theme''; see PluginMechanism for details |
|
||||
|parent-plugin |//(optional)// <<.from-version "5.1.22">> Title of the plugin under which this plugin should be displayed as a sub-plugin in the control panel plugin chooser |
|
||||
|source |//(optional)// Source URL of plugin |
|
||||
|text |JSON encoding of the list of tiddlers comprising the plugin |
|
||||
|title |Title of plugin |
|
||||
|type |Must be ''application/json'' |
|
||||
|version |//(optional)// Version string (should conform to [ext[SemanticVersioning|http://semver.org/]] convention) |
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20160107222504269
|
||||
modified: 20160720145839711
|
||||
modified: 20190927205509760
|
||||
tags: Plugins
|
||||
title: Uninstalling a plugin
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -9,12 +9,14 @@ type: text/vnd.tiddlywiki
|
||||
Follow these instructions when using TiddlyWiki as a standalone HTML file:
|
||||
|
||||
# Create a backup of your current TiddlyWiki HTML file ([[just in case|The First Rule of Using TiddlyWiki]])
|
||||
# Open the [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}} and go to the ''Plugins'' tab
|
||||
# Click on the plugin you want to delete to open its tiddler
|
||||
# Click the {{$:/core/images/down-arrow}} ''more'' button and {{$:/core/images/delete-button}} ''delete'' the tiddler
|
||||
# Save your TiddlyWiki {{$:/core/images/save-button}}
|
||||
# ''Refresh the window so that TiddlyWiki completely removes the plugin'' {{$:/core/images/refresh-button}}
|
||||
# The plugin should now be deleted
|
||||
# Open the [[control panel|$:/ControlPanel]] and go to the ''Plugins'' tab
|
||||
# Click on the plugin you want to delete to open it as a standalone tiddler
|
||||
# Click the <<.icon $:/core/images/down-arrow>> ''more'' button and <<.icon $:/core/images/delete-button>> ''delete'' the tiddler
|
||||
# Save your TiddlyWiki <<.icon $:/core/images/save-button>>
|
||||
# If a yellow warning bar appears at the top of the window, refresh the window so that TiddlyWiki completely removes the plugin <<.icon $:/core/images/refresh-button>>
|
||||
#* <<.from-version "5.1.22">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See PluginMechanism for more details
|
||||
# The plugin should no longer be active or available
|
||||
|
||||
|
||||
! Client-Server Configuration
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ This method is useful if, for any reason, you should find your current TiddlyWik
|
||||
```
|
||||
* Check the list of tiddlers.
|
||||
* Adjust the number "25" in the filter to make sure you found all your recently modified tiddlers
|
||||
* Press the bucket with the up arrow [<button class="tc-btn-invisible" disabled>{{$:/core/images/export-button}}</button>] which appears on the right
|
||||
* Press the bucket with the up arrow [<button class="tc-btn-invisible" disabled><<.icon $:/core/images/export-button>></button>] which appears on the right
|
||||
* A dialogue window will ask for a location to download a file called tiddler.json on your local drive, or depending on browser configuration, just alert you that such a file will be downloaded. Press save.
|
||||
* The `tiddlers.json` file can be imported (tools in sidebar) or drag and drop the file on the top line of the story river of another TW .
|
||||
** You can (de)select specific tiddlers.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user