1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-01-25 12:23:42 +00:00

Merge branch 'master' into external-tasks

This commit is contained in:
Jeremy Ruston
2019-09-24 13:23:42 +01:00
144 changed files with 904 additions and 437 deletions

View File

@@ -5,7 +5,7 @@
# Default to the current version number for building the plugin library
if [ -z "$TW5_BUILD_VERSION" ]; then
TW5_BUILD_VERSION=v5.1.19
TW5_BUILD_VERSION=v5.1.21
fi
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"

7
bin/npm-publish.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
# publish to npm
./bin/clean.sh
npm publish || exit 1

8
bin/quick-bld.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
# Abbreviated build script for building prerelease
tiddlywiki editions/prerelease \
--verbose \
--build favicon index empty \
|| exit 1

17
bin/verbump.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Bump to a new version number
if [ -z "$1" ]
then
echo "Missing version (eg '5.1.38-prerelease')"
exit 1
fi
# Set the new version number (will also commit and tag the release)
npm version $1 -m "Version number update for $1" || exit 1
# Make sure our tags are pushed to the origin server
git push origin --tags || exit 1

View File

@@ -314,13 +314,13 @@ $tw.utils.parseDate = function(value) {
// Stringify an array of tiddler titles into a list string
$tw.utils.stringifyList = function(value) {
if($tw.utils.isArray(value)) {
var result = [];
for(var t=0; t<value.length; t++) {
var result = new Array(value.length);
for(var t=0, l=value.length; t<l; t++) {
var entry = value[t] || "";
if(entry.indexOf(" ") !== -1) {
result.push("[[" + entry + "]]");
result[t] = "[[" + entry + "]]";
} else {
result.push(entry);
result[t] = entry;
}
}
return result.join(" ");
@@ -1237,15 +1237,39 @@ $tw.Wiki = function(options) {
return null;
};
// Read plugin info for all plugins
this.readPluginInfo = function() {
for(var title in tiddlers) {
var tiddler = tiddlers[title];
if(tiddler.fields.type === "application/json" && tiddler.hasField("plugin-type")) {
pluginInfo[tiddler.fields.title] = JSON.parse(tiddler.fields.text);
// Get an array of all the currently recognised plugin types
this.getPluginTypes = function() {
var types = [];
$tw.utils.each(pluginTiddlers,function(pluginTiddler) {
var pluginType = pluginTiddler.fields["plugin-type"];
if(pluginType && types.indexOf(pluginType) === -1) {
types.push(pluginType);
}
});
return types;
};
}
// Read plugin info for all plugins, or just an array of titles. Returns the number of plugins updated or deleted
this.readPluginInfo = function(titles) {
var results = {
modifiedPlugins: [],
deletedPlugins: []
};
$tw.utils.each(titles || getTiddlerTitles(),function(title) {
var tiddler = tiddlers[title];
if(tiddler) {
if(tiddler.fields.type === "application/json" && tiddler.hasField("plugin-type")) {
pluginInfo[tiddler.fields.title] = JSON.parse(tiddler.fields.text);
results.modifiedPlugins.push(tiddler.fields.title);
}
} else {
if(pluginInfo[title]) {
delete pluginInfo[title];
results.deletedPlugins.push(title);
}
}
});
return results;
};
// Get plugin info for a plugin
@@ -1253,14 +1277,15 @@ $tw.Wiki = function(options) {
return pluginInfo[title];
};
// Register the plugin tiddlers of a particular type, optionally restricting registration to an array of tiddler titles. Return the array of titles affected
// Register the plugin tiddlers of a particular type, or null/undefined for any type, optionally restricting registration to an array of tiddler titles. Return the array of titles affected
this.registerPluginTiddlers = function(pluginType,titles) {
var self = this,
registeredTitles = [],
checkTiddler = function(tiddler,title) {
if(tiddler && tiddler.fields.type === "application/json" && tiddler.fields["plugin-type"] === pluginType) {
if(tiddler && tiddler.fields.type === "application/json" && tiddler.fields["plugin-type"] && (!pluginType || tiddler.fields["plugin-type"] === pluginType)) {
var disablingTiddler = self.getTiddler("$:/config/Plugins/Disabled/" + title);
if(title === "$:/core" || !disablingTiddler || (disablingTiddler.fields.text || "").trim() !== "yes") {
self.unregisterPluginTiddlers(null,[title]); // Unregister the plugin if it's already registered
pluginTiddlers.push(tiddler);
registeredTitles.push(tiddler.fields.title);
}
@@ -1278,19 +1303,19 @@ $tw.Wiki = function(options) {
return registeredTitles;
};
// Unregister the plugin tiddlers of a particular type, returning an array of the titles affected
this.unregisterPluginTiddlers = function(pluginType) {
// Unregister the plugin tiddlers of a particular type, or null/undefined for any type, optionally restricting unregistering to an array of tiddler titles. Returns an array of the titles affected
this.unregisterPluginTiddlers = function(pluginType,titles) {
var self = this,
titles = [];
unregisteredTitles = [];
// Remove any previous registered plugins of this type
for(var t=pluginTiddlers.length-1; t>=0; t--) {
var tiddler = pluginTiddlers[t];
if(tiddler.fields["plugin-type"] === pluginType) {
titles.push(tiddler.fields.title);
if(tiddler.fields["plugin-type"] && (!pluginType || tiddler.fields["plugin-type"] === pluginType) && (!titles || titles.indexOf(tiddler.fields.title) !== -1)) {
unregisteredTitles.push(tiddler.fields.title);
pluginTiddlers.splice(t,1);
}
}
return titles;
return unregisteredTitles;
};
// Unpack the currently registered plugins, creating shadow tiddlers for their constituent tiddlers

View File

@@ -78,6 +78,7 @@ Plugins/NoInfoFound/Hint: No ''"<$text text=<<currentTab>>/>"'' found
Plugins/NotInstalled/Hint: This plugin is not currently installed
Plugins/OpenPluginLibrary: open plugin library
Plugins/ClosePluginLibrary: close plugin library
Plugins/PluginWillRequireReload: (requires reload)
Plugins/Plugins/Caption: Plugins
Plugins/Plugins/Hint: Plugins
Plugins/Reinstall/Caption: reinstall
@@ -102,7 +103,7 @@ Saving/GitService/UserName: Username
Saving/GitService/GitHub/Caption: ~GitHub Saver
Saving/GitService/GitHub/Password: Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)
Saving/GitService/GitLab/Caption: ~GitLab Saver
Saving/GitService/GitLab/Password: Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html for details]] for details)
Saving/GitService/GitLab/Password: Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)
Saving/TiddlySpot/Advanced/Heading: Advanced Settings
Saving/TiddlySpot/BackupDir: Backup Directory
Saving/TiddlySpot/Backups: Backups

View File

@@ -59,7 +59,7 @@ MissingTiddler/Hint: Missing tiddler "<$text text=<<currentTiddler>>/>" -- click
No: No
OfficialPluginLibrary: Official ~TiddlyWiki Plugin Library
OfficialPluginLibrary/Hint: The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.
PluginReloadWarning: Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to plugins to take effect
PluginReloadWarning: Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect
RecentChanges/DateFormat: DDth MMM YYYY
SystemTiddler/Tooltip: This is a system tiddler
SystemTiddlers/Include/Prompt: Include system tiddlers

View File

@@ -59,7 +59,7 @@ Command.prototype.execute = function() {
title: upgradeLibraryTitle,
type: "application/json",
"plugin-type": "library",
"text": JSON.stringify({tiddlers: tiddlers},null,$tw.config.preferences.jsonSpaces)
"text": JSON.stringify({tiddlers: tiddlers})
};
wiki.addTiddler(new $tw.Tiddler(pluginFields));
return null;

View File

@@ -65,10 +65,11 @@ Command.prototype.execute = function() {
// Save each JSON file and collect the skinny data
var pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + ".json");
$tw.utils.createFileDirectories(pathname);
fs.writeFileSync(pathname,JSON.stringify(tiddler,null,$tw.config.preferences.jsonSpaces),"utf8");
fs.writeFileSync(pathname,JSON.stringify(tiddler),"utf8");
// Collect the skinny list data
var pluginTiddlers = JSON.parse(tiddler.text),
readmeContent = (pluginTiddlers.tiddlers[title + "/readme"] || {}).text,
doesContainJavaScript = !!$tw.wiki.doesPluginInfoContainModules(pluginTiddlers),
iconTiddler = pluginTiddlers.tiddlers[title + "/icon"] || {},
iconType = iconTiddler.type,
iconText = iconTiddler.text,
@@ -76,7 +77,12 @@ Command.prototype.execute = function() {
if(iconType && iconText) {
iconContent = $tw.utils.makeDataUri(iconText,iconType);
}
skinnyList.push($tw.utils.extend({},tiddler,{text: undefined, readme: readmeContent, icon: iconContent}));
skinnyList.push($tw.utils.extend({},tiddler,{
text: undefined,
readme: readmeContent,
"contains-javascript": doesContainJavaScript ? "yes" : "no",
icon: iconContent
}));
});
// Save the catalogue tiddler
if(skinnyListTitle) {

View File

@@ -53,7 +53,7 @@ exports.field = function(source,operator,options) {
}
});
} else {
if(source.byField) {
if(source.byField && operator.operand) {
indexedResults = source.byField(fieldname,operator.operand);
if(indexedResults) {
return indexedResults

View File

@@ -0,0 +1,36 @@
/*\
title: $:/core/modules/filters/is/binary.js
type: application/javascript
module-type: isfilteroperator
Filter function for [is[binary]]
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Export our filter function
*/
exports.binary = function(source,prefix,options) {
var results = [];
if(prefix === "!") {
source(function(tiddler,title) {
if(!options.wiki.isBinaryTiddler(title)) {
results.push(title);
}
});
} else {
source(function(tiddler,title) {
if(options.wiki.isBinaryTiddler(title)) {
results.push(title);
}
});
}
return results;
};
})();

View File

@@ -27,8 +27,6 @@ exports.init = function(parser) {
};
exports.parse = function() {
// Move past the match
this.parser.pos = this.matchRegExp.lastIndex;
// Move past the match
this.parser.pos = this.matchRegExp.lastIndex;
// Get the match details

View File

@@ -60,6 +60,8 @@ PluginSwitcher.prototype.switchPlugins = function() {
}
};
accumulatePlugin(selectedPluginTitle);
// Read the plugin info for the incoming plugins
var changes = $tw.wiki.readPluginInfo(plugins);
// Unregister any existing theme tiddlers
var unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);
// Register any new theme tiddlers

View File

@@ -48,12 +48,9 @@ GitLabSaver.prototype.save = function(text,method,callback) {
var uri = endpoint + "/projects/" + encodeURIComponent(repo) + "/repository/";
// Perform a get request to get the details (inc shas) of files in the same path as our file
$tw.utils.httpRequest({
url: uri + "tree/" + encodeURIComponent(path.replace(/^\/+|\/$/g, '')),
url: uri + "tree/?path=" + encodeURIComponent(path.replace(/^\/+|\/$/g, '')) + "&branch=" + encodeURIComponent(branch.replace(/^\/+|\/$/g, '')),
type: "GET",
headers: headers,
data: {
ref: branch
},
callback: function(err,getResponseDataJson,xhr) {
var getResponseData,sha = "";
if(err && xhr.status !== 404) {
@@ -71,7 +68,7 @@ GitLabSaver.prototype.save = function(text,method,callback) {
}
var data = {
commit_message: $tw.language.getRawString("ControlPanel/Saving/GitService/CommitMessage"),
content: $tw.utils.base64Encode(text),
content: text,
branch: branch,
sha: sha
};

View File

@@ -12,22 +12,21 @@ GET /
/*global $tw: false */
"use strict";
var zlib = require('zlib');
var zlib = require("zlib");
exports.method = "GET";
exports.path = /^\/$/;
exports.handler = function(request,response,state) {
var acceptEncoding = request.headers['accept-encoding'];
if (!acceptEncoding) { acceptEncoding = ''; }
var text = state.wiki.renderTiddler(state.server.get("root-render-type"),state.server.get("root-tiddler"));
var responseHeaders = {
var acceptEncoding = request.headers["accept-encoding"];
if(!acceptEncoding) {
acceptEncoding = "";
}
var text = state.wiki.renderTiddler(state.server.get("root-render-type"),state.server.get("root-tiddler")),
responseHeaders = {
"Content-Type": state.server.get("root-serve-type")
};
/*
If the gzip=yes flag for `listen` is set, check if the user agent permits
compression. If so, compress our response. Note that we use the synchronous
@@ -36,15 +35,14 @@ exports.handler = function(request,response,state) {
*/
if(state.server.enableGzip) {
if (/\bdeflate\b/.test(acceptEncoding)) {
responseHeaders['Content-Encoding'] = 'deflate';
responseHeaders["Content-Encoding"] = "deflate";
text = zlib.deflateSync(text);
} else if (/\bgzip\b/.test(acceptEncoding)) {
responseHeaders['Content-Encoding'] = 'gzip';
responseHeaders["Content-Encoding"] = "gzip";
text = zlib.gzipSync(text);
}
}
response.writeHead(200, responseHeaders);
response.writeHead(200,responseHeaders);
response.end(text);
};

View File

@@ -18,6 +18,8 @@ exports.before = ["startup"];
exports.after = ["load-modules"];
exports.synchronous = true;
var TITLE_INFO_PLUGIN = "$:/temp/info-plugin";
exports.startup = function() {
// Collect up the info tiddlers
var infoTiddlerFields = {};
@@ -32,15 +34,15 @@ exports.startup = function() {
});
}
});
// Bake the info tiddlers into a plugin
// Bake the info tiddlers into a plugin. We use the non-standard plugin-type "info" because ordinary plugins are only registered asynchronously after being loaded dynamically
var fields = {
title: "$:/temp/info-plugin",
title: TITLE_INFO_PLUGIN,
type: "application/json",
"plugin-type": "info",
text: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)
};
$tw.wiki.addTiddler(new $tw.Tiddler(fields));
$tw.wiki.readPluginInfo();
$tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);
$tw.wiki.registerPluginTiddlers("info");
$tw.wiki.unpackPluginTiddlers();
};

View File

@@ -0,0 +1,59 @@
/*\
title: $:/core/modules/startup/plugins.js
type: application/javascript
module-type: startup
Startup logic concerned with managing plugins
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
// Export name and synchronous status
exports.name = "plugins";
exports.after = ["load-modules"];
exports.synchronous = true;
var TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = "$:/status/RequireReloadDueToPluginChange";
var PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = "$:/config/RegisterPluginType/";
exports.startup = function() {
$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: "no"});
$tw.wiki.addEventListener("change",function(changes) {
var changesToProcess = [],
requireReloadDueToPluginChange = false;
$tw.utils.each(Object.keys(changes),function(title) {
var tiddler = $tw.wiki.getTiddler(title),
containsModules = $tw.wiki.doesPluginContainModules(title);
if(containsModules) {
requireReloadDueToPluginChange = true;
} else if(tiddler) {
var pluginType = tiddler.fields["plugin-type"];
if($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields["plugin-type"] || ""),"no") === "yes") {
changesToProcess.push(title);
}
}
});
if(requireReloadDueToPluginChange) {
$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: "yes"});
}
// Read or delete the plugin info of the changed tiddlers
if(changesToProcess.length > 0) {
var changes = $tw.wiki.readPluginInfo(changesToProcess);
if(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {
// (Re-)register any modified plugins
$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);
// Unregister any deleted plugins
$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);
// Unpack the shadow tiddlers
$tw.wiki.unpackPluginTiddlers();
}
}
});
};
})();

View File

@@ -39,26 +39,29 @@ exports.upgrade = function(wiki,titles,tiddlers) {
$tw.utils.each(titles,function(title) {
var incomingTiddler = tiddlers[title];
// Check if we're dealing with a plugin
if(incomingTiddler && incomingTiddler["plugin-type"] && 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] = $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
var existingTiddler = wiki.getTiddler(title);
if(existingTiddler && existingTiddler.hasField("plugin-type") && existingTiddler.hasField("version")) {
// 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] = $tw.language.getString("Import/Upgrader/Plugins/Suppressed/Version",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});
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;
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}});
return;
}
// Suppress the incoming plugin if it is older than the currently installed one
var existingTiddler = wiki.getTiddler(title);
if(existingTiddler && existingTiddler.hasField("plugin-type") && existingTiddler.hasField("version")) {
// 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}});
return;
}
}
}
}
if(incomingTiddler && incomingTiddler["plugin-type"]) {
// Check whether the plugin is on the blocked list
var blockInfo = BLOCKED_PLUGINS[title];
if(blockInfo) {

View File

@@ -35,17 +35,17 @@ exports.upgrade = function(wiki,titles,tiddlers) {
}
for(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {
var prefix = WARN_IMPORT_PREFIX_LIST[t];
if(title.substr(0,prefix.length) === prefix) {
if(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {
showAlert = true;
messages[title] = $tw.language.getString("Import/Upgrader/System/Warning");
}
}
}
if(showAlert) {
var logger = new $tw.utils.Logger("import");
logger.alert($tw.language.getString("Import/Upgrader/System/Alert"));
}
});
if(showAlert) {
var logger = new $tw.utils.Logger("import");
logger.alert($tw.language.getString("Import/Upgrader/System/Alert"));
}
return messages;
};

View File

@@ -59,7 +59,7 @@ DeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {
tiddler = this.wiki.getTiddler(self.actionTiddler),
removeFields = {},
hasChanged = false;
if(this.actionField) {
if(this.actionField && tiddler) {
removeFields[this.actionField] = undefined;
if(this.actionField in tiddler.fields) {
hasChanged = true;

View File

@@ -221,6 +221,16 @@ exports.isImageTiddler = function(title) {
}
};
exports.isBinaryTiddler = function(title) {
var tiddler = this.getTiddler(title);
if(tiddler) {
var contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || "text/vnd.tiddlywiki"];
return !!contentTypeInfo && contentTypeInfo.encoding === "base64";
} else {
return null;
}
};
/*
Like addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported
*/
@@ -1450,5 +1460,25 @@ 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 info structure contains JS modules.
exports.doesPluginInfoContainModules = function(pluginInfo) {
if(pluginInfo) {
var foundModule = false;
$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {
if(tiddler.type === "application/javascript" && $tw.utils.hop(tiddler,"module-type")) {
foundModule = true;
}
});
return foundModule;
} else {
return null;
}
};
})();

View File

@@ -1,5 +1,6 @@
title: $:/core/save/all-external-js
\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]
\define saveTiddlerFilter()
[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$
\end

View File

@@ -1,5 +1,6 @@
title: $:/core/save/all
\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]
\define saveTiddlerFilter()
[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$
\end

View File

@@ -19,24 +19,24 @@ $:/config/Plugins/Disabled/$(currentTiddler)$
\end
\define plugin-table-body(type,disabledMessage,default-popup-state)
<div class="tc-plugin-info-chunk tc-small-icon">
<div class="tc-plugin-info-chunk tc-plugin-info-toggle">
<$reveal type="nomatch" state=<<popup-state>> text="yes" default="""$default-popup-state$""">
<$button class="tc-btn-invisible tc-btn-dropdown" set=<<popup-state>> setTo="yes">
{{$:/core/images/right-arrow}}
{{$:/core/images/chevron-right}}
</$button>
</$reveal>
<$reveal type="match" state=<<popup-state>> text="yes" default="""$default-popup-state$""">
<$button class="tc-btn-invisible tc-btn-dropdown" set=<<popup-state>> setTo="no">
{{$:/core/images/down-arrow}}
{{$:/core/images/chevron-down}}
</$button>
</$reveal>
</div>
<div class="tc-plugin-info-chunk">
<div class="tc-plugin-info-chunk tc-plugin-info-icon">
<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>
<$transclude tiddler="$:/core/images/plugin-generic-$type$"/>
</$transclude>
</div>
<div class="tc-plugin-info-chunk">
<div class="tc-plugin-info-chunk tc-plugin-info-description">
<h1>
''<$view field="description"><$view field="title"/></$view>'' $disabledMessage$
</h1>

View File

@@ -2,12 +2,18 @@ title: $:/core/ui/ControlPanel/Modals/AddPlugins
subtitle: {{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}
\define install-plugin-button()
<$button>
<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}}/>
{{$:/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}}
</$list>
</$button>
<div>
</div>
<$reveal stateTitle=<<assetInfo>> stateField="contains-javascript" type="match" text="yes">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>
</div>
\end
\define popup-state-macro()
@@ -17,29 +23,29 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
\define display-plugin-info(type)
<$set name="popup-state" value=<<popup-state-macro>>>
<div class="tc-plugin-info">
<div class="tc-plugin-info-chunk tc-small-icon">
<div class="tc-plugin-info-chunk tc-plugin-info-toggle">
<$reveal type="nomatch" state=<<popup-state>> text="yes">
<$button class="tc-btn-invisible tc-btn-dropdown" set=<<popup-state>> setTo="yes">
{{$:/core/images/right-arrow}}
{{$:/core/images/chevron-right}}
</$button>
</$reveal>
<$reveal type="match" state=<<popup-state>> text="yes">
<$button class="tc-btn-invisible tc-btn-dropdown" set=<<popup-state>> setTo="no">
{{$:/core/images/down-arrow}}
{{$:/core/images/chevron-down}}
</$button>
</$reveal>
</div>
<div class="tc-plugin-info-chunk">
<div class="tc-plugin-info-chunk tc-plugin-info-icon">
<$list filter="[<assetInfo>has[icon]]" emptyMessage="""<$transclude tiddler="$:/core/images/plugin-generic-$type$"/>""">
<img src={{$(assetInfo)$!!icon}}/>
</$list>
</div>
<div class="tc-plugin-info-chunk">
<h1><$view tiddler=<<assetInfo>> field="description"/></h1>
<div class="tc-plugin-info-chunk tc-plugin-info-description">
<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>: <$view tiddler=<<assetInfo>> field="description"/></h1>
<h2><$view tiddler=<<assetInfo>> field="original-title"/></h2>
<div><em><$view tiddler=<<assetInfo>> field="version"/></em></div>
</div>
<div class="tc-plugin-info-chunk">
<div class="tc-plugin-info-chunk tc-plugin-info-buttons">
<<install-plugin-button>>
</div>
</div>
@@ -76,7 +82,7 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
</$button>
</$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[description]]" variable="assetInfo">
<$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">
<<display-plugin-info "$type$">>
</$list>
</div>

View File

@@ -58,12 +58,12 @@ $value={{$:/temp/newfieldvalue}}/>
<$fieldmangler>
<div class="tc-edit-field-add">
<em class="tc-edit">
<<lingo Fields/Add/Prompt>>
<<lingo Fields/Add/Prompt>>&nbsp;
</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}}/>
</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>
</span>&nbsp;
<$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>&nbsp;
<$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">
@@ -73,7 +73,7 @@ $value={{$:/temp/newfieldvalue}}/>
</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">
<$link to=<<currentField>>>
<<currentField>>
<$text text=<<currentField>>/>
</$link>
</$list>
<div class="tc-dropdown-item">
@@ -81,7 +81,7 @@ $value={{$:/temp/newfieldvalue}}/>
</div>
<$list filter="[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField">
<$link to=<<currentField>>>
<<currentField>>
<$text text=<<currentField>>/>
</$link>
</$list>
</$linkcatcher>
@@ -90,7 +90,7 @@ $value={{$:/temp/newfieldvalue}}/>
</$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}}/>
</span>
</span>&nbsp;
<span class="tc-edit-field-add-button">
<$macrocall $name="new-field"/>
</span>

View File

@@ -3,7 +3,7 @@ tags: $:/tags/PageTemplate
\define lingo-base() $:/language/
<$list filter="[has[plugin-type]haschanged[]!plugin-type[import]limit[1]]">
<$list filter="[{$:/status/RequireReloadDueToPluginChange}match[yes]]">
<$reveal type="nomatch" state="$:/temp/HidePluginWarning" text="yes">

View File

@@ -6,7 +6,7 @@ caption: {{$:/language/SideBar/Open/Caption}}
\define lingo-base() $:/language/CloseAll/
\define drop-actions()
<$action-listops $tiddler="$:/StoryList" $subfilter="+[insertbefore:currentTiddler<actionTiddler>]"/>
<$action-listops $tiddler=<<tv-story-list>> $subfilter="+[insertbefore:currentTiddler<actionTiddler>]"/>
\end
\define placeholder()

View File

@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
url: https://tiddlywiki.com/library/v5.1.19/index.html
url: https://tiddlywiki.com/library/v5.1.22/index.html
caption: {{$:/language/OfficialPluginLibrary}}
{{$:/language/OfficialPluginLibrary/Hint}}

View File

@@ -1,2 +1,2 @@
title: $:/config/Performance/Instrumentation
text: yes
text: no

View File

@@ -0,0 +1,7 @@
title: $:/config/RegisterPluginType/
plugin: yes
theme: no
language: no
info: no
import: no

View File

@@ -28,7 +28,7 @@ tags: $:/tags/Macro
</ol>
\end
\define toc(tag,sort:"",itemClassFilter:" ")
\define toc(tag,sort:"",itemClassFilter:"")
<$macrocall $name="toc-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />
\end
@@ -87,7 +87,7 @@ tags: $:/tags/Macro
<$macrocall $name="toc-linked-expandable-body" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>
\end
\define toc-expandable(tag,sort:"",itemClassFilter:" ",exclude,path)
\define toc-expandable(tag,sort:"",itemClassFilter:"",exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
<$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
<ol class="tc-toc toc-expandable">

View File

@@ -1,27 +1,45 @@
created: 20190809095728085
modified: 20190809123445125
title: Releasing a new version of TiddlyWiki
type: text/vnd.tiddlywiki
# Verify the version numbers in [[$:/config/OfficialPluginLibrary]] (both in `editions/tw5.com` and `editions/prerelease/tiddlers/system`)
!! Preparation on master
# Ensure the new release banner image is up to date
# Update ''master'' with changes from ''tiddlywiki-com''
# Verify the version numbers in [[$:/config/OfficialPluginLibrary]] in `editions/tw5.com`
# Move the latest release note from the prerelease edition into the tw5.com edition
# Adjust the release date and the ''released'' field of the latest release tiddler (eg, [[Release 5.1.3]])
# Ensure [[TiddlyWiki Releases]] has the new version as the default tab
# Adjust the modified time of HelloThere
# Make sure ''Jermolene/TiddlyWiki5'' is fully committed
# Make sure ''master'' is fully committed
!! Update Readmes
# Edit `package.json` to the new version number
# Run `../build.jermolene.github.io/readme-bld.sh` to build the readme files
# Commit the new readme files in `TiddlyWiki5`
# Run `./bin/readme-bld.sh` to build the readme files
# Commit the new readme files to ''master''
# Restore `package.json` to the previous version number
# Run `../build.jermolene.github.io/verbump "5.1.3"` (substituting the correct version number) to update the version number, assign it a tag
# Run `../build.jermolene.github.io/npm-publish.sh` to publish the release to npm
# Update the `package.json` for `build.jermolene.github.io` to the new version
!! Make New Release
# Run `./bin/verbump "5.1.3"` (substituting the correct version number) to update the version number, assign it a tag
# Run `./bin/npm-publish.sh` to publish the release to npm
# Verify that the new release of TiddlyWiki is available at https://www.npmjs.org/package/tiddlywiki
# Change current directory to the `build.jermolene.github.io` directory
# Run `npm install` to install the correct version of TiddlyWiki
# Change current directory to the `TiddlyWiki5` directory
# Run `../build.jermolene.github.io/bld.sh` to build the content files
# Verify that the files in the `jermolene.github.io` directory are correct
# Run `../build.jermolene.github.io/github-push.sh` to push the new files to GitHub
!! Update tiddlywiki.com release
# Update ''tiddlywiki-com'' from ''master'' and push to ~GitHub
!! Cleaning Up
# Tweet the release with the text "TiddlyWiki v5.x.x released to https://tiddlywiki.com #newtiddlywikirelease"
# Preparation for the next release:
## Adjust version number in [[$:/config/OfficialPluginLibrary]] (both in `editions/tw5.com` and `editions/prerelease/tiddlers/system`) and [[$:/config/LocalPluginLibrary]]
## Adjust version number in https://github.com/Jermolene/build.jermolene.github.io in `prerelease-bld.sh`, `bld.sh` and `make-library-bld.sh`
!! Preparation for the next release in ''master''
# Adjust version number in `package.json`
# Adjust version number in `bin/build-site.sh`
# Adjust version number in [[$:/config/OfficialPluginLibrary]] (both in `editions/tw5.com` and `editions/prerelease/tiddlers/system`) and [[$:/config/LocalPluginLibrary]]
# Adjust new release banner
# Create the release note for the new release
# Commit changes to ''master'' and push to ~GitHub

View File

@@ -1,8 +1,8 @@
created: 20190809094421578
modified: 20190809104210288
title: Releasing new content for TiddlyWiki
type: text/vnd.tiddlywiki
# Change current directory to the `TiddlyWiki5` directory
# Run `../build.jermolene.github.io/bld.sh` to build the content files
# Run `../build.jermolene.github.io/readme-bld.sh` to build the readmes
# Commit the readmes to `TiddlyWiki5` and `build.jermolene.github.io` if necessary
# Verify that the files in the `jermolene.github.io` directory are correct
# Run `../build.jermolene.github.io/github-push.sh` to push the new files to GitHub
To update https://tiddlywiki.com with new content, make a Pull Request with the updated tiddlers to the `tiddlywiki-com` branch. As soon as the PR is merged, the [[Continuous Deployment]] system will automatically rebuild the site.
Note that the PR should only include updates within the `editions` folder of the repo.

View File

@@ -7,4 +7,4 @@ title: Syncadaptor
A module with ``module-type: syncadaptor`` provides functionality to get a list of tiddlers (this list is provided as ~SkinnyTiddlers, which are normal tiddlers without the text field) and to load, save and delete single tiddlers. A syncadaptor can also provide functions to login and logout so that syncadaptor modules can be used to synchronize tiddlers with a remote server.
The syncer module only uses one syncadaptor and honours a special [[system tiddler|System Tiddlers]] [[$:/config/SyncFilter]] containing a [[filter string|Tags and Filter Mechanism]]. Tiddlers matching this filter string are not synced with a syncadapter.
The syncer module only uses one syncadaptor and honours a special [[system tiddler|System Tiddlers]] [[$:/config/SyncFilter]] containing a [[filter string|Tags and Filter Mechanism]]. Tiddlers matching this filter string are not saved to the server with a syncadapter. It uses the [[WebServer API|https://tiddlywiki.com/#WebServer%20API%3A%20Get%20All%20Tiddlers]] to load modified tiddlers from the server, which returns only non-system tiddlers.

View File

@@ -0,0 +1,32 @@
caption: 5.1.22
created: 20190910152413608
modified: 20190910152413608
tags: ReleaseNotes
title: Release 5.1.22
type: text/vnd.tiddlywiki
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.1.21...v5.1.22]]//
! Major Improvements
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]].
! Translation Improvements
* Improved Dutch translation
! Hackability Improvements
* [[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
! Bug Fixes
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4243]] problem with the [[GitLab saver|Saving to a Git service]]
! Contributors
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
* [[@gernert|https://github.com/gernert]]
* [[@Janno|https://github.com/Janno]]

View File

@@ -1,6 +1,6 @@
title: $:/config/LocalPluginLibrary
tags: $:/tags/PluginLibrary
url: http://127.0.0.1:8080/prerelease/library/v5.1.20/index.html
url: http://127.0.0.1:8080/prerelease/library/v5.1.22/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease Local)
A locally installed version of the official ~TiddlyWiki plugin library at tiddlywiki.com for testing and debugging. //Requires a local web server to share the library//

View File

@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
url: https://tiddlywiki.com/prerelease/library/v5.1.20/index.html
url: https://tiddlywiki.com/prerelease/library/v5.1.22/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease)
The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.

View File

@@ -7,15 +7,3 @@ This is a pre-release build of TiddlyWiki, [[also available in empty form|https:
<h1><$text text=<<currentTiddler>>/></h1>
<$transclude mode="block"/>
</$list>
! Features held back for later release
These unfinished features are included in this prerelease build, but are not planned for inclusion in the next release.
* <$button>
<$action-setfield $tiddler="$:/view" text="stacked"/>
Set "Stacked" story view
</$button> <$button>
<$action-setfield $tiddler="$:/view" text="classic"/>
Revert
</$button>

View File

@@ -25,6 +25,26 @@ describe("Utility tests", function() {
expect(psa(" [[Tidd\u00a0ler8]] two ")).toEqual(["Tidd\u00a0ler8","two"]);
});
it("should handle stringifying a string array", function() {
var str = $tw.utils.stringifyList;
expect(str([])).toEqual("");
expect(str(["Tiddler8"])).toEqual("Tiddler8");
expect(str(["Tiddler8 "])).toEqual("[[Tiddler8 ]]");
expect(str(["A+B", "A-B", "A=B"])).toEqual("A+B A-B A=B");
expect(str(["A B"])).toEqual("[[A B]]");
// Starting special characters aren't treated specially,
// even though this makes a list incompatible with a filter parser.
expect(str(["+T", "-T", "~T", "=T", "$T"])).toEqual("+T -T ~T =T $T");
expect(str(["A", "", "B"])).toEqual("A B");
});
it("stringifyList shouldn't interfere with setting variables to negative numbers", function() {
var wiki = new $tw.Wiki();
wiki.addTiddler({title: "test", text: "<$set name=X filter='\"-7\"'>{{{ [<X>add[2]] }}}</$set>"});
// X shouldn't be wrapped in brackets. If it is, math filters will treat it as zero.
expect(wiki.renderTiddler("text/plain","test")).toBe("-5");
});
it("should handle formatting a date string", function() {
var fds = $tw.utils.formatDateString,
// nov is month: 10!

View File

@@ -0,0 +1,10 @@
created: 20190710085450262
modified: 20190710090131976
tags: SVG Images [[Font Awesome 5]] Resources
title: "Font Awesome 5 Free SVGs for TiddlyWiki" by morosanuae
type: text/vnd.tiddlywiki
url: http://fa5-free-svg.tiddlyspot.com
The ''Font Awesome 5 Free'' SVG images collection converted to tiddlers that you can easily import (drag'n'drop) in your wiki.
{{!!url}}

View File

@@ -3,14 +3,15 @@ created: 20171109172705241
delivery: Google Drive Add-on
description: Google Drive add-on to save TiddlyWiki files
method: save
modified: 20171113134317867
modified: 20190531161707260
tags: Saving plugins Resources Android Chrome Firefox InternetExplorer iOS Linux Mac Opera PHP Safari Windows
title: TiddlyDrive Add-on for Google Drive by Joshua Stubbs
type: text/vnd.tiddlywiki
url: https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo
url: https://lordratte.gitlab.io/tiddlydrive/#installation-guide
An add-on for Google Drive that allows TiddlyWiki files stored there to be opened and saved directly
To find out how to add it to your account, go to the project's info page:
{{!!url}}
<<<

View File

@@ -18,7 +18,7 @@ A TextReference consists of several parts:
Most of the parts of a text reference can be optional:
* `tiddlerTitle` - the text [[field|TiddlerFields]] of the specified tiddler
* `tiddlerTitle` - the title [[field|TiddlerFields]] of the specified tiddler
* `tiddlerTitle!!field` - a [[tiddler field|TiddlerFields]] (eg, `modified`, `modifier`, `type` etc)
* `!!field` - a [[field|TiddlerFields]] of the current tiddler
* `tiddlerTitle##propertyIndex` - extracts a named property from DataTiddlers

View File

@@ -10,7 +10,7 @@ TiddlyWiki executes any ActionWidgets found in tiddlers with the following syste
* <<tag "$:/tags/StartupAction/Browser">> (only executed when running in the browser)
* <<tag "$:/tags/StartupAction/Node">> (only executed when running under Node.js)
Startup actions are useful for customising TiddlyWiki according to environmental factors such as the screen size. For example, the following action widgets when placed in a tiddler tagged <<tag "$:/tags/StartupAction/Browser">> will cause the sidebar to be hidden by default when the screen width is less than 1000 pixels:
Startup actions are useful for customising TiddlyWiki according to environmental factors such as the screen size. For example, the following action widgets when placed in a tiddler tagged `$:/tags/StartupAction/Browser` will cause the sidebar to be hidden by default when the screen width is less than 1000 pixels:
```
<$reveal type="lt" state="$:/info/browser/screen/width" text="3000">

View File

@@ -1,5 +1,5 @@
created: 20140410103123179
modified: 20190225130632157
modified: 20190916151432497
tags: [[Filter Operators]] [[Common Operators]] [[Negatable Operators]]
title: is Operator
type: text/vnd.tiddlywiki
@@ -16,6 +16,7 @@ The parameter <<.place C>> is one of the following fundamental categories:
|!Category |!Matches any tiddler title that... |
|^`current` |is the [[current tiddler|Current Tiddler]] |
|^`image` |has an image ContentType |
|^`binary` |has a binary ContentType |
|^`missing` |does not exist (other than possibly as a shadow tiddler), regardless of whether there are any links to it |
|^`orphan` |has no [[hard links|Hard and Soft Links]] to it |
|^`shadow` |is a [[shadow tiddler|ShadowTiddlers]], regardless of whether it has been overridden with a non-shadow tiddler |

View File

@@ -1,6 +1,6 @@
created: 20130822170200000
list: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]] [[HelloThumbnail - TWEUM2017]]
modified: 20181220163418974
modified: 20190910152313608
tags: TableOfContents
title: HelloThere
type: text/vnd.tiddlywiki

View File

@@ -0,0 +1,13 @@
created: 20190903192324700
modified: 20190903192324700
tags: [[Hidden Settings]]
title: Hidden Setting: Sync Polling Interval
type: text/vnd.tiddlywiki
Specifies the interval at which [[Syncadaptor|https://tiddlywiki.com/dev/#Syncadaptor]] synchronizes tiddlers between the server and the browser.
Defaults to "60000" (60 * 1000 ms = 1 min).
Changing needs restart to take effect.
$:/config/SyncPollingInterval

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View File

@@ -0,0 +1,14 @@
caption: tm-rename-tiddler
created: 20190909133618113
modified: 20190909133618113
tags: Messages navigator-message
title: WidgetMessage: tm-rename-tiddler
type: text/vnd.tiddlywiki
The `tm-rename-tiddler` message renames a tiddler by deleting it and recreating it with a new title. The rename tiddler message requires the following properties on the `event` object:
|!Name |!Description |
|from |Current title of tiddler |
|to |New title of tiddler |
The rename tiddler message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.

View File

@@ -1,6 +1,7 @@
caption: 5.1.20
created: 20181220163418974
modified: 20190305165612365
created: 20190809141328809
modified: 20190809141328809
released: 20190809141328809
tags: ReleaseNotes
title: Release 5.1.20
type: text/vnd.tiddlywiki

View File

@@ -0,0 +1,46 @@
caption: 5.1.21
created: 20190910152313608
modified: 20190910152313608
released: 20190910152313608
tags: ReleaseNotes
title: Release 5.1.21
type: text/vnd.tiddlywiki
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.1.20...v5.1.21]]//
This is a bug fix release that resolves issues introduced in the recent [[Release 5.1.20]].
!! Bug Fixes
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/a170210069bbec265992b365a61e0722b480ab1d]] crash with ActionDeleteFieldWidget and a missing ''tiddler'' attribute
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4087]] edge cases where some tiddler lists were not valid when interpreted as a filter
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/471b73158a887d2f060194741739c1da8b5d44d8]] problem with too many alerts when upgrading a wiki containing an overwritten core module
* [[Reverted|https://github.com/Jermolene/TiddlyWiki5/commit/83386f34b50a9d93171df133957d489b5de629ef]] inadvertently switching on performance instrumentation
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/issues/4218]] bug with WikiText within field names
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/dd09266b467173e45d75c172b2e82fd542f682fe]] problem with classes in the [[Table-of-Contents Macros]]
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4203]] missing foreground colour for buttons with class `tc-btn-invisible`
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4227]] whitespace around field editor inputs
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/bb036ced933ecb36f5d93693fb4f6e7aa2748df7]] layout problems with the [[translators edition|Translate TiddlyWiki into your language]]
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/996ee52cf9f5e15d95deaf0acf4206959d34432a]] crash with the [[External Attachments Plugin]] on Windows
* [[Removed|https://github.com/Jermolene/TiddlyWiki5/pull/4245]] inconsistent shadow for tag pills in the sidebar
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/issues/4247]] regression with the [[field Operator]] and blank operands
* [[Reverted|https://github.com/Jermolene/TiddlyWiki5/pull/4249]] erroneous change in v5.1.20 in the way that lists are stringified
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4189]] the ''Open'' sidebar tab to use the `tv-story-list` variable
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4255]] problem [[saving to GitLab|Saving to a Git service]]
!! Node.js Bug Fixes
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/4174]] bug with [[customised tiddler file naming|Customising Tiddler File Naming]]
! Contributors
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
* [[@bimlas|https://github.com/bimlas]]
* [[@BurningTreeC|https://github.com/BurningTreeC]]
* [[@flibbles|https://github.com/flibbles]]
* [[@heronils|https://github.com/heronils]]
* [[@hoelzro|https://github.com/hoelzro]]
* [[@markstegeman|https://github.com/markstegeman]]
* [[@StefanSTFG|https://github.com/StefanSTFG]]
* [[@xcazin|https://github.com/xcazin]]

View File

@@ -8,9 +8,17 @@ method: save
caption: TiddlySpot
description: Free online service for hosting TiddlyWiki files
TiddlySpot is a free hosting service for TiddlyWiki documents from Simon and Daniel Baird. The easiest way to get started is to sign up for a new wiki at http://tiddlyspot.com - by default you'll get the latest release of TiddlyWiki Classic.
[[TiddlySpot|http://tiddlyspot.com]] is a free hosting service for TiddlyWiki documents from Simon Baird and Daniel Baird.
You can upload an existing TiddlyWiki5 document from your local disc to TiddlySpot by following these steps:
! Setting up a TiddlyWiki on TiddlySpot
To set up a [[TiddlyWiki Classic|TiddlyWikiClassic]], you merely create a new wiki at http://tiddlyspot.com
!!TiddlyWiki5 on TiddlySpot
~TiddlyWiki5 also functions well on ~TiddlySpot but this version is not offered directly in the TiddlySpot set-up.
The simplest way to create a new ~TiddlySpot with ~TiddlyWiki5 is probably through the community created site http://tiddlywiki5.tiddlyspot.com
Alternatively, you can upload an existing ~TiddlyWiki5 document from your local disc to ~TiddlySpot by following these steps:
# Sign up for a new wiki at http://tiddlyspot.com/, and remember the wiki name and password
# Open your locally stored TiddlyWiki document in your browser
@@ -43,4 +51,4 @@ The upgrade operation falls foul of a security restriction in Firefox. Until thi
* After you've uploaded your local document once, further editing and saving of the online version hosted on TiddlySpot should work with any modern browser of your choice.
** Don't forget to fill in the TiddlySpot wikiname and password in your TiddlySpot TiddlyWiki control panel for any new browser you want to use for saving changes
* //See also : [[Upgrading]]//
* //See also : [[Upgrading]]//

View File

@@ -12,7 +12,7 @@ tiddlywiki editions/tw5.com-server/ --listen host=0.0.0.0 "root-tiddler=$:/core/
!! Background
TiddlyWiki in the single file configuration ordinarily packs everything into a single file: your data, and the JavaScript, CSS and HTML comprising TiddlyWiki itself. This lack of dependencies is usually very convenient: it means that it is impossible for the parts of a TiddlyWiki to become separated, and enormously improves the changes of it still functioning in the future.
TiddlyWiki in the single file configuration ordinarily packs everything into a single file: your data, and the JavaScript, CSS and HTML comprising TiddlyWiki itself. This lack of dependencies is usually very convenient: it means that it is impossible for the parts of a TiddlyWiki to become separated, and enormously improves the chances of it still functioning in the future.
However, there is some inefficiency in this arrangement because the core code is repeatedly loaded and saved every time the content of the wiki is saved. This inefficiency is partially ameliorated when working in the client server configuration because once the wiki is loaded by the browser the synchronisation process only transmits individual tiddlers back and forth to the server.

View File

@@ -1,10 +1,10 @@
created: 20181002131215403
modified: 20181003174025431
modified: 20190903094711346
tags: [[WebServer API]]
title: WebServer API: Get All Tiddlers
type: text/vnd.tiddlywiki
Gets an array of all raw tiddlers, excluding the ''text'' field.
Gets an array of all raw non-system tiddlers, excluding the ''text'' field.
```
GET /recipes/default/tiddlers.json
@@ -19,4 +19,4 @@ Response:
* 200 OK
*> `Content-Type: application/json`
*> Body: array of tiddlers in [[TiddlyWeb JSON tiddler format]]
*> Body: array of all non-system tiddlers in [[TiddlyWeb JSON tiddler format]]

View File

@@ -53,20 +53,3 @@ To use the checkbox widget in index mode set the ''index'' attribute to the inde
The example below creates a checkbox that is checked if the index by the name of this tiddler in the tiddler ExampleData is equal to ''selected'' and unchecked if the index is an empty string. If the index is undefined then it defaults to an empty string, meaning the checkbox will be unchecked if the index is missing.
<$macrocall $name="wikitext-example-without-html" src="""<$checkbox tiddler="ExampleData" index=<<currentTiddler>> checked="selected" unchecked="" default=""> Selected?</$checkbox>"""/>
!! `actions` Attribute
This example of using the `actions` attribute shows both the [[Action Set Field Widget|ActionSetFieldWidget]] and [[Action Send Message Widget|ActionSendMessageWidget]] to demonstrate two actions.
The [[Set Widget|SetWidget]] uses a filter value to set the value of variable `tag`. The [[Action Send Message Widget|ActionSendMessageWidget]] joins all the tags into one large tag. The [[Action Set Field Widget|ActionSetFieldWidget]] appends the tags as individual tags. In this example, the [[Field Mangler Widget|FieldManglerWidget]] is required for the [[Action Send Message Widget|ActionSendMessageWidget]] but not for [[Action Set Field Widget|ActionSetFieldWidget]]. Be aware that the action occurs whether you check or uncheck.
It is often necessary to use triple quotes with the `actions` attribute. Alternatively, the attribute can be assigned directly from a variable with `actions=<<my-actions>>`.
<$macrocall $name='wikitext-example-without-html' src='<$fieldmangler>
<$set filter="[[Features]] [[Encryption]] +[tags[]]" name="tag">
<$checkbox actions="""<$action-setfield $field="tags" $value=<<tag>> /><$action-sendmessage $message="tm-add-tag" $param=<<tag>> />""" field="checked" checked="YES" unchecked="NO" >
Add tags from tiddlers [[Features]] and [[Encryption]]
</$checkbox>
</$set>
</$fieldmangler>' />

View File

@@ -1,6 +1,6 @@
caption: list
created: 20131024141900000
modified: 20181013230425882
modified: 20190608162410684
tags: Widgets Lists
title: ListWidget
type: text/vnd.tiddlywiki
@@ -68,7 +68,14 @@ See GroupedLists for how to generate nested and grouped lists using the ListWidg
! Content and Attributes
The content of the `<$list>` widget is an optional template to use for rendering each tiddler in the list. Alternatively, the template can be specified as a tiddler title in the ``template`` attribute. As a fallback, the default template just displays the tiddler title.
The content of the `<$list>` widget is an optional template to use for rendering each tiddler in the list.
The action of the list widget depends on the results of the filter combined with several options for specifying the template:
* If the filter evaluates to an empty list, the text of the ''emptyMessage'' attribute is rendered, and all other templates are ignored
* Otherwise, if the ''template'' attribute is specified then it is taken as the title of a tiddler to use as a template for rendering each item of the list
* Otherwise, if the list widget content is not blank, it is used as a template for rendering each item of the list
* Otherwise, a default template is used consisting of a `<span>` or `<div>` element wrapped around a link to the item
|!Attribute |!Description |
|filter |The [[tiddler filter|Filters]] to display |

View File

@@ -1,7 +1,7 @@
caption: reveal
created: 20131024141900000
jeremy: tiddlywiki
modified: 20190704145627537
modified: 20190910150520583
tags: Widgets
title: RevealWidget
type: text/vnd.tiddlywiki
@@ -36,13 +36,13 @@ The content of the `<$reveal>` widget is displayed according to the rules given
|position |The position used for the popup when the type is ''popup''. Can be ''left'', ''above'', ''aboveright'', ''right'', ''belowleft'' or ''below'' |
|positionAllowNegative |Set to "yes" to prevent computed popup positions from being clamped to be above zero |
|default |Default value to use when the state tiddler is missing |
|animate |Set to "yes" to animate opening and closure (defaults to "no") |
|animate |Set to "yes" to animate opening and closure (defaults to "no"; requires "retain" to be set to "yes") |
|retain |Set to "yes" to force the content to be retained even when hidden (defaults to "no") |
<<.tip """<$macrocall $name=".from-version" version="5.1.18"/> <$macrocall $name=".attr" _="stateTitle"/>, <$macrocall $name=".attr" _="stateField"/> and <$macrocall $name=".attr" _="stateIndex"/> attributes allow specifying Tiddler states ''directly'', without interpreting them as [[TextReferences|TextReference]].
This is useful for edge-cases where titles may contain characters that are used to denote Tiddler fields or indices (`!!`, `##`)""">>
<<.tip """Retaining the content when hidden can give poor performance since the hidden content requires refresh processing even though it is not displayed. On the other hand, the content can be revealed much more quickly. Note that setting ''animate="yes"'' will also force ''retain="yes"''""">>
<<.tip """Retaining the content when hidden can give poor performance since the hidden content requires refresh processing even though it is not displayed. On the other hand, the content can be revealed much more quickly. Note that setting ''animate="yes"'' will also require ''retain="yes"''""">>
! Examples

View File

@@ -85,6 +85,6 @@ Filtered attribute values are indicated with triple curly braces around a [[Filt
This example shows how to add a prefix to a value:
```
<$text text={{{ [<currentTiddler>]addPrefix[$:/myprefix/]] }}}>
<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />
```

View File

@@ -85,19 +85,31 @@ Plugins/Themes/Caption: Temes
Plugins/Themes/Hint: Connectors del tema
Saving/Caption: Desa
Saving/DownloadSaver/AutoSave/Description: Permet que el gestor de baixades desi automàticament
Saving/DownloadSaver/AutoSave/Hint: Habiliteu el desat automàtic pel gestor de baixades
Saving/DownloadSaver/AutoSave/Hint: Activa el desat automàtic pel gestor de baixades
Saving/DownloadSaver/Caption: Gestor de baixades
Saving/DownloadSaver/Hint: Aquesta configuració saplica al gestor de baixades compatible amb HTML5
Saving/General/Hint: Aquests valors s'apliquen a tots els gestors de baixades carregats
Saving/GitHub/Branch: Branca destí a on desar (per omissió és `master`)
Saving/GitHub/Branch: Branca destinació a on desar (per omissió és `master`)
Saving/GitHub/Caption: Gestor de baixades de ~GitHub
Saving/GitHub/Description: Aquests valors només sutilitzen quan es desa a ~ GitHub
Saving/GitHub/Filename: Nom del fitxer destinació (per exemple, `index.html`)
Saving/GitHub/Password: Contrasenya, clau OAUTH o clau d'accés personal
Saving/GitHub/Path: Ruta al fitxer destinació (per exemple, `/wiki/`)
Saving/GitHub/Repo: Repositori destí (per exemple, `Jermolene/TiddlyWiki5`)
Saving/GitHub/ServerURL: URL del servidor (per omissió és `https://api.github.com`)
Saving/GitHub/Repo: Repositori destinació (per exemple, `Jermolene/TiddlyWiki5`)
Saving/GitHub/ServerURL: URL del servidor (per omissió és `https://api.github.com`)
Saving/GitHub/UserName: Nom d'usuari
Saving/GitService/Branch: Branca destinació a on desar
Saving/GitService/CommitMessage: Desat per TiddlyWiki
Saving/GitService/Description: Aquests paràmetres només s'utilitzen quan es desa a <<service-name>>
Saving/GitService/Filename: Nom del fitxer destinació (per exemple `index.html`)
Saving/GitService/GitHub/Caption: Gestor de baixades de ~GitHub
Saving/GitService/GitHub/Password: Contrasenya, clau OAUTH o clau d'accés personal (veieu els detalls a la [[pàgina d'ajuda del GitHub|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] )
Saving/GitService/GitLab/Caption: Gestor de baixades de ~GitLab
Saving/GitService/GitLab/Password: Clau d'accés personal de l'API (veieu els detalls a la [[pàgina d'ajuda del GitLab|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] )
Saving/GitService/Path: Ruta del fitxer destinació (e.g. `/wiki/`)
Saving/GitService/Repo: Repositori destinació (e.g. `Jermolene/TiddlyWiki5`)
Saving/GitService/ServerURL: URL de l'API del servidor
Saving/GitService/UserName: NomDUsuari
Saving/Heading: S'està desant
Saving/Hint: Configuració que sutilitza per desar tot el TiddlyWiki com a un únic fitxer amb un mòdul de desar
Saving/TiddlySpot/Advanced/Heading: Paràmetres avançats
@@ -116,7 +128,7 @@ Settings/AutoSave/Disabled/Description: No desis els canvis de forma automàtica
Settings/AutoSave/Enabled/Description: Desa els canvis de forma automàtica
Settings/AutoSave/Hint: Desa els canvis de forma automàtica mentre s'està editant
Settings/CamelCase/Caption: Enllaços wiki tipus CamelCase
Settings/CamelCase/Description: Habilita l'enllaç automàtic de ~CamelCase
Settings/CamelCase/Description: Activa l'enllaç automàtic de ~CamelCase
Settings/CamelCase/Hint: Podeu desactivar lenllaç automàtic de les frases ~CamelCase globalment. Cal que es torni a carregar per tenir efecte
Settings/Caption: Paràmetres
Settings/DefaultMoreSidebarTab/Caption: Pestanya Més de la barra lateral per omissió
@@ -134,8 +146,8 @@ Settings/InfoPanelMode/Sticky/Description: El tauler dinformació del Tiddler
Settings/LinkToBehaviour/Caption: Comportament d'obertura del tiddler
Settings/LinkToBehaviour/InsideRiver/Hint: Navegació des de //dins de// la cronologia
Settings/LinkToBehaviour/OpenAbove: Obre per sobre del tiddler actual
Settings/LinkToBehaviour/OpenAtBottom: Obriu a la part inferior de la cronologia
Settings/LinkToBehaviour/OpenAtTop: Obriu a la part superior de la cronologia
Settings/LinkToBehaviour/OpenAtBottom: Obre a la part inferior de la cronologia
Settings/LinkToBehaviour/OpenAtTop: Obre a la part superior de la cronologia
Settings/LinkToBehaviour/OpenBelow: Obre per sota del tiddler actual
Settings/LinkToBehaviour/OutsideRiver/Hint: Navegació des de //fora de//la cronologia
Settings/MissingLinks/Caption: Enllaços Wiki
@@ -144,19 +156,19 @@ Settings/MissingLinks/Hint: Escolliu si voleu enllaçar els tiddlers que encara
Settings/NavigationAddressBar/Caption: Barra d'adreces de navegació
Settings/NavigationAddressBar/Hint: Comportament de la barra d'adreces en navegar cap a un tiddler:
Settings/NavigationAddressBar/No/Description: No actualitzis la barra d'adreces
Settings/NavigationAddressBar/Permalink/Description: Inclou el tiddler destí
Settings/NavigationAddressBar/Permaview/Description: Inclou el tiddler destí i la seqùència actual
Settings/NavigationAddressBar/Permalink/Description: Inclou el tiddler destinació
Settings/NavigationAddressBar/Permaview/Description: Inclou el tiddler destinació i la seqùència actual
Settings/NavigationHistory/Caption: Històrial de navegació
Settings/NavigationHistory/Hint: Actualitza l'històrial del navegador en navegar cap a un tiddler:
Settings/NavigationHistory/No/Description: No actualitzis la cronologia
Settings/NavigationHistory/Yes/Description: Actualitza la cronologia
Settings/NavigationPermalinkviewMode/Caption: Mode enllaç permanent/vista permanent
Settings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copieu lURL de l'enllaç permanent/vista permanent al portapapers
Settings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copia lURL de l'enllaç permanent/vista permanent al portapapers
Settings/NavigationPermalinkviewMode/Hint: Trieu com es gestiona l'enllaç permanent/vista permanent
Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Actualitzeu la barra dadreça amb lURL de l'enllaç permanent/vista permanent
Settings/PerformanceInstrumentation/Caption: Instrumentació del rendiment
Settings/PerformanceInstrumentation/Description: Habilita la instrumentació del rendiment
Settings/PerformanceInstrumentation/Hint: Mostra estadístiques de rendiment a la consola del desenvolupador del navegador. Cal tornar-ho a carregar per que tingui efecte
Settings/PerformanceInstrumentation/Caption: Instruments del rendiment
Settings/PerformanceInstrumentation/Description: Activa els instruments del rendiment
Settings/PerformanceInstrumentation/Hint: Mostra les estadístiques de rendiment a la consola del desenvolupador del navegador. Cal tornar-ho a carregar per que tingui efecte
Settings/TitleLinks/Caption: Títols dels Tiddlers
Settings/TitleLinks/Hint: Mostra opcionalment els títols de tiddler com a enllaços
Settings/TitleLinks/No/Description: No mostris els títols dels tiddlers com a enllaços

View File

@@ -20,7 +20,7 @@ dragger-foreground: Primer plà de l'arrossegador
dropdown-background: Fons de la llista desplegable
dropdown-border: Vora de la llista desplegable
dropdown-tab-background: Fons de la pestanya de la llista desplegable
dropdown-tab-background-selected: Fons de la pestanya de la llista desplegable per les etiquetes seleccionades
dropdown-tab-background-selected: Fons de la pestanya de la llista desplegable per les pestanyes seleccionades
dropzone-background: Fons de la zona d'aterratge
external-link-background: Fons de l'enllaç extern
external-link-background-hover: Fons de la bafarada de l'enllaç extern
@@ -33,7 +33,7 @@ message-background: Fons de la capsa de text
message-border: Vora de la capsa de text
message-foreground: Primer plà de la capsa de text
modal-backdrop: Zona d'aterratge dels diàlegs modals
modal-background: Fons dels diàlegs modals per les etiquetes seleccionades
modal-background: Fons dels diàlegs modals
modal-border: Vora dels diàlegs modals
modal-footer-background: Fons del peu dels diàlegs modals
modal-footer-border: Vora del peu dels diàlegs modals
@@ -55,23 +55,23 @@ sidebar-foreground-shadow: Ombra del primer plà de la barra lateral
sidebar-muted-foreground: Primer plà de la barra lateral silenciada
sidebar-muted-foreground-hover: Primer plà de la bafarada de la barra lateral silenciada
sidebar-tab-background: Fons de la pestanya de la barra lateral
sidebar-tab-background-selected: Fons de la pestanya de la barra lateral per les etiquetes seleccionades
sidebar-tab-border: Vora de la pestanya de la barra lateraletiqueta
sidebar-tab-border-selected: Vora de la pestanya de la barra lateral per les etiquetes seleccionadesetiqueta
sidebar-tab-background-selected: Fons de la pestanya de la barra lateral per les pestanyes seleccionades
sidebar-tab-border: Vora de la pestanya de la barra lateral
sidebar-tab-border-selected: Vora de la pestanya de la barra lateral per les pestanyes seleccionades
sidebar-tab-divider: Divisor de la pestanya de la barra lateral
sidebar-tab-foreground: Primer plà de la pestanya de la barra lateral
sidebar-tab-foreground-selected: Primer plà de la pestanya de la barra lateral per les etiquetes seleccionades
sidebar-tab-foreground-selected: Primer plà de la pestanya de la barra lateral per les pestanyes seleccionades
sidebar-tiddler-link-foreground: Primer plà de l'enllaç del tiddler de la barra lateral
sidebar-tiddler-link-foreground-hover: Primer plà de la bafarada de l'enllaç del tiddler de la barra lateral
site-title-foreground: Primer pla del títol del lloc
static-alert-foreground: Primer plà de l'avís estàtic
tab-background: Fons de la pestanya
tab-background-selected: Fons de la pestanya per les etiquetes seleccionades
tab-background-selected: Fons de la pestanya per les pestanyes seleccionades
tab-border: Vora de la pestanya
tab-border-selected: Vora de la pestanya per les etiquetes seleccionades
tab-border-selected: Vora de la pestanya per les pestanyes seleccionades
tab-divider: Divisor de la pestanya
tab-foreground: Primer plà de la pestanya
tab-foreground-selected: Primer plà de la pestanya per les etiquetes seleccionades
tab-foreground-selected: Primer plà de la pestanya per les pestanyes seleccionades
table-border: Vora de la taula
table-footer-background: Fons del peu de la taula
table-header-background: Fons de la capçalera de la taula

View File

@@ -20,7 +20,7 @@ Tags/Add/Placeholder: nom de l'etiqueta
Tags/Dropdown/Caption: llista d'etiquetes
Tags/Dropdown/Hint: Mostra la llista d'etiquetes
Title/BadCharacterWarning: Avís: eviteu qualsevol dels caràcters <<bad-chars>> al títol d'un tiddler
Title/Exists/Prompt: El tiddler destí ja existeix
Title/Exists/Prompt: El tiddler destinació ja existeix
Title/References/Prompt: Les referències següents cap aquest tiddler no s'actualitzaran automàticament:
Title/Relink/Prompt: Actualitza ''<$text text=<<fromTitle>>/>'' cap a ''<$text text=<<toTitle>>/>'' a les //etiquetes// i a la //lista// de camps d'altres tiddlers
Type/Delete/Caption: suprimeix el tipus de contingut

View File

@@ -33,10 +33,10 @@ Error/SavingToTWEdit: S'ha produït un error en desar a TWEdit
Error/WhileSaving: S'ha produït un error en desar
Error/XMLHttpRequest: Codi d'error XMLHttpRequest
InternalJavaScriptError/Hint: Bé, això és compromès. Es recomana que reinicieu TiddlyWiki actualitzant el navegador
InternalJavaScriptError/Title: Error de JavaScript intern
InternalJavaScriptError/Title: S'ha produït un error intern de JavaScript
InvalidFieldName: Hi ha caràcters il·legals al nom del camp "<$text text=<<fieldName>>/>". Els camps només poden utilitzar minúscules, digits i els caràcters subratllat (`_`), guió (`-`) i punt (`.`)
LazyLoadingWarning: <p>S'està tractant de carregar contingut extern de ''<$text text={{!!_canonical_uri}}/>''</p><p>Si aquest missatge no desapareix, o bé el tipus de contingut del tiddler no coincideix amb el tipus de contingut extern o bé esteu utilitzant un navegador que no admet contingut extern per als wikis carregats com a fitxers independents. Mireu https://tiddlywiki.com/#ExternalText</p>
LoginToTiddlySpace: Inicieu sessió a TiddlySpace
LoginToTiddlySpace: Inicieu la sessió a TiddlySpace
Manager/Controls/FilterByTag/None: (cap)
Manager/Controls/FilterByTag/Prompt: Filtra per etiqueta:
Manager/Controls/Order/Prompt: Ordre invers

View File

@@ -87,16 +87,19 @@ Saving/DownloadSaver/Caption: Enregistreur de téléchargement
Saving/DownloadSaver/Hint: Ces paramètres s'appliquent à l'enregistreur de téléchargement compatible HTML5
Saving/General/Caption: Général
Saving/General/Hint: Ces paramètres s'appliquent à tous les enregistreurs chargés
Saving/Hint: Paramètres pour enregistrer le ~TiddlyWiki complet dans un seul fichier, via un module enregistreur
Saving/GitHub/Branch: Branche cible dans laquelle enregistrer (`master` par défaut)
Saving/GitHub/Caption: Enregistreur ~GitHub
Saving/GitHub/Description: Ces paramètres ne sont utilisés que pour l'enregistrement sur ~GitHub
Saving/GitHub/ServerURL: URL du serveur (`https://api.github.com` par défaut)
Saving/GitHub/Filename: Nom du fichier cible (par ex. `index.html`)
Saving/GitHub/Password: Mot de passe, jeton OAUTH, ou //personal access token//
Saving/GitHub/Path: Chemin vers le fichier cible (par ex. `/wiki/`)
Saving/GitHub/Repo: //Repository// cible (par ex. `Jermolene/TiddlyWiki5`)
Saving/GitHub/UserName: Nom d'utilisateur
Saving/Hint: Paramètres pour enregistrer l'intégralité du TiddlyWiki dans un seul fichier, selon le module d'enregistrement choisi
Saving/GitService/Branch: Branche cible où doit s'effectuer l'enregistrement
Saving/GitService/CommitMessage: Enregistré depuis TiddlyWiki
Saving/GitService/Description: Ces paramètres ne sont utilisés que pour l'enregistrement sur <<service-name>>
Saving/GitService/Filename: Nom du fichier cible (par ex. `index.html`)
Saving/GitService/Path: Chemin vers le fichier cible (par ex. `/wiki/`)
Saving/GitService/Repo: //Repository// cible (par ex. `Jermolene/TiddlyWiki5`)
Saving/GitService/ServerURL: URL du serveur d'API
Saving/GitService/UserName: Nom d'utilisateur
Saving/GitService/GitHub/Caption: Enregistreur ~GitHub
Saving/GitService/GitHub/Password: Mot de passe, jeton OAUTH, ou //personal access token// (voir [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] pour de plus amples détails)
Saving/GitService/GitLab/Caption: Enregistreur ~GitLab
Saving/GitService/GitLab/Password: //Personal access token// pour cette API (voir [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] pour de plus amples details)
Saving/TiddlySpot/Advanced/Heading: Paramètres avancés
Saving/TiddlySpot/BackupDir: Dossier des //sauvegardes//
Saving/TiddlySpot/Backups: Sauvegardes

View File

@@ -68,6 +68,6 @@ TagManager/Count/Heading: Total
TagManager/Icon/Heading: Icône
TagManager/Info/Heading: Info
TagManager/Tag/Heading: Tag
Tiddler/DateFormat: DD MMM YYYY à hhhmm
Tiddler/DateFormat: DD MMM YYYY à hhh0mm
UnsavedChangesWarning: Vos dernières modifications n'ont pas été sauvegardées dans votre TiddlyWiki
Yes: Oui

View File

@@ -171,6 +171,7 @@ Timestamp/Off/Caption: tijdstempels zijn uit
Timestamp/Off/Hint: Werk tijdstempels niet bij als tiddlers veranderd zijn
Timestamp/On/Caption: tijdstempels zijn aan
Timestamp/On/Hint: Werk tijdstempels bij als tiddlers veranderd zijn
ToggleSidebar/Hint: 'Toggle' de sideba
Transcludify/Caption: transclusie
Transcludify/Hint: Zet selectie tussen accolades
Underline/Caption: onderstreept

View File

@@ -47,6 +47,8 @@ LoadedModules/Hint: Dit zijn de nu geladen tiddler modules gekoppeld aan hun bro
Palette/Caption: Palet
Palette/Editor/Clone/Caption: kloon
Palette/Editor/Clone/Prompt: Het wordt aanbevolen dit schaduwpalet te klonen alvorens het te wijzigen.
Palette/Editor/Delete/Hint: verwijder deze invoer van het huidige palet
Palette/Editor/Names/External/Show: Toon namen van kleuren die niet tot het huiddige palet behoren
Palette/Editor/Prompt: Wijzigen
Palette/Editor/Prompt/Modified: Dit schaduwpalet is gewijzigd
Palette/Editor/Reset/Caption: reset
@@ -89,6 +91,27 @@ Saving/DownloadSaver/Caption: Opslagmodule
Saving/DownloadSaver/Hint: Deze instellingen gelden voor de HTML5 compatibele opslagmodule
Saving/General/Caption: Algemeen
Saving/General/Hint: Deze instellingen gelden voor alle geladen opslagmodules
Saving/GitHub/Branch: 'Tak' (branch) voor opslaan (standaard `master`)
Saving/GitHub/Caption: ~GitHub opslagmodule
Saving/GitHub/Description: Deze instellingen worden alleen gebruikt voor opslaan bij ~GitHub
Saving/GitHub/Filename: Bestandsnaam van doelbestand (b.v. `index.html`)
Saving/GitHub/Password: Wachtwoord, OAUTH token of persoonlijk toegangstoken
Saving/GitHub/Path: Pad naar doelbestand (b.v. `/wiki/`)
Saving/GitHub/Repo: Opslagplaats (b.v. `Jermolene/TiddlyWiki5`)
Saving/GitHub/ServerURL: Server URL (standaard `https://api.github.com`)
Saving/GitHub/UserName: Gebruikersnaam
Saving/GitService/Branch: Doeltak (branch) voor opslaan
Saving/GitService/CommitMessage: Opgeslagen door TiddlyWiki
Saving/GitService/Description: Deze instellingen worden alleen gebruikt bij opslaan naar <<service-name>>
Saving/GitService/Filename: Bestandsnaam van doelbestand (b.v. `index.html`)
Saving/GitService/GitHub/Password: Wachtwoord, OAUTH token, of persoonlijk toegangs-token (zie [[GitHub help-pagina|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] voor details)
Saving/GitService/GitLab/Caption: ~GitLab opslagmodule
Saving/GitService/GitLab/Password: Persoonlijk toegangs-token voor API (zie [[GitLab help-pagina|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] voor details)
Saving/GitService/Path: Pad naar doelbestand (b.v. `/wiki/`)
Saving/GitService/Repo: Opslagdoel (b.v. `Jermolene/TiddlyWiki5`)
Saving/GitService/UserName: Gebruikersnaam
Saving/Heading: Opslaan
Saving/Hint: Instellingen voor opslaan van de gehele TiddlyWiki als één bestand via een opslagmodule
Saving/TiddlySpot/Advanced/Heading: Geavanceerde instellingen
@@ -141,6 +164,7 @@ Settings/NavigationHistory/Caption: Navigeer-geschiedenis
Settings/NavigationHistory/Hint: Werk de browsergeschiedenis bij als er naar een tiddler genavigeerd wordt:
Settings/NavigationHistory/No/Description: Werk de browsergeschiedenis niet bij
Settings/NavigationHistory/Yes/Description: Werk de browsergeschiedenis bij
Settings/NavigationPermalinkviewMode/Caption: Permalink/permaview modus
Settings/NavigationPermalinkviewMode/CopyToClipboard/Description: Kopieer permalink/permaview URL naar klembord
Settings/NavigationPermalinkviewMode/Hint: Kies hoe permalink/permaview wordt behandeld:
Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Werk de adresbalk bij met permalink/permaview URL

View File

@@ -14,6 +14,7 @@ draft.of: Voor concepttiddlers; bevat de titel van de te maken tiddler
draft.title: Voor concepttiddlers; bevat de voorgestelde titel van de tiddler
footer: De voettekst van een 'wizard'
hack-to-give-us-something-to-compare-against: Een tijdelijk opslagveld dat in [[$:/core/templates/static.content]] gebruikt wordt
hide-body: Als 'yes' ingevuld is, wordt de tekst van de tiddler niet weergegeven
icon: De titel van de pictogramtiddler die met deze tiddler gekoppeld is
library: Als 'yes' ingevuld is, dient de tiddler als JavaScript-bibliotheek opgeslagen te worden
list: Een geordende lijst van tiddlertitels gekoppeld met een tiddler
@@ -31,5 +32,6 @@ subtitle: De tekst van de ondertitel van een wizard
tags: Een lijst van labels gekoppeld met een tiddler
text: De tekst van een tiddler
title: De unieke naam van een tiddler
toc-link: Als 'no' ingevuld is, is de tiddler geen link meer in de Inhoudsopgave
type: Inhoudstype van een tiddler
version: Versieinformatie van een plugin

View File

@@ -8,6 +8,7 @@ Orphans: Weestiddlers
OverriddenShadowTiddlers: Overschreven schaduwtiddlers
RecentSystemTiddlers: Onlangs gewijzigde tiddlers inclusief systeemtiddlers
RecentTiddlers: Onlangs gewijzigde tiddlers
SessionTiddlers: Tiddlers gewijzigf nadat de wiki geleaden werd
ShadowTiddlers: Schaduwtiddlers
StoryList: Tiddlers in de 'story river' behalve <$text text="$:/AdvancedSearch"/>
SystemTags: Systeemlabels

View File

@@ -0,0 +1,8 @@
title: $:/language/Help/deletetiddlers
description: Deletes a group of tiddlers
<<.from-version "5.1.20">> Verwijdert een gefilterde groep tiddlers.
```
--deletetiddlers <filter>
```

View File

@@ -0,0 +1,19 @@
title: $:/language/Help/savewikifolder
description: Saves a wiki to a new wiki folder
<<.from-version "5.1.20">> Slaat de wiki als een wiki-folder op inclusief tiddlers, plugins en configuratie:
```
--savewikifolder <wikifolderpath> [<filter>]
```
* De doel wiki folder moet leeg zijn of niet bestaan
* Het filter geeft aan welke tiddlers opgeslagen worden. Het filter is optioneel; standaard is `[all[tiddlers]]`
* Plugins uit de officiële plugin-bibliotheek worden vervangen door referenties naar deze plugins in het `tiddlywiki.info` bestand
* Andere plugins worden uitgepakt in hun eigen folder
Kan worden gebruikt om een TiddlyWiki HTML-bestand in een wiki-folder om te zetten:
```
tiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder
```

View File

@@ -17,5 +17,7 @@ Upgrader/Plugins/Suppressed/Incompatible: Geblokkeerde plugin (incompatibel of v
Upgrader/Plugins/Suppressed/Version: Geblokkeerde plugin (te importeren <<incoming>> ouder dan bestaande <<existing>>)
Upgrader/Plugins/Upgraded: Plugin opgewaardeerd van <<incoming>> naar <<upgraded>>
Upgrader/State/Suppressed: Geblokkeerde tijdelijke statustiddler
Upgrader/System/Alert: Je staat op het punt om om een tiddler te importeren die een 'core module' tiddler zal overschrijven. Dit wordt niet aanbevolen daar het systeem instabiel kan worden
Upgrader/System/Suppressed: Geblokkeerde systeemtiddler
Upgrader/System/Warning: 'Core module' tiddler
Upgrader/ThemeTweaks/Created: Gemigreerde thema-aanpassing van <$text text=<<from>>/>

View File

@@ -74,6 +74,7 @@ Plugins/NoInformation/Hint: 未提供信息
Plugins/NotInstalled/Hint: 尚未安装此插件
Plugins/OpenPluginLibrary: 开启插件程式库
Plugins/ClosePluginLibrary: 关闭插件程式库
Plugins/PluginWillRequireReload: (需要重新加载)
Plugins/Plugins/Caption: 插件
Plugins/Plugins/Hint: 插件
Plugins/Reinstall/Caption: 重新安装
@@ -92,15 +93,18 @@ Saving/DownloadSaver/Hint: 这些设置适用于兼容 HTML5 的下载保存模
Saving/General/Caption: 通用
Saving/General/Hint: 这些设置适用于所有已载入的保存模块
Saving/Hint: 用于通过保存模块将整个 TiddlyWiki 保存为单个文件的设置
Saving/GitHub/Branch: 用于保存的目标分支 (默认值为 `master`)
Saving/GitHub/Caption: ~GitHub 保存模块
Saving/GitHub/Description: 这些设仅用于保存到 ~GitHub
Saving/GitHub/ServerURL: 服务器网址 (默认值为 `https://api.github.com`)
Saving/GitHub/Filename: 目标文件的文件名称 (例如,`index.html`)
Saving/GitHub/Password: 密码、OAUTH 令牌,或个人存取的令牌
Saving/GitHub/Path: 目标文件的路径 (例如,`/wiki/`)
Saving/GitHub/Repo: 目标存储库 (例如,`Jermolene/TiddlyWiki5`)
Saving/GitHub/UserName: 用户名称
Saving/GitService/Branch: 用于保存的目标分支
Saving/GitService/CommitMessage: 由 TiddlyWiki 保存
Saving/GitService/Description: 这些设仅用于保存至 <<service-name>>
Saving/GitService/Filename: 目标文件的文件名称 (例如,`index.html`)
Saving/GitService/Path: 目标文件的路径 (例如,`/wiki/`)
Saving/GitService/Repo: 目标存储库 (例如,`Jermolene/TiddlyWiki5`)
Saving/GitService/ServerURL: 服务器 API 网址
Saving/GitService/UserName: 用户名称
Saving/GitService/GitHub/Caption: ~GitHub 保存模块
Saving/GitService/GitHub/Password: 密码、OAUTH 令牌,或个人存取令牌 (详见 [[GitHub 帮助页面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])
Saving/GitService/GitLab/Caption: ~GitLab 保存模块
Saving/GitService/GitLab/Password: 个人存取令牌的 API (详见 [[GitLab 帮助页面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])
Saving/TiddlySpot/Advanced/Heading: 高级设置
Saving/TiddlySpot/BackupDir: 备份文件夹
Saving/TiddlySpot/Backups: 备份

View File

@@ -59,7 +59,7 @@ MissingTiddler/Hint: 佚失条目 "<$text text=<<currentTiddler>>/>" - 点击 {{
No: 否
OfficialPluginLibrary: ~TiddlyWiki 官方插件程式库
OfficialPluginLibrary/Hint: 此为在 tiddlywiki.com 的 ~TiddlyWiki 官方插件程式库。由核心团队维护的插件、主题和语言包。
PluginReloadWarning: 请保存 {{$:/core/ui/Buttons/save-wiki}} 并刷新页面 {{$:/core/ui/Buttons/refresh}} 允许更改插件才能生效
PluginReloadWarning: 请保存 {{$:/core/ui/Buttons/save-wiki}} 并刷新页面 {{$:/core/ui/Buttons/refresh}} ,使 ~JavaScript 插件的更改生效
RecentChanges/DateFormat: YYYY年0MM月0DD日
SystemTiddler/Tooltip: 此为系统条目
SystemTiddlers/Include/Prompt: 包括系统条目

View File

@@ -74,6 +74,7 @@ Plugins/NoInformation/Hint: 未提供資訊
Plugins/NotInstalled/Hint: 尚未安裝此插件
Plugins/OpenPluginLibrary: 開啟插件程式庫
Plugins/ClosePluginLibrary: 關閉插件程式庫
Plugins/PluginWillRequireReload: (需要重新載入)
Plugins/Plugins/Caption: 插件
Plugins/Plugins/Hint: 插件
Plugins/Reinstall/Caption: 重新安裝
@@ -92,15 +93,18 @@ Saving/DownloadSaver/Hint: 這些設定適用於相容 HTML5 的下載儲存模
Saving/General/Caption: 通用
Saving/General/Hint: 這些設定適用於所有已載入的儲存模組
Saving/Hint: 用於通過儲存模組將整個 TiddlyWiki 儲存為單個檔案的設定
Saving/GitHub/Branch: 用於儲存的目標分支 (預設值為 `master`)
Saving/GitHub/Caption: ~GitHub 儲存模組
Saving/GitHub/Description: 這些設定僅用於儲存到 ~GitHub
Saving/GitHub/ServerURL: 伺服器網址 (預設值為 `https://api.github.com`)
Saving/GitHub/Filename: 目標檔案的檔案名稱 (例如,`index.html`)
Saving/GitHub/Password: 密碼、OAUTH 令牌,或個人存取的令牌
Saving/GitHub/Path: 目標檔案的路徑 (例如,`/wiki/`)
Saving/GitHub/Repo: 目標存儲庫 (例如,`Jermolene/TiddlyWiki5`)
Saving/GitHub/UserName: 使用者名稱
Saving/GitService/Branch: 用於儲存的目標分支
Saving/GitService/CommitMessage: 由 TiddlyWiki 儲存
Saving/GitService/Description: 這些設定僅用於儲存至 <<service-name>>
Saving/GitService/Filename: 目標檔案的檔案名稱 (例如,`index.html`)
Saving/GitService/Path: 目標檔案的路徑 (例如,`/wiki/`)
Saving/GitService/Repo: 目標存儲庫 (例如,`Jermolene/TiddlyWiki5`)
Saving/GitService/ServerURL: 伺服器 API 網址
Saving/GitService/UserName: 使用者名稱
Saving/GitService/GitHub/Caption: ~GitHub 儲存模組
Saving/GitService/GitHub/Password: 密碼、OAUTH 令牌,或個人存取令牌 (詳見 [[GitHub 說明頁面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])
Saving/GitService/GitLab/Caption: ~GitLab 儲存模組
Saving/GitService/GitLab/Password: 個人存取令牌的 API (詳見 [[GitLab 說明頁面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])
Saving/TiddlySpot/Advanced/Heading: 進階設定
Saving/TiddlySpot/BackupDir: 備份資料夾
Saving/TiddlySpot/Backups: 備份

View File

@@ -59,7 +59,7 @@ MissingTiddler/Hint: 佚失條目 "<$text text=<<currentTiddler>>/>" - 點擊 {{
No: 否
OfficialPluginLibrary: ~TiddlyWiki 官方插件程式庫
OfficialPluginLibrary/Hint: 此為在 tiddlywiki.com 的 ~TiddlyWiki 官方插件程式庫。由核心團隊維護的插件、主題和語言包。
PluginReloadWarning: 請儲存 {{$:/core/ui/Buttons/save-wiki}} 並刷新頁面 {{$:/core/ui/Buttons/refresh}} 允許更改插件才能生效
PluginReloadWarning: 請儲存 {{$:/core/ui/Buttons/save-wiki}} 並刷新頁面 {{$:/core/ui/Buttons/refresh}} ,使 ~JavaScript 插件的更改生效
RecentChanges/DateFormat: YYYY年0MM月0DD日
SystemTiddler/Tooltip: 此為系統條目
SystemTiddlers/Include/Prompt: 包括系統條目

View File

@@ -357,3 +357,19 @@ Adam Sherwood, @admls, 2019/01/27
Joshua Fontany, @joshuafontany, 2019/03/07
Irene Castaños, @jdjdjdjdjdjd, 2019/03/11
Dong Zhihong, @donmor, 2019/05/29
Joshua Stubbs, @LordRatte, 2019/05/31
Robin Munn, @rmunn, 2019/06/16
Mark Kerrigan, @markkerrigan, 2019/08/24
Stefan Schuster-Teupke, @StefanSTFG, 2019/08/26
Nils-Hero Lindemann, @heronils, 2019/08/26
Mark Stegeman, @markstegeman, 2019/08/31
Jan-Oliver Kaiser, @janno, 2019/09/06

View File

@@ -1,7 +1,7 @@
{
"name": "tiddlywiki",
"preferGlobal": "true",
"version": "5.1.20-prerelease",
"version": "5.1.22-prerelease",
"author": "Jeremy Ruston <jeremy@jermolene.com>",
"description": "a non-linear personal web notebook",
"contributors": [

View File

@@ -1,7 +1,7 @@
{
"title": "$:/plugins/tiddlywiki/async",
"description": "Wrapper for async.js by Caolan McMahon",
"author": "JeremyRuston",
"core-version": ">=5.0.0",
"name": "Async",
"description": "async.js library",
"author": "Caolan McMahon",
"list": "readme license"
}

View File

@@ -1,7 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/aws",
"description": "Tools for working with Amazon Web Services",
"author": "JeremyRuston",
"core-version": ">=5.0.0",
"name": "AWS",
"description": "Amazon Web Services extensions and tools",
"list": "readme setup commands lambda"
}

View File

@@ -1,7 +1,7 @@
{
"title": "$:/plugins/tiddlywiki/bibtex",
"name": "BibTeX",
"description": "BibTeX importer",
"author": "Henrik Muehe and Mikola Lysenko, adapted by Jeremy Ruston",
"plugin-type": "plugin",
"author": "Henrik Muehe and Mikola Lysenko",
"list": "readme license"
}

View File

@@ -1,7 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/blog",
"description": "Tools for using TiddlyWiki to publish blogs",
"author": "JeremyRuston",
"core-version": ">=5.0.0",
"name": "Blog",
"description": "Blog publishing tools",
"list": "readme docs"
}

View File

@@ -1,7 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/browser-sniff",
"description": "Browser sniffing",
"author": "JeremyRuston",
"core-version": ">=5.0.0",
"name": "Browser Sniff",
"description": "Browser feature detection",
"list": "readme usage"
}

View File

@@ -1,7 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/browser-storage",
"description": "Browser-based local storage",
"author": "Jeremy Ruston ",
"core-version": ">=5.0.0",
"name": "Browser Storage",
"description": "Local storage in the browser",
"list": "readme settings"
}

View File

@@ -1,7 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/cecily",
"name": "Cecily",
"description": "Zoomable storyview (Cecily)",
"author": "JeremyRuston",
"core-version": ">=5.0.0",
"list": "readme"
}

View File

@@ -1,7 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/classictools",
"description": "TiddlyWiki Classic manipulation tools",
"author": "JeremyRuston",
"core-version": ">=5.0.0",
"name": "Classic Tools",
"description": "TiddlyWiki Classic tools",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-autocomplete",
"description": "CodeMirror AddOn: Autocompletion",
"author": "JeremyRuston",
"name": "CodeMirror Autocomplete",
"description": "Autocompletion for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-closebrackets",
"description": "CodeMirror AddOn: Close Brackets",
"author": "JeremyRuston",
"name": "CodeMirror Close Brackets",
"description": "Close brackets for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-closetag",
"description": "CodeMirror AddOn: Auto-Close Tags",
"author": "JeremyRuston",
"name": "CodeMirror Close Tag",
"description": "Close tags automatically for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-fullscreen",
"description": "CodeMirror AddOn: Fullscreen Editing",
"author": "JeremyRuston",
"name": "CodeMirror Fullscreen",
"description": "Fullscreen editing for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-keymap-emacs",
"description": "CodeMirror Keymap: Emacs",
"author": "JeremyRuston",
"name": "CodeMirror Keymap Emacs",
"description": "Keymap compatible with Emacs for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-keymap-sublime-text",
"description": "CodeMirror Keymap: Sublime Text",
"author": "JeremyRuston",
"name": "CodeMirror Keymap Sublime Text",
"description": "Keymap compatible with Sublime Text for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-keymap-vim",
"description": "CodeMirror Keymap: Vim",
"author": "JeremyRuston",
"name": "CodeMirror Keymap Vim",
"description": "Keymap compatible with Vim for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-mode-css",
"description": "CodeMirror Mode: CSS Highlighting",
"author": "JeremyRuston",
"name": "CodeMirror Mode CSS",
"description": "CSS highlighting mode for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-mode-htmlembedded",
"description": "CodeMirror Mode: Embedded-HTML Highlighting",
"author": "JeremyRuston",
"name": "CodeMirror Mode HTML Embedded",
"description": "Embedded HTML highlighting mode for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-mode-htmlmixed",
"description": "CodeMirror Mode: HTML Highlighting",
"author": "JeremyRuston",
"name": "CodeMirror Mode HTML Mixed",
"description": "HTML mixed highlighting mode for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-mode-javascript",
"description": "CodeMirror Mode: Javascript Highlighting",
"author": "JeremyRuston",
"name": "CodeMirror Mode JavaScript",
"description": "JavaScript highlighting mode for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-mode-markdown",
"description": "CodeMirror Mode: Markdown Highlighting",
"author": "JeremyRuston",
"name": "CodeMirror Mode Markdown",
"description": "Markdown highlighting mode for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki",
"description": "CodeMirror Mode: Tiddlywiki Classic Highlighting",
"author": "JeremyRuston",
"name": "CodeMirror Mode TiddlyWiki Classic",
"description": "Tiddlywiki Classic highlighting mode for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-mode-xml",
"description": "CodeMirror Mode: XML Highlighting",
"author": "JeremyRuston",
"name": "CodeMirror Mode XML",
"description": "XML highlighting mode for CodeMirror",
"list": "readme"
}

View File

@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/codemirror-search-replace",
"description": "CodeMirror AddOn: Search and Replace",
"author": "JeremyRuston",
"name": "CodeMirror Search and Replace",
"description": "Search and replace for CodeMirror",
"list": "readme"
}

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