mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2026-01-22 10:54:46 +00:00
Compare commits
57 Commits
testcase-u
...
v5.3.5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a2426b5ed9 | ||
|
|
e2b40c3a14 | ||
|
|
46f6fe88a2 | ||
|
|
1eb1af2589 | ||
|
|
98ebbc32f7 | ||
|
|
d41fabd472 | ||
|
|
906ac3817d | ||
|
|
7071fdef8a | ||
|
|
cec30738f4 | ||
|
|
e644b5cb46 | ||
|
|
5758d0b313 | ||
|
|
753b289ba9 | ||
|
|
ad5661ef1c | ||
|
|
bc18bd9261 | ||
|
|
5aa889859a | ||
|
|
eb6f3a423a | ||
|
|
eeeb9f97a9 | ||
|
|
8f1792df20 | ||
|
|
e19f86482a | ||
|
|
53924de313 | ||
|
|
d2c2ada33c | ||
|
|
b906515c69 | ||
|
|
8928b6e603 | ||
|
|
73163386c1 | ||
|
|
32c75cbb68 | ||
|
|
b60abadf33 | ||
|
|
a9b6de8c35 | ||
|
|
84d1c81bb2 | ||
|
|
c25b8e3056 | ||
|
|
b81a1f22fe | ||
|
|
703edd154c | ||
|
|
64e6a9a946 | ||
|
|
068b76b07d | ||
|
|
f060ba75ff | ||
|
|
7beaddb293 | ||
|
|
1937789ee2 | ||
|
|
2f2806c00c | ||
|
|
87adbe0b14 | ||
|
|
6554b5c9f4 | ||
|
|
c93d4c52fc | ||
|
|
f3b129c245 | ||
|
|
74c9e4465d | ||
|
|
0f4bc93a7e | ||
|
|
05bff57b65 | ||
|
|
0dcf7e91bf | ||
|
|
f50c2a2e64 | ||
|
|
a42dad6a5c | ||
|
|
cff685ea11 | ||
|
|
791c7fac63 | ||
|
|
b90c3841c9 | ||
|
|
a5e05e4eec | ||
|
|
05792a9de3 | ||
|
|
1c1f0ff4e8 | ||
|
|
d253503335 | ||
|
|
a16dab9710 | ||
|
|
18152aa7c8 | ||
|
|
5d06b922d3 |
@@ -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.3.3
|
||||
TW5_BUILD_VERSION=v5.3.5
|
||||
fi
|
||||
|
||||
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
|
||||
|
||||
File diff suppressed because one or more lines are too long
5
core/images/input-button.tid
Normal file
5
core/images/input-button.tid
Normal file
@@ -0,0 +1,5 @@
|
||||
title: $:/core/images/input-button
|
||||
tags: $:/tags/Image
|
||||
|
||||
\parameters (size:"22pt")
|
||||
<svg width=<<size>> height=<<size>> class="tc-image-input-button tc-image-button" viewBox="0 0 22 22"><path d="M1.375 22h19.249c.365 0 .716-.145.973-.404v.001c.258-.257.404-.607.403-.972v-11a1.376 1.376 0 0 0-2.75 0v9.625H2.75V9.625a1.376 1.376 0 0 0-2.75 0v11C0 21.384.617 22 1.375 22Z"/><path d="m9.732 11.904-1.541-1.541a1.375 1.375 0 1 0-1.944 1.944l3.887 3.888c.258.258.608.402.973.402h-.001c.353 0 .705-.134.974-.402l3.888-3.889a1.376 1.376 0 0 0 .001-1.944 1.377 1.377 0 0 0-1.946 0l-1.541 1.542V1.376a1.375 1.375 0 1 0-2.75 0v10.528Z"/></svg>
|
||||
@@ -104,6 +104,8 @@ ShowSideBar/Caption: show sidebar
|
||||
ShowSideBar/Hint: Show sidebar
|
||||
TagManager/Caption: tag manager
|
||||
TagManager/Hint: Open tag manager
|
||||
TestCaseImport/Caption: import tiddlers
|
||||
TestCaseImport/Hint: Import tiddlers
|
||||
Timestamp/Caption: timestamps
|
||||
Timestamp/Hint: Choose whether modifications update timestamps
|
||||
Timestamp/On/Caption: timestamps are on
|
||||
|
||||
@@ -95,6 +95,7 @@ function SaverHandler(options) {
|
||||
if($tw.browser) {
|
||||
$tw.rootWidget.addEventListener("tm-save-wiki",function(event) {
|
||||
self.saveWiki({
|
||||
wiki: event.widget.wiki,
|
||||
template: event.param,
|
||||
downloadType: "text/plain",
|
||||
variables: event.paramObject
|
||||
@@ -102,6 +103,7 @@ function SaverHandler(options) {
|
||||
});
|
||||
$tw.rootWidget.addEventListener("tm-download-file",function(event) {
|
||||
self.saveWiki({
|
||||
wiki: event.widget.wiki,
|
||||
method: "download",
|
||||
template: event.param,
|
||||
downloadType: "text/plain",
|
||||
@@ -147,20 +149,22 @@ Save the wiki contents. Options are:
|
||||
method: "save", "autosave" or "download"
|
||||
template: the tiddler containing the template to save
|
||||
downloadType: the content type for the saved file
|
||||
wiki: optional wiki, overriding the default wiki specified in the constructor
|
||||
*/
|
||||
SaverHandler.prototype.saveWiki = function(options) {
|
||||
options = options || {};
|
||||
var self = this,
|
||||
wiki = options.wiki || this.wiki,
|
||||
method = options.method || "save";
|
||||
// Ignore autosave if disabled
|
||||
if(method === "autosave" && ($tw.config.disableAutoSave || this.wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes")) {
|
||||
if(method === "autosave" && ($tw.config.disableAutoSave || wiki.getTiddlerText(this.titleAutoSave,"yes") !== "yes")) {
|
||||
return false;
|
||||
}
|
||||
var variables = options.variables || {},
|
||||
template = (options.template ||
|
||||
this.wiki.getTiddlerText("$:/config/SaveWikiButton/Template","$:/core/save/all")).trim(),
|
||||
wiki.getTiddlerText("$:/config/SaveWikiButton/Template","$:/core/save/all")).trim(),
|
||||
downloadType = options.downloadType || "text/plain",
|
||||
text = this.wiki.renderTiddler(downloadType,template,options),
|
||||
text = wiki.renderTiddler(downloadType,template,options),
|
||||
callback = function(err) {
|
||||
if(err) {
|
||||
alert($tw.language.getString("Error/WhileSaving") + ":\n\n" + err);
|
||||
|
||||
@@ -61,7 +61,7 @@ exports.startup = function() {
|
||||
// Collect the shadow tiddlers of any modified plugins
|
||||
$tw.utils.each(changes.modifiedPlugins,function(pluginTitle) {
|
||||
var pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);
|
||||
if(pluginInfo) {
|
||||
if(pluginInfo && pluginInfo.tiddlers) {
|
||||
$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {
|
||||
changedShadowTiddlers[title] = false;
|
||||
});
|
||||
|
||||
@@ -91,7 +91,9 @@ DataWidget.prototype.computeDataTiddlerValues = function() {
|
||||
var titles = this.wiki.filterTiddlers(filter);
|
||||
$tw.utils.each(titles,function(title) {
|
||||
var tiddler = self.wiki.getTiddler(title);
|
||||
tiddlers.push(tiddler);
|
||||
if(tiddler) {
|
||||
tiddlers.push(tiddler);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,6 +82,10 @@ sidebar-tab-foreground: <<colour tab-foreground>>
|
||||
sidebar-tiddler-link-foreground-hover: #458588
|
||||
sidebar-tiddler-link-foreground: #98971a
|
||||
site-title-foreground: <<colour tiddler-title-foreground>>
|
||||
stability-deprecated: #cc241d
|
||||
stability-experimental: #d79921
|
||||
stability-legacy: #458588
|
||||
stability-stable: #98971a
|
||||
static-alert-foreground: #B48EAD
|
||||
tab-background-selected: #ebdbb2
|
||||
tab-background: #665c54
|
||||
|
||||
@@ -82,6 +82,10 @@ sidebar-tab-foreground: <<colour tab-foreground>>
|
||||
sidebar-tiddler-link-foreground-hover: #A3BE8C
|
||||
sidebar-tiddler-link-foreground: #81A1C1
|
||||
site-title-foreground: <<colour tiddler-title-foreground>>
|
||||
stability-deprecated: #bf616a
|
||||
stability-experimental: #d08770
|
||||
stability-legacy: #88c0d0
|
||||
stability-stable: #a3be8c
|
||||
static-alert-foreground: #B48EAD
|
||||
tab-background-selected: #ECEFF4
|
||||
tab-background: #4C566A
|
||||
|
||||
@@ -18,7 +18,7 @@ button-foreground: #93a1a1
|
||||
code-background: #073642
|
||||
code-border: #586e75
|
||||
code-foreground: #93a1a1
|
||||
dirty-indicator: inherit
|
||||
dirty-indicator: #dc322f
|
||||
download-background: #859900
|
||||
download-foreground: #073642
|
||||
dragger-background: #073642
|
||||
@@ -72,6 +72,10 @@ sidebar-tab-foreground-selected: #93a1a1
|
||||
sidebar-tiddler-link-foreground: #2aa198
|
||||
sidebar-tiddler-link-foreground-hover: #eee8d5
|
||||
site-title-foreground: #d33682
|
||||
stability-deprecated: #dc322f
|
||||
stability-experimental: #b58900
|
||||
stability-legacy: #268bd2
|
||||
stability-stable: #859900
|
||||
static-alert-foreground: #93a1a1
|
||||
tab-background: #073642
|
||||
tab-background-selected: #002b36
|
||||
|
||||
@@ -18,7 +18,7 @@ button-foreground: #586e75
|
||||
code-background: #eee8d5
|
||||
code-border: #93a1a1
|
||||
code-foreground: #586e75
|
||||
dirty-indicator: inherit
|
||||
dirty-indicator: #dc322f
|
||||
download-background: #859900
|
||||
download-foreground: #eee8d5
|
||||
dragger-background: #eee8d5
|
||||
@@ -72,6 +72,10 @@ sidebar-tab-foreground-selected: #586e75
|
||||
sidebar-tiddler-link-foreground: #2aa198
|
||||
sidebar-tiddler-link-foreground-hover: #002b36
|
||||
site-title-foreground: #d33682
|
||||
stability-deprecated: #dc322f
|
||||
stability-experimental: #b58900
|
||||
stability-legacy: #268bd2
|
||||
stability-stable: #859900
|
||||
static-alert-foreground: #586e75
|
||||
tab-background: #eee8d5
|
||||
tab-background-selected: #fdf6e3
|
||||
|
||||
@@ -99,7 +99,7 @@ table-footer-background: #a8a8a8
|
||||
table-header-background: #f0f0f0
|
||||
tag-background: #ec6
|
||||
tag-foreground: #ffffff
|
||||
testcase-accent-level-1: #84C5E6
|
||||
testcase-accent-level-1: #c1eaff
|
||||
testcase-accent-level-2: #E3B740
|
||||
testcase-accent-level-3: #5FD564
|
||||
tiddler-background: <<colour background>>
|
||||
|
||||
@@ -15,7 +15,7 @@ title: $:/core/ui/testcases/DefaultTemplate
|
||||
<div class="tc-test-case-wrapper">
|
||||
<div class="tc-test-case-header">
|
||||
<h2>
|
||||
<$genesis $type={{{ [<linkTarget>!match[]then[$link]else[div]] }}} to=<<testcaseTiddler>>>
|
||||
<$genesis $type={{{ [<linkTarget>!match[]then[$link]else[span]] }}} to=<<testcaseTiddler>>>
|
||||
<%if [<testResult>!match[]] %>
|
||||
<span class={{{ tc-test-case-result-icon [<testResult>!match[fail]then[tc-test-case-result-icon-pass]] [<testResult>match[fail]then[tc-test-case-result-icon-fail]] +[join[ ]] }}}>
|
||||
<%if [<testResult>!match[fail]] %>
|
||||
@@ -27,6 +27,31 @@ title: $:/core/ui/testcases/DefaultTemplate
|
||||
<%endif%>
|
||||
<$view tiddler="Description" mode="inline"/>
|
||||
</$genesis>
|
||||
<span class="tc-test-case-toolbar">
|
||||
<$button popup=`$(state)$-more`
|
||||
tooltip={{$:/language/Buttons/More/Hint}}
|
||||
aria-label={{$:/language/Buttons/More/Caption}}
|
||||
class="tc-btn-invisible"
|
||||
selectedClass="tc-selected"
|
||||
>
|
||||
{{$:/core/images/down-arrow}}
|
||||
</$button>
|
||||
<$let
|
||||
tv-config-toolbar-icons="yes"
|
||||
tv-config-toolbar-text="yes"
|
||||
tv-config-toolbar-class="tc-btn-invisible"
|
||||
>
|
||||
<$reveal state=`$(state)$-more` type="popup" position="belowleft" animate="yes">
|
||||
<div class="tc-drop-down">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/TestCase/Actions]!has[draft.of]]"
|
||||
variable="listItem"
|
||||
>
|
||||
<$transclude tiddler=<<listItem>> mode="inline"/>
|
||||
</$list>
|
||||
</div>
|
||||
</$reveal>
|
||||
</$let>
|
||||
</span>
|
||||
</h2>
|
||||
</div>
|
||||
<%if [[Narrative]is[tiddler]] %>
|
||||
@@ -46,7 +71,7 @@ title: $:/core/ui/testcases/DefaultTemplate
|
||||
<%endif%>
|
||||
<div class="tc-test-case-panes">
|
||||
<div class="tc-test-case-source">
|
||||
<$macrocall $name="tabs" tabsList="[all[tiddlers]sort[]] -[prefix<state>] -Description -Narrative -ExpectedResult -Output Output +[putfirst[]] -[has[plugin-type]]" state=<<state>> default="Output" template="$:/core/ui/testcases/DefaultTemplate/SourceTabs"/>
|
||||
<$macrocall $name="tabs" tabsList="[all[tiddlers]sort[]] -[prefix<state>] -Description -Narrative -Output Output +[putfirst[]] -[has[plugin-type]]" state=<<state>> default="Output" template="$:/core/ui/testcases/DefaultTemplate/SourceTabs"/>
|
||||
</div>
|
||||
<div class="tc-test-case-divider">
|
||||
</div>
|
||||
|
||||
@@ -19,6 +19,9 @@ title: $:/core/ui/testcases/DefaultTemplate/SourceTabs
|
||||
</table>
|
||||
</$list>
|
||||
<$edit class="tc-edit-texteditor" tiddler=<<currentTab>>/>
|
||||
<div class="tc-test-case-footer-toolbar">
|
||||
<$macrocall $name="copy-to-clipboard" src={{{ [<currentTab>get[text]] }}}/>
|
||||
</div>
|
||||
\end
|
||||
|
||||
<$transclude $variable="body" $mode="inline"/>
|
||||
|
||||
4
core/ui/TestCases/actions/Export.tid
Normal file
4
core/ui/TestCases/actions/Export.tid
Normal file
@@ -0,0 +1,4 @@
|
||||
title: $:/core/ui/testcases/actions/Export
|
||||
tags: $:/tags/TestCase/Actions
|
||||
|
||||
<$macrocall $name="exportButton" exportFilter="[all[tiddlers]sort[]] -[prefix[$:/state/]] -Description -Narrative -ExpectedResult -Output Output +[putfirst[]] -[has[plugin-type]]" lingoBase="$:/language/Buttons/ExportTiddlers/"/>
|
||||
11
core/ui/TestCases/actions/Import.tid
Normal file
11
core/ui/TestCases/actions/Import.tid
Normal file
@@ -0,0 +1,11 @@
|
||||
title: $:/core/ui/testcases/actions/Import
|
||||
tags: $:/tags/TestCase/Actions
|
||||
|
||||
\whitespace trim
|
||||
<$button tooltip={{$:/language/Buttons/TestCaseImport/Hint}} aria-label={{$:/language/Buttons/TestCaseImport/Caption}} class=<<tv-config-toolbar-class>>>
|
||||
<$action-sendmessage $message="tm-import-tiddlers" $param=<<payloadTiddlers>>/>
|
||||
{{$:/core/images/input-button}}
|
||||
<span class="tc-btn-text">
|
||||
<$text text={{$:/language/Buttons/TestCaseImport/Caption}}/>
|
||||
</span>
|
||||
</$button>
|
||||
@@ -1,6 +1,6 @@
|
||||
title: $:/config/OfficialPluginLibrary
|
||||
tags: $:/tags/PluginLibrary
|
||||
url: https://tiddlywiki.com/library/v5.3.4/index.html
|
||||
url: https://tiddlywiki.com/library/v5.3.5/index.html
|
||||
caption: {{$:/language/OfficialPluginLibrary}}
|
||||
|
||||
{{$:/language/OfficialPluginLibrary/Hint}}
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
title: $:/core/macros/CSS
|
||||
tags: $:/tags/Macro $:/tags/Global
|
||||
|
||||
\procedure colour(name)
|
||||
<!-- Needs to stay that way for backwards compatibility. See GH issue: #8326 -->
|
||||
\define colour(name)
|
||||
\whitespace trim
|
||||
<$transclude $tiddler={{$:/palette}} $index=`$(name)$`>
|
||||
<$transclude $tiddler="$:/palettes/Vanilla" $index=`$(name)$`>
|
||||
<$transclude $tiddler=`$:/config/DefaultColourMappings/$(name)$`/>
|
||||
<$transclude tiddler={{$:/palette}} index="$name$">
|
||||
<$transclude tiddler="$:/palettes/Vanilla" index="$name$">
|
||||
<$transclude tiddler="$:/config/DefaultColourMappings/$name$"/>
|
||||
</$transclude>
|
||||
</$transclude>
|
||||
\end
|
||||
|
||||
\procedure color(name)
|
||||
<$macrocall $name=colour name=`$(name)$`/>
|
||||
\end
|
||||
\define color(name) <<colour $name$>>
|
||||
|
||||
\function box-shadow(shadow)
|
||||
[[ -webkit-box-shadow: $(shadow)$;
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
title: $:/core/macros/tag-picker
|
||||
tags: tags: $:/tags/Macro $:/tags/Global
|
||||
first-search-filter: [subfilter<tagListFilter>!is[system]search:title<userInput>sort[]]
|
||||
second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>sort[]]
|
||||
tags: $:/tags/Macro $:/tags/Global
|
||||
first-search-filter: [subfilter<tagListFilter>!is[system]search:title<userInput>]
|
||||
second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>]
|
||||
|
||||
<!-- first-search-filter and second-search-filter fields are not used here in the code, but they are defined as parameters for keyboard-driven-input macro -->
|
||||
<!--
|
||||
Fields: "first-search-filter", "second-search-filter" are assigned to the keyboard-driven input macro with parameter: "configTiddlerFilter"
|
||||
They __need to be the same__ as used for variables: "nonSystemTagsFilter" and "systemTagsFilter". See code below!
|
||||
-->
|
||||
|
||||
\whitespace trim
|
||||
|
||||
@@ -150,12 +153,15 @@ The second ESC tries to close the "draft tiddler"
|
||||
\end
|
||||
|
||||
<!-- prepare all variables for tag-picker keyboard handling -->
|
||||
\procedure tag-picker(actions, tagField:"tags", tiddler, tagListFilter:"[tags[]]")
|
||||
\procedure tag-picker(actions, tagField:"tags", tiddler, tagListFilter:"[tags[]sort[]]")
|
||||
|
||||
\function _tf.getUserInput() [<storeTitle>get[text]]
|
||||
\function _tf.getTag() [<newTagNameTiddler>get[text]]
|
||||
<!-- Use this function if tag-picker is a stand alone macro. Otherwise use "newTagNameTiddler" defined for fieldmangler in EditTemplate -->
|
||||
\function _tf.makeTagNameTiddler() [[$:/temp/NewTagName]] [<tagField>!match[tags]] +[join[/]] [<qualify>] +[join[]]
|
||||
|
||||
<!-- keep those variables because they may "blead" into macros using old syntax -->
|
||||
<!-- keep those variables because they may "bleed" into macros using old syntax -->
|
||||
<!-- "nonSystemTagsFilter", "systemTagsFilter" __need to be the same__ as fields: "first-search-filter", "second-search-filter" -->
|
||||
<$let
|
||||
palette={{$:/palette}}
|
||||
colourA={{{ [<palette>getindex[foreground]] }}}
|
||||
@@ -164,7 +170,7 @@ The second ESC tries to close the "draft tiddler"
|
||||
|
||||
saveTiddler={{{ [<tiddler>is[blank]then<currentTiddler>else<tiddler>] }}}
|
||||
|
||||
newTagNameTiddler={{{ [[$:/temp/NewTagName]] [<tagField>!match[tags]] +[join[/]] [<qualify>] +[join[]] }}}
|
||||
newTagNameTiddler={{{ [[newTagNameTiddler]is[variable]then<newTagNameTiddler>] :else[<_tf.makeTagNameTiddler>] }}}
|
||||
storeTitle={{{ [[$:/temp/NewTagName/input]] [<tagField>!match[tags]] +[join[/]] [<qualify>] +[join[]] }}}
|
||||
|
||||
newTagNameSelectionTiddlerQualified=<<qualify "$:/temp/NewTagName/selected-item">>
|
||||
@@ -172,11 +178,11 @@ The second ESC tries to close the "draft tiddler"
|
||||
|
||||
refreshTitle=<<qualify "$:/temp/NewTagName/refresh">>
|
||||
|
||||
nonSystemTagsFilter="[subfilter<tagListFilter>!is[system]search:title<userInput>sort[]]"
|
||||
systemTagsFilter="[subfilter<tagListFilter>is[system]search:title<userInput>sort[]]"
|
||||
nonSystemTagsFilter="[subfilter<tagListFilter>!is[system]search:title<userInput>]"
|
||||
systemTagsFilter="[subfilter<tagListFilter>is[system]search:title<userInput>]"
|
||||
|
||||
cancelPopups="yes"
|
||||
>
|
||||
<$macrocall $name="tag-picker-inner"/>
|
||||
</$let>
|
||||
\end
|
||||
\end
|
||||
|
||||
2
core/wiki/tags/TestCaseActions.tid
Normal file
2
core/wiki/tags/TestCaseActions.tid
Normal file
@@ -0,0 +1,2 @@
|
||||
title: $:/tags/TestCase/Actions
|
||||
list:
|
||||
56
editions/prerelease/tiddlers/Release 5.3.6.tid
Normal file
56
editions/prerelease/tiddlers/Release 5.3.6.tid
Normal file
@@ -0,0 +1,56 @@
|
||||
caption: 5.3.6
|
||||
created: 20240710120027897
|
||||
modified: 20240710120027897
|
||||
tags: ReleaseNotes
|
||||
title: Release 5.3.6
|
||||
type: text/vnd.tiddlywiki
|
||||
description: Under development
|
||||
|
||||
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.5...master]]//
|
||||
|
||||
! Major Improvements
|
||||
|
||||
! Translation improvements
|
||||
|
||||
This release includes improvements to the following translations:
|
||||
|
||||
*
|
||||
|
||||
! Plugin Improvements
|
||||
|
||||
*
|
||||
|
||||
! Widget Improvements
|
||||
|
||||
*
|
||||
|
||||
! Filter Improvements
|
||||
|
||||
*
|
||||
|
||||
! Usability Improvements
|
||||
|
||||
*
|
||||
|
||||
! Hackability Improvements
|
||||
|
||||
*
|
||||
|
||||
! Bug Fixes
|
||||
|
||||
*
|
||||
|
||||
! Node.js Improvements
|
||||
|
||||
*
|
||||
|
||||
! Developer Improvements
|
||||
|
||||
*
|
||||
|
||||
! Acknowledgements
|
||||
|
||||
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
|
||||
|
||||
<<.contributors """
|
||||
""">>
|
||||
@@ -1,6 +1,6 @@
|
||||
title: $:/config/LocalPluginLibrary
|
||||
tags: $:/tags/PluginLibrary
|
||||
url: http://127.0.0.1:8080/prerelease/library/v5.3.2/index.html
|
||||
url: http://127.0.0.1:8080/prerelease/library/v5.3.5/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//
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
title: $:/config/OfficialPluginLibrary
|
||||
tags: $:/tags/PluginLibrary
|
||||
url: https://tiddlywiki.com/prerelease/library/v5.3.4/index.html
|
||||
url: https://tiddlywiki.com/prerelease/library/v5.3.5/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.
|
||||
|
||||
18
editions/tw5.com/tiddlers/Operators without parameters.tid
Normal file
18
editions/tw5.com/tiddlers/Operators without parameters.tid
Normal file
@@ -0,0 +1,18 @@
|
||||
created: 20240708171243370
|
||||
modified: 20240708201827711
|
||||
tags:
|
||||
title: Operators without parameters
|
||||
|
||||
Many [[Filter Operators]] have no [[parameter|Filter Parameter]] available. Still, each operator must be followed by a bracketed parameter expression — even if it is empty — as with the <<.olink backlinks>> operator below:
|
||||
|
||||
`[<currentTiddler>backlinks[]]`
|
||||
|
||||
(Even though an expression such as `[<currentTiddler>backlinks]` may at first <<.em seem>> well-formed — insofar as closing brackets seem to pair properly with opening brackets — each operator needs its own parameter brackets, even if empty. See [[Filter Syntax]].)
|
||||
|
||||
The following [[Filter Operators]] accept no parameters:
|
||||
|
||||
<div>
|
||||
|
||||
<<list-links filter:"[op-parameter[none]] [tag[Filter Operators]!has[op-parameter]] -[search:op-purpose[same]]" class:"multi-columns">>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
created: 20240708174435694
|
||||
modified: 20240708175546166
|
||||
title: Selection Constructors: Conditional
|
||||
|
||||
Most [[filter Operators|filter Operator]] are either ''selection modifiers'' or [[Selection Constructors]].
|
||||
|
||||
Within the exceptional category <<tag>> are a tiny minority that //usually// act as ''selection modifiers'', but which can construct a fresh selection under special conditions — namely, whenever their [[parameter|Filter Parameter]] is specified with a selection constructor.
|
||||
|
||||
<<list-links "[tag<currentTiddler>]">>
|
||||
@@ -1,14 +1,14 @@
|
||||
title: TiddlyWiki Archive
|
||||
created: 20231005205623086
|
||||
modified: 20231005210538879
|
||||
modified: 20240628132622052
|
||||
tags: About
|
||||
title: TiddlyWiki Archive
|
||||
|
||||
\procedure versions()
|
||||
5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9
|
||||
5.1.10 5.1.11 5.1.12 5.1.13 5.1.14 5.1.15 5.1.16 5.1.17 5.1.18 5.1.19
|
||||
5.1.20 5.1.21 5.1.22 5.1.23
|
||||
5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7
|
||||
5.3.0 5.3.1 5.3.2 5.3.3
|
||||
5.3.0 5.3.1 5.3.2 5.3.3 5.3.4
|
||||
\end
|
||||
|
||||
Older versions of TiddlyWiki are available in the [[archive|https://github.com/Jermolene/jermolene.github.io/tree/master/archive]]:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20150123220223000
|
||||
modified: 20190610165255223
|
||||
modified: 20240709170746678
|
||||
tags: Filters
|
||||
title: Dominant Append
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -13,3 +13,5 @@ For example, if a selection contains `Andrew Becky Clara Daniel` and `Andrew Bar
|
||||
This behaviour can cause unexpected results when working with [[Mathematics Operators]]. For example, `1 2 3 +[sum[]]` evaluates to `6`, as expected. But `1 1 1 +[sum[]]` evaluates to `1`. Removing the `+[sum[]]` from each filter reveals the problem: `1 2 3` evaluates to the list `1`, `2`, `3`, while `1 1 1` evaluates to the single item `1` due to de-duplication.
|
||||
|
||||
In such situations, the `=` prefix can be used to disable the de-duplication. For example, `=1 =1 =1 +[sum[]]` evaluates to `3` as expected. Alternatively, the [[split Operator]] can be used: `[[1,1,1]split[,]sum[]]`.
|
||||
|
||||
<<.tip """To build a list of unique values that retains only the <<.em earliest>> copy of each value (the opposite behavior from <<.link "Dominant Append" "Dominant Append">>), first use the <<.link `:all` "All Filter Run Prefix">> filter run prefix (or its short form `=`) to retain all duplicate values while building your list. Then finish your filter run with the <<.olink unique>> operator to remove later duplicates.""">>
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20150117204109000
|
||||
modified: 20150917193713204
|
||||
modified: 20240708201746542
|
||||
tags: Filters
|
||||
title: Selection Constructors
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -11,3 +11,7 @@ The output of a [[Filter Step]] depends on its [[operator|Filter Operators]]:
|
||||
* A few operators ignore their input and generate an independent output instead. These are called <<.def "selection constructors">>: they construct an entirely new [[selection|Title Selection]].
|
||||
|
||||
A good example of a constructor is <<.olink title>>. The output of `[title[A]title[B]]` is just <<.tid B>>. But the <<.olink field>> operator is a modifier, so `[title[A]field:title[B]` outputs nothing at all.
|
||||
|
||||
The following [[filter Operators|filter Operator]] are tagged <<tag>>:
|
||||
|
||||
<<list-links "[tag<currentTiddler>]" class:"multi-columns">>
|
||||
|
||||
12
editions/tw5.com/tiddlers/currentTab Variable.tid
Normal file
12
editions/tw5.com/tiddlers/currentTab Variable.tid
Normal file
@@ -0,0 +1,12 @@
|
||||
caption: currentTab
|
||||
created: 20240627195924480
|
||||
modified: 20240627201655746
|
||||
tags: Variables [[Core Variables]]
|
||||
title: currentTab Variable
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
The <<.def currentTab>> [[variable|Variables]] contains the title of the current tab within an enclosing set of tabs generated by the [[tabs Macro]].
|
||||
|
||||
When a tiddler is [[transcluded|Transclusion]] within a tab, any use of the [[currentTiddler Variable]] will point to the tiddler containing the [[tabs Macro]] call. This may lead to surprises if the transcluded tiddler was originally written to display by itself in the [[Story River]] in ways that rely on self-reference. The currentTab macro enables a similar effect to currentTiddler for the special case of a tiddler rendered as a tab.
|
||||
|
||||
Compare <<.vlink currentTiddler>>.
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20201123172925848
|
||||
modified: 20230803052005116
|
||||
modified: 20240627060629394
|
||||
tags: [[Customise TiddlyWiki]]
|
||||
title: Alternative page layouts
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -8,8 +8,39 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
! Creating an alternative page layout
|
||||
|
||||
Creating an alternative layout goes beyond [[adding or removing features|Customising TiddlyWiki's user interface]] from the default interface and allows you to create an entirely new layout from scratch.
|
||||
Creating an alternative layout goes beyond [[adding or removing features|Customising TiddlyWiki's user interface]] from the default interface, which also known as [[standard layout|$:/core/ui/PageTemplate]], and allows you to create an entirely new layout from scratch.
|
||||
|
||||
To create an alternative page layout and have the ability to switch to it, you need to create an alternative page template tiddler with the [[SystemTag: $:/tags/Layout]].
|
||||
|
||||
This alternative page template can either be a tweaked and modified version of the [[default page template|$:/core/ui/PageTemplate]], or something entirely different. The layout switching mechanism requires that your page template tiddler has the fields `name` and `description`, which are used in the listing in the switching user interface.
|
||||
This alternative page template can either be a tweaked and modified version of the [[default page template|$:/core/ui/PageTemplate]], or something entirely different. The layout switching mechanism requires that your page template tiddler has the fields `name` and `description`, which are used in the listing in the switching user interface.
|
||||
|
||||
!! Common layout setup
|
||||
|
||||
```tid
|
||||
\whitespace trim
|
||||
\import [subfilter{$:/core/config/GlobalImportFilter}]
|
||||
\define containerClasses()
|
||||
tc-page-container tc-language-$(languageTitle)$ your-plugin-name-container
|
||||
\end
|
||||
\procedure redirected-navigate-actions()
|
||||
<$action-setfield $tiddler="$:/layout" text="" $timestamp="no">
|
||||
<$action-navigate $to=<<event-navigateTo>> $scroll="yes" />
|
||||
</$action-setfield>
|
||||
\end
|
||||
|
||||
<$navigator story="$:/StoryList" history="$:/HistoryList" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>
|
||||
<$messagecatcher $tm-navigate=<<redirected-navigate-actions>>>
|
||||
{{$:/core/ui/CommandPaletteTemplate}}
|
||||
<div class=<<containerClasses>>>
|
||||
<!-- Your layout content here -->
|
||||
</div>
|
||||
</$messagecatcher>
|
||||
</$navigator>
|
||||
```
|
||||
|
||||
It includes
|
||||
|
||||
# Import macros that is globally available in standard layout, so wikitext that works on standard layout also works on your layout.
|
||||
# Define the top-level css class, some style may depends on them. You can add your plugin's name in css class here.
|
||||
# Handle navigation when click on links. If your layout does not contains a story view (for example, you are writing a calendar or whiteboard layout), then the combination of `redirected-navigate-actions` `$navigator` and `$messagecatcher` will redirect user back to standard layout, and open the tiddler there.
|
||||
# Add some [[PageTemplate|$:/tags/PageTemplate]] back, for example the `$:/core/ui/CommandPaletteTemplate` or `$:/core/ui/PageTemplate/sidebar`, if you want them exist on your layout.
|
||||
|
||||
@@ -4,7 +4,7 @@ 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 <<.icon $:/core/images/done-button>> ''ok'' or <<.icon $:/core/images/delete-button>> ''delete'' when editing a tiddler.
|
||||
If there is a SavingMechanism 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.
|
||||
|
||||
|
||||
5
editions/tw5.com/tiddlers/fields/_canonical_uriField.tid
Normal file
5
editions/tw5.com/tiddlers/fields/_canonical_uriField.tid
Normal file
@@ -0,0 +1,5 @@
|
||||
created: 20240627223618060
|
||||
modified: 20240627223637576
|
||||
title: $:/language/Docs/Fields/_canonical_uri
|
||||
|
||||
The full URI of an external image, audio, or html file
|
||||
@@ -1,12 +1,12 @@
|
||||
caption: minlength
|
||||
created: 20161011074235805
|
||||
from-version: 5.1.14
|
||||
modified: 20240621073052597
|
||||
modified: 20240709161140504
|
||||
op-input: a list of items
|
||||
op-output: those items at least as long as the specified minimum length
|
||||
op-parameter: the minimum length for items
|
||||
op-parameter-name: minlength
|
||||
op-purpose: filter items whose length is greater than the specified minimum length
|
||||
op-purpose: filter items whose length is greater than or equal to the specified minimum length
|
||||
tags: [[Filter Operators]]
|
||||
title: minlength Operator
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20150220152540000
|
||||
modified: 20230710074423650
|
||||
modified: 20240708202234843
|
||||
tags: [[Filter Step]]
|
||||
title: Filter Parameter
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -29,6 +29,8 @@ The parameter to a [[filter operator|Filter Operators]] can be:
|
||||
:: The parameter is the current value of the [[variable|Variables]] whose name appears between the angle brackets. Macro parameters are <<.em not>> supported up to v5.2.0
|
||||
::<<.from-version "5.2.0">> Literal macro parameters are supported. For example: `[<now [UTC]YYYY0MM0DD0hh0mm0ssXXX>]`.
|
||||
|
||||
<<.note """Every [[filter Operator]] must be followed by a parameter expression. In the case of [[Operators without parameters]], that expression is empty, as with the filter Operator <<.olink links>> in `[<currentTiddler>links[]]`.""">>
|
||||
|
||||
---
|
||||
|
||||
<<.from-version "5.1.23">> [[Filter Step]]s support multiple parameters which are separated by a `,` character.
|
||||
|
||||
@@ -4,7 +4,7 @@ tags: [[Filter Run Prefix]]
|
||||
title: Named Filter Run Prefix
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
In <<.from-version "5.1.23">> the named filter run prefixes where implemented. `:cascade`, `:map` and `:sort` have been added later as shown in the diagrams.
|
||||
In <<.from-version "5.1.23">> the named filter run prefixes were implemented. `:cascade`, `:map` and `:sort` have been added later as shown in the diagrams.
|
||||
|
||||
A named filter run prefix can precede any [[run|Filter Run]] of a [[filter expression|Filter Expression]] in place of a [[shortcut run prefix|Shortcut Filter Run Prefix]].
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
caption: unique
|
||||
created: 20240709151018238
|
||||
modified: 20240709151336906
|
||||
op-input: a list of items
|
||||
op-output: a list of unique items
|
||||
op-parameter: ignored
|
||||
@@ -7,4 +9,6 @@ tags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]
|
||||
title: unique Operator
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
<<.note """Unlike the default <<.link "Dominant Append" "Dominant Append">> handling of duplication, the effect of <<.op unique>> is to retain only the <<.em earliest>> instance among duplicated values.""">>
|
||||
|
||||
<<.operator-examples "unique">>
|
||||
|
||||
@@ -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?]]
|
||||
modified: 20231223102201587
|
||||
modified: 20240710115948992
|
||||
tags: TableOfContents
|
||||
title: HelloThere
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 80 KiB |
@@ -1,6 +1,6 @@
|
||||
caption: tabs
|
||||
created: 20131228162203521
|
||||
modified: 20210721122823354
|
||||
modified: 20240627201724476
|
||||
tags: Macros [[Core Macros]]
|
||||
title: tabs Macro
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -34,7 +34,7 @@ By default the tabs are arranged horizontally above the content. To get vertical
|
||||
|
||||
Within the template, the title of the selected tab is available in the <<.var currentTab>> variable.
|
||||
|
||||
The <<.vlink currentTiddler>> variable is not affected by the <<.var tabs>> macro. This can put you in trouble if the list of tabs includes tiddlers that depend on the value of the <<.vlink currentTiddler>>, for example tiddlers listing children based on its own name. To overcome this problem you can use a [[TemplateTiddler|TemplateTiddlers]] like the following:
|
||||
The <<.vlink currentTiddler>> variable is not affected by the <<.var tabs>> macro. This can put you in trouble if the list of tabs includes tiddlers that depend on the value of the <<.vlink currentTiddler>>, for example tiddlers listing children based on its own name. To overcome this problem you can make use of the <<.vlink currentTab>> variable, which can be used in a [[TemplateTiddler|TemplateTiddlers]] such as the following:
|
||||
|
||||
```
|
||||
<$tiddler tiddler=<<currentTab>>>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
caption: tag-picker
|
||||
created: 20161128191316701
|
||||
modified: 20230616114543787
|
||||
modified: 20240708175550512
|
||||
tags: Macros [[Core Macros]]
|
||||
title: tag-picker Macro
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -19,7 +19,8 @@ The <<.def tag-picker>> [[macro|Macros]] generates a combination of a text box a
|
||||
: <<.from-version 5.3.4>> Defines the target tiddler, which should be manipulated. Defaults to: <<.var currentTiddler>>.
|
||||
|
||||
; tagListFilter
|
||||
: <<.from-version 5.3.4>> This parameter defaults to: `[tags[]]` which creates a list of all existing tags. If the tag list should come from a different source the filter should look similar to eg: `[<listSource>get[field-name]enlist-input[]]`.
|
||||
: <<.from-version 5.3.4>> This parameter defaults to: `[tags[]]` which creates a list of all existing tags. If the tag list should come from a different source the filter should look similar to eg: `[<listSource>get[field-name]enlist-input[]]`. See examples.
|
||||
: <<.from-version 5.3.5>> This parameter defaults to: `[tags[]sort[]]`. This change allows a custom sort order, since `sort[]` is not hardcoded into the tag-picker macro anymore.
|
||||
|
||||
|
||||
<<.macro-examples "tag-picker">>
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
caption: 5.3.4
|
||||
created: 20240529100240232
|
||||
modified: 20240529100240232
|
||||
created: 20240627165458407
|
||||
description: Testcase Widget, Tour Plugin, Geospatial Plugin, transcludes- backtranscludes operators, ...
|
||||
modified: 20240628132840367
|
||||
released: 20240627165458407
|
||||
tags: ReleaseNotes
|
||||
title: Release 5.3.4
|
||||
type: text/vnd.tiddlywiki
|
||||
description: Under development
|
||||
|
||||
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.3...master]]//
|
||||
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.3...v5.3.4]]//
|
||||
|
||||
<<.banner-credits
|
||||
credit:"""Congratulations to [[duarte.framos|https://talk.tiddlywiki.org/u/duarte.framos]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-4/9940]]).
|
||||
"""
|
||||
url:"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/05792a9de331dc31b5016c2029a43977114eb018/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png"
|
||||
>>
|
||||
|
||||
! Major Improvements
|
||||
|
||||
@@ -14,7 +21,7 @@ description: Under development
|
||||
|
||||
<<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7734">> several new features that together allow interactive learning tours to be created and presented in TiddlyWiki.
|
||||
|
||||
The demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/prerelease/tour
|
||||
The demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/tour
|
||||
|
||||
The new features include:
|
||||
|
||||
@@ -34,7 +41,7 @@ The Geospatial Plugin incorporates a number of third party libraries and online
|
||||
* [[Flickr|https://www.flickr.com/services/api/]], a free API for retrieving geotagged photographs
|
||||
* [[OpenLocationCode|https://github.com/google/open-location-code]], Google's open source library for converting to and from Open Location Codes (also known as [[PlusCodes|https://maps.google.com/pluscodes/]])
|
||||
|
||||
Try it out at https://tiddlywiki.com/prerelease/plugins/tiddlywiki/geospatial/
|
||||
Try it out at https://tiddlywiki.com/plugins/tiddlywiki/geospatial/
|
||||
|
||||
!! <<.wlink TestCaseWidget>> Widget
|
||||
|
||||
@@ -48,7 +55,7 @@ Test cases can also specify the raw HTML of the expected result which causes the
|
||||
|
||||
<<testcase "TestCases/TestCaseWidget/FailingTest">>
|
||||
|
||||
The easiest way to use the <<.wlink TestCaseWidget>> is by creating TestCaseTiddlers using the new CompoundTiddlers format. There are also many test cases to view in the TiddlyWiki test edition at https://tiddlywiki.com/prerelease/test.html
|
||||
The easiest way to use the <<.wlink TestCaseWidget>> is by creating TestCaseTiddlers using the new CompoundTiddlers format. There are also many test cases to view in the TiddlyWiki test edition at https://tiddlywiki.com/test.html
|
||||
|
||||
! Translation improvements
|
||||
|
||||
@@ -120,20 +127,12 @@ This release also includes improvements to the following translations:
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/8237">> server header authentication when header is missing
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/issues/8253">> ButtonWidget should refresh when "tooltip" attribute changes
|
||||
|
||||
! Performance Improvements
|
||||
|
||||
*
|
||||
|
||||
! Developer Improvements
|
||||
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8195">> issue with fakedom TW_Node inheritence
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8099">> SJCL library creating variables in global scope
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8179">> `widget.getVariableInfo()` to always return a `params` property
|
||||
|
||||
! Infrastructure Improvements
|
||||
|
||||
*
|
||||
|
||||
! Acknowledgements
|
||||
|
||||
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
|
||||
49
editions/tw5.com/tiddlers/releasenotes/Release 5.3.5.tid
Normal file
49
editions/tw5.com/tiddlers/releasenotes/Release 5.3.5.tid
Normal file
@@ -0,0 +1,49 @@
|
||||
caption: 5.3.5
|
||||
created: 20240710115948992
|
||||
modified: 20240710115948992
|
||||
tags: ReleaseNotes
|
||||
title: Release 5.3.5
|
||||
type: text/vnd.tiddlywiki
|
||||
description: Under development
|
||||
|
||||
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.4...v5.3.5]]//
|
||||
|
||||
<<.banner-credits
|
||||
credit:"""Congratulations to [[duarte.framos|https://talk.tiddlywiki.org/u/duarte.framos]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-4/9940]]).
|
||||
"""
|
||||
url:"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/a9b6de8c35f0789a27a36218e8422bb11066f115/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png"
|
||||
>>
|
||||
|
||||
This is a bug fix release to address a number of bugs that were introduced with [[Release 5.3.4]].
|
||||
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8327">> backwards compatibility issues with [[colour Macro]] as a procedure
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8322">> typo extra "tags: "
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8332">> adding fields without clicking the "add" button
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8317">> stability badges colors in the Gruvbox, Nord and Solarized palettes
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8333">> crash with DataWidget if `$filter` attribute specifies a missing tiddler
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/6554b5c9f4f6888f0c25c833b775c3a74ea15531">> reapplies [[#8246 Link to correct plugin instructions for Node.js|https://github.com/Jermolene/TiddlyWiki5/pull/8246]] which had accidentally been reverted
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/d2c2ada33ccd3d73d39d8c0461f327e4dee68234">> tour display in "zoomin" storyview
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/8f1792df2059378db0f038c563551373e5d95fbe">> test case import icon
|
||||
* <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/8354">> crash when editing JSON text of a plugin tiddler
|
||||
|
||||
! Acknowledgements for v5.3.5
|
||||
|
||||
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
|
||||
|
||||
<<.contributors """
|
||||
andrewgoz
|
||||
btheado
|
||||
Leilei332
|
||||
michaeljmcd
|
||||
oeyoews
|
||||
pmario
|
||||
springerspandrel
|
||||
""">>
|
||||
|
||||
---
|
||||
|
||||
! Release Note for v5.3.4
|
||||
|
||||
Since v5.3.5 replaces v5.3.4 after only a couple of weeks, here is the release note for v5.3.4.
|
||||
|
||||
{{Release 5.3.4}}
|
||||
@@ -75,7 +75,7 @@ type: text/vnd.tiddlywiki
|
||||
<tr>
|
||||
<th><<id>></th>
|
||||
<td><$codeblock code=<<code>>/></td>
|
||||
<td><<code>></td>
|
||||
<td><$transclude $variable="code" $mode="block"/></td>
|
||||
</tr>
|
||||
\end
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
created: 20230616104546608
|
||||
modified: 20240214174032498
|
||||
modified: 20240708132312901
|
||||
tags: [[tag-picker Macro]] [[Macro Examples]]
|
||||
title: tag-picker Macro (Examples)
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
<<.warning """The first example will set the tag of the <<.tid currentTiddler>> so you should copy / paste it to a new tiddler for testing. Otherwise you'll change "this tiddler" """>>
|
||||
<<.warning """The first example will add tags to the <<.tid currentTiddler>> so you should copy / paste it to a new tiddler for testing. Otherwise you'll change "this tiddler" """>>
|
||||
|
||||
<$macrocall $name=".example" n="1"
|
||||
eg="""Use all existing tags and set the ''tags'' field here: <<tag-picker>>
|
||||
<$transclude $variable=".example" n="1"
|
||||
eg="""Add tags to this tiddler's ''tags'' field (selecting from a list of all tags): <<tag-picker>>
|
||||
"""/>
|
||||
|
||||
----
|
||||
@@ -17,41 +17,41 @@ eg="""Use all existing tags and set the ''tags'' field here: <<tag-picker>>
|
||||
<<.tip """The following examples use a temporary tiddler: $:/temp/test/tag-picker. So this tiddler will not be changed """>>
|
||||
|
||||
|
||||
<$macrocall $name=".example" n="2"
|
||||
<$transclude $variable=".example" n="2"
|
||||
eg="""$:/temp/test/tag-picker ''tags'': <$text text={{{ [[$:/temp/test/tag-picker]get[tags]enlist-input[]join[, ]else[n/a]] }}}/>
|
||||
|
||||
Use all existing tags and set the $:/temp/test/tag-picker ''tags'' field: <<tag-picker tiddler:"$:/temp/test/tag-picker">>
|
||||
Add tags to the $:/temp/test/tag-picker ''tags'' field (selecting from a list of all tags): <<tag-picker tiddler:"$:/temp/test/tag-picker">>
|
||||
"""/>
|
||||
|
||||
----
|
||||
|
||||
<<.tip """Use the following example to populate the $:/temp/test/tag-picker ''foo''-field, which are needed by some examples below """>>
|
||||
|
||||
<$macrocall $name=".example" n="3"
|
||||
<$transclude $variable=".example" n="3"
|
||||
eg="""$:/temp/test/tag-picker ''foo'': <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/>
|
||||
|
||||
Use all existing tags and set the $:/temp/test/tag-picker ''foo'' field: <<tag-picker tagField:"foo" tiddler:"$:/temp/test/tag-picker">>
|
||||
Add tags to the $:/temp/test/tag-picker ''foo'' field (selecting from a list of all tags): <<tag-picker tagField:"foo" tiddler:"$:/temp/test/tag-picker">>
|
||||
"""/>
|
||||
|
||||
----
|
||||
|
||||
<<.tip """The following example expects some values in the "foo" field of the tiddler $:/temp/test/tag-picker, which can be created by the example above.""">>
|
||||
|
||||
<$macrocall $name=".example" n="4" eg="""\procedure listSource() $:/temp/test/tag-picker
|
||||
<$transclude $variable=".example" n="4" eg="""\procedure listSource() $:/temp/test/tag-picker
|
||||
|
||||
$:/temp/test/tag-picker foo: <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/><br>
|
||||
$:/temp/test/tag-picker bar: <$text text={{{ [[$:/temp/test/tag-picker]get[bar]enlist-input[]join[, ]else[n/a]] }}}/>
|
||||
|
||||
Use $:/temp/test/tag-picker ''foo'' field as source and set ''bar'': <<tag-picker tagField:"bar" tagListFilter:"[<listSource>get[foo]enlist-input[]]" tiddler:"$:/temp/test/tag-picker">>
|
||||
Add tags to the ''bar'' field, selecting from values in ''foo'' field of $:/temp/test/tag-picker: <<tag-picker tagField:"bar" tagListFilter:"[<listSource>get[foo]enlist-input[]]" tiddler:"$:/temp/test/tag-picker">>
|
||||
"""/>
|
||||
|
||||
----
|
||||
|
||||
<<.tip """The following example expects some values in the "foo" field of the tiddler $:/temp/test/tag-picker, which can be created by the example above.<br>
|
||||
It will also add completely new tags to the bar-field and the source tiddlers foo-field. New tags can be entered by typing into the tag-name input
|
||||
It will also add completely new tags to the bar-field and the source tiddler‘s foo-field. New tags can be entered by typing into the tag-name input
|
||||
""">>
|
||||
|
||||
<$macrocall $name=".example" n="5" eg="""
|
||||
<$transclude $variable=".example" n="5" eg="""
|
||||
\procedure listSource() $:/temp/test/tag-picker
|
||||
\procedure listSourceField() foo
|
||||
|
||||
@@ -62,7 +62,7 @@ It will also add completely new tags to the bar-field and the source tiddlers fo
|
||||
$:/temp/test/tag-picker foo: <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/><br>
|
||||
$:/temp/test/tag-picker ''bar'': <$text text={{{ [[$:/temp/test/tag-picker]get[bar]enlist-input[]join[, ]else[n/a]] }}}/>
|
||||
|
||||
Use $:/temp/test/tag-picker ''foo'' field as source and set ''bar'': <$macrocall $name="tag-picker" tagField="bar" tagListFilter="[<listSource>get<listSourceField>enlist-input[]]" tiddler="$:/temp/test/tag-picker" actions=<<addNewTagToSource>>/>
|
||||
Add tags to ''bar'' field, selecting from values in ''foo'' field of $:/temp/test/tag-picker: <$macrocall $name="tag-picker" tagField="bar" tagListFilter="[<listSource>get<listSourceField>enlist-input[]]" tiddler="$:/temp/test/tag-picker" actions=<<addNewTagToSource>>/>
|
||||
|
||||
"""/>
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
title: TestCases/DataWidget/FilterMissingTiddler
|
||||
type: text/vnd.tiddlywiki-multiple
|
||||
tags: [[$:/tags/wiki-test-spec]]
|
||||
description: Filter returns title of missing tiddler
|
||||
display-format: plaintext
|
||||
|
||||
title: Narrative
|
||||
|
||||
When the $filter attribute of the data widget returns the title of a missing tiddler, no tiddler should be added to the output array of tiddlers.
|
||||
+
|
||||
title: Output
|
||||
|
||||
<$data $filter="missing"/>
|
||||
+
|
||||
title: ExpectedResult
|
||||
|
||||
<p>[]</p>
|
||||
@@ -5,7 +5,7 @@ description: An example of a failing test
|
||||
|
||||
title: Narrative
|
||||
|
||||
This test case intentionally fails (in order to show how failures are displayed)
|
||||
This test case intentionally fails (in order to show how failures are displayed). The expected result is set to <code><$text text={{ExpectedResult}}/></code>, but the result computes to <code><$wikify name="html" text={{Output}} mode="block" output="html"><$text text=<<html>>/></$wikify></code>
|
||||
+
|
||||
title: Output
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
caption: edit-text
|
||||
created: 20131024141900000
|
||||
modified: 20230122210049893
|
||||
heading:
|
||||
modified: 20240627184331133
|
||||
tags: Widgets
|
||||
temp:
|
||||
title: EditTextWidget
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
@@ -66,3 +68,18 @@ Provide a dated heading for this example where only the placeholder (but not the
|
||||
<$macrocall $name=".example" n="3"
|
||||
eg="""<$edit-text tiddler=<<currentTiddler>> field="heading" size="25" focus="yes" focusSelectFromEnd="13" default={{{ [[Heading Text (]] [<now YYYY-0MM-0DD>] [[)]] +[join[]] }}} />
|
||||
"""/>
|
||||
|
||||
!!! Input Actions, with class attribute
|
||||
|
||||
<$macrocall $name=".example" n="4"
|
||||
eg="""\procedure onInput()
|
||||
<%if [get[temp]match[$:/]] %>
|
||||
<$action-confirm $message="Yes, this is how system tiddler names begin!"/>
|
||||
<% endif %>
|
||||
\end
|
||||
|
||||
Type a new tiddler name, starting with the system prefix `$:/`: <$edit-text inputActions=<<onInput>> field="temp" class="tc-edit-texteditor"/>
|
||||
|
||||
"""/>
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
caption: edit
|
||||
created: 20131024141900000
|
||||
modified: 20211009121634055
|
||||
modified: 20240627220419761
|
||||
tags: Widgets TriggeringWidgets
|
||||
title: EditWidget
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -24,3 +24,16 @@ The content of the `<$edit>` widget is ignored.
|
||||
|inputActions |<<.from-version 5.1.23>> Optional actions that are triggered every time an input event occurs within the input field or textarea |
|
||||
|refreshTitle |<<.from-version 5.1.23>> An optional tiddler title that makes the input field update whenever the specified tiddler changes |
|
||||
|
||||
! Examples
|
||||
|
||||
!! Edit the contents (text field) of a tiddler titled <%if [<now YYYY-0MM-0DD>is[tiddler]] %> <$tiddler tiddler=<<now YYYY-0MM-0DD>> > <$link/></$tiddler> <%else %> with today’s date <% endif %>
|
||||
|
||||
<$macrocall $name=".example" n="1"
|
||||
eg="""<$edit tiddler=<<now YYYY-0MM-0DD>> class="tc-edit-texteditor"/>
|
||||
"""/>
|
||||
|
||||
!! Edit $:/status/UserName with single-line input box, have browser offer autocomplete for email
|
||||
|
||||
<$macrocall $name=".example" n="2"
|
||||
eg="""<$edit-text tiddler="$:/status/UserName" tag="input" size=40 autocomplete="email"/>
|
||||
"""/>
|
||||
@@ -23,6 +23,11 @@ Notice also that clicking on links within the output pane will switch to the tab
|
||||
|
||||
The text of the payload tiddlers listed on the left are editable, with the results being immediately reflected in the preview pane on the right. However, if the <<.wid testcase>> widget is refreshed then the modifications are lost.
|
||||
|
||||
There is a dropdown menu at the top right of the menu that has two options:
|
||||
|
||||
* Export the payload tiddlers to a file in the usual export formats
|
||||
* Import the payload tiddlers into the host wiki. This option loads the payload tiddlers into the $:/Import tiddler so that they can be renamed and/or individually selected
|
||||
|
||||
The green tick at the top left of a test case indicates that a test has been set up and that it passes.
|
||||
|
||||
If the test fails, a red cross is shown, and there is a display of the differences between the actual results and the expected results:
|
||||
|
||||
@@ -48,7 +48,7 @@ Here's an example the other way around, with numbers as the first level:
|
||||
You can also assign a CSS class to an individual member of a list with this notation:
|
||||
|
||||
<<wikitext-example src:"* List One
|
||||
*.MyClass List Two
|
||||
*.tc-muted List Two
|
||||
* List Three
|
||||
">>
|
||||
|
||||
|
||||
@@ -104,6 +104,8 @@ ShowSideBar/Caption: Sidebar einblenden
|
||||
ShowSideBar/Hint: Sidebar einblenden
|
||||
TagManager/Caption: Tag-Manager
|
||||
TagManager/Hint: Öffne den Tag-Manager
|
||||
TestCaseImport/Caption: importiere Tiddler
|
||||
TestCaseImport/Hint: Importiere im Test enthaltene Tiddler
|
||||
Timestamp/Caption: Zeitstempel
|
||||
Timestamp/Hint: Einstellung, ob Änderungen den Zeitstempel beeinflussen
|
||||
Timestamp/On/Caption: Zeitstempel EIN
|
||||
|
||||
@@ -104,6 +104,8 @@ ShowSideBar/Caption: 显示侧边栏
|
||||
ShowSideBar/Hint: 显示侧边栏
|
||||
TagManager/Caption: 标签管理
|
||||
TagManager/Hint: 标签管理
|
||||
TestCaseImport/Caption: 导入条目
|
||||
TestCaseImport/Hint: 导入条目
|
||||
Timestamp/Caption: 时间戳
|
||||
Timestamp/Hint: 选择修改是否更新时间戳
|
||||
Timestamp/On/Caption: 时间戳开启
|
||||
|
||||
@@ -104,6 +104,8 @@ ShowSideBar/Caption: 顯示側邊欄
|
||||
ShowSideBar/Hint: 顯示側邊欄
|
||||
TagManager/Caption: 標籤管理
|
||||
TagManager/Hint: 標籤管理
|
||||
TestCaseImport/Caption: 導入條目
|
||||
TestCaseImport/Hint: 導入條目
|
||||
Timestamp/Caption: 時間戳記
|
||||
Timestamp/Hint: 選擇修改是否更新時間戳記
|
||||
Timestamp/On/Caption: 時間戳記開啟
|
||||
|
||||
@@ -573,3 +573,11 @@ Anders Jarmund, @andjar, 2024/04/05
|
||||
Fokzo Kat, @CyberFoxar, 2024/05/20
|
||||
|
||||
Andrei Rybak, @rybak, 2024/06/09
|
||||
|
||||
@Leilei332, 2024/06/28
|
||||
|
||||
@springerspandrel, 2024/06/27
|
||||
|
||||
@andrewgoz, 2024/07/10
|
||||
|
||||
Michael McDermott, @michaeljmcd, 2024-07-09
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "tiddlywiki",
|
||||
"preferGlobal": "true",
|
||||
"version": "5.3.4-prerelease",
|
||||
"version": "5.3.5",
|
||||
"author": "Jeremy Ruston <jeremy@jermolene.com>",
|
||||
"description": "a non-linear personal web notebook",
|
||||
"contributors": [
|
||||
|
||||
@@ -4,4 +4,4 @@ url: https://tiddlywiki.com/library/v5.1.23/index.html
|
||||
caption: {{$:/language/OfficialPluginLibrary}}
|
||||
enabled: no
|
||||
|
||||
The official plugin library is disabled when using the client-server configuration. Instead, plugins should be installed via the `tiddlywiki.info` file, as described [[here|https://tiddlywiki.com/#Installing%20a%20plugin%20from%20the%20plugin%20library]].
|
||||
The official plugin library is disabled when using the client-server configuration. Instead, plugins should be installed via the `tiddlywiki.info` file, as described [[here|https://tiddlywiki.com/#Installing%20official%20plugins%20on%20Node.js]].
|
||||
@@ -149,6 +149,7 @@ tags: $:/tags/Stylesheet
|
||||
}
|
||||
|
||||
.tc-tour-panel .tc-tour-panel-inner .tc-tiddler-frame {
|
||||
position: static;
|
||||
width: auto;
|
||||
padding: 1.5em 2.5em;
|
||||
}
|
||||
|
||||
12
readme.md
12
readme.md
@@ -1,7 +1,7 @@
|
||||
<p>Welcome to <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a>, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.</p><p><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> is a complete interactive wiki in <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/JavaScript.html">JavaScript</a>. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/WikiText.html">WikiText</a>.</p><p>Learn more and see it in action at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/</a></p><p>Developer documentation is in progress at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/dev/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/dev/</a></p><h1 class="">Join the Community</h1><p>
|
||||
<h2 class="">Official Forums</h2><p>The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.</p><p><a class="tc-tiddlylink-external" href="https://talk.tiddlywiki.org/" rel="noopener noreferrer" target="_blank">https://talk.tiddlywiki.org/</a></p><p>Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.</p><p>For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):</p><p><a class="tc-tiddlylink-external" href="https://groups.google.com/group/TiddlyWiki" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/TiddlyWiki</a></p><h2 class="">Developer Forums</h2><p>There are several resources for developers to learn more about <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> and to discuss and contribute to its development.</p><ul><li><a class="tc-tiddlylink-external" href="https://tiddlywiki.com/dev" rel="noopener noreferrer" target="_blank">tiddlywiki.com/dev</a> is the official developer documentation</li><li>Get involved in the <a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5" rel="noopener noreferrer" target="_blank">development on GitHub</a><ul><li><a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/discussions" rel="noopener noreferrer" target="_blank">Discussions</a> are for Q&A and open-ended discussion</li><li><a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/issues" rel="noopener noreferrer" target="_blank">Issues</a> are for raising bug reports and proposing specific, actionable new ideas</li></ul></li><li>The older TiddlyWikiDev Google Group is now closed in favour of <a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/discussions" rel="noopener noreferrer" target="_blank">GitHub Discussions</a> but remains a useful archive: <a class="tc-tiddlylink-external" href="https://groups.google.com/group/TiddlyWikiDev" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/TiddlyWikiDev</a><ul><li>An enhanced group search facility is available on <a class="tc-tiddlylink-external" href="https://www.mail-archive.com/tiddlywikidev@googlegroups.com/" rel="noopener noreferrer" target="_blank">mail-archive.com</a></li></ul></li><li>Follow <a class="tc-tiddlylink-external" href="http://twitter.com/#!/TiddlyWiki" rel="noopener noreferrer" target="_blank">@TiddlyWiki on Twitter</a> for the latest news</li><li>Chat at <a class="tc-tiddlylink-external" href="https://gitter.im/TiddlyWiki/public" rel="noopener noreferrer" target="_blank">https://gitter.im/TiddlyWiki/public</a> (development room coming soon)</li></ul><h2 class="">Other Forums</h2><ul><li><a class="tc-tiddlylink-external" href="https://www.reddit.com/r/TiddlyWiki5/" rel="noopener noreferrer" target="_blank">TiddlyWiki Subreddit</a></li><li>Chat with Gitter at <a class="tc-tiddlylink-external" href="https://gitter.im/TiddlyWiki/public" rel="noopener noreferrer" target="_blank">https://gitter.im/TiddlyWiki/public</a> !</li><li>Chat on Discord at <a class="tc-tiddlylink-external" href="https://discord.gg/HFFZVQ8" rel="noopener noreferrer" target="_blank">https://discord.gg/HFFZVQ8</a></li></ul><h3 class="">Documentation</h3><p>There is also a discussion group specifically for discussing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> documentation improvement initiatives: <a class="tc-tiddlylink-external" href="https://groups.google.com/group/tiddlywikidocs" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/tiddlywikidocs</a>
|
||||
<h2 class="">Official Forums</h2><p>The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.</p><p><a class="tc-tiddlylink-external" href="https://talk.tiddlywiki.org/" rel="noopener noreferrer" target="_blank">https://talk.tiddlywiki.org/</a></p><p>Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.</p><p>For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):</p><p><a class="tc-tiddlylink-external" href="https://groups.google.com/group/TiddlyWiki" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/TiddlyWiki</a></p><h2 class="">Developer Forums</h2><p>There are several resources for developers to learn more about <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> and to discuss and contribute to its development.</p><ul><li><a class="tc-tiddlylink-external" href="https://tiddlywiki.com/dev" rel="noopener noreferrer" target="_blank">tiddlywiki.com/dev</a> is the official developer documentation</li><li>Get involved in the <a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5" rel="noopener noreferrer" target="_blank">development on GitHub</a><ul><li><img class=" tc-image-loading" src="https://repobeats.axiom.co/api/embed/5a3bb51fd1ebe84a2da5548f78d2d74e456cebf3.svg"></li><li><a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/discussions" rel="noopener noreferrer" target="_blank">Discussions</a> are for Q&A and open-ended discussion</li><li><a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/issues" rel="noopener noreferrer" target="_blank">Issues</a> are for raising bug reports and proposing specific, actionable new ideas</li></ul></li><li>The older TiddlyWikiDev Google Group is now closed in favour of <a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/discussions" rel="noopener noreferrer" target="_blank">GitHub Discussions</a> but remains a useful archive: <a class="tc-tiddlylink-external" href="https://groups.google.com/group/TiddlyWikiDev" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/TiddlyWikiDev</a><ul><li>An enhanced group search facility is available on <a class="tc-tiddlylink-external" href="https://www.mail-archive.com/tiddlywikidev@googlegroups.com/" rel="noopener noreferrer" target="_blank">mail-archive.com</a></li></ul></li><li>Follow <a class="tc-tiddlylink-external" href="http://twitter.com/#!/TiddlyWiki" rel="noopener noreferrer" target="_blank">@TiddlyWiki on Twitter</a> for the latest news</li><li>Chat at <a class="tc-tiddlylink-external" href="https://gitter.im/TiddlyWiki/public" rel="noopener noreferrer" target="_blank">https://gitter.im/TiddlyWiki/public</a> (development room coming soon)</li></ul><h2 class="">Other Forums</h2><ul><li><a class="tc-tiddlylink-external" href="https://www.reddit.com/r/TiddlyWiki5/" rel="noopener noreferrer" target="_blank">TiddlyWiki Subreddit</a></li><li>Chat with Gitter at <a class="tc-tiddlylink-external" href="https://gitter.im/TiddlyWiki/public" rel="noopener noreferrer" target="_blank">https://gitter.im/TiddlyWiki/public</a> !</li><li>Chat on Discord at <a class="tc-tiddlylink-external" href="https://discord.gg/HFFZVQ8" rel="noopener noreferrer" target="_blank">https://discord.gg/HFFZVQ8</a></li></ul><h3 class="">Documentation</h3><p>There is also a discussion group specifically for discussing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> documentation improvement initiatives: <a class="tc-tiddlylink-external" href="https://groups.google.com/group/tiddlywikidocs" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/tiddlywikidocs</a>
|
||||
</p>
|
||||
</p><h1 class="">Installing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><ol><li>Install <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Node.js.html">Node.js</a><ul><li>Linux: <blockquote><div><em>Debian/Ubuntu</em>:<br><code>apt install nodejs</code><br>May need to be followed up by:<br><code>apt install npm</code></div><div><em>Arch Linux</em><br><code>yay -S tiddlywiki</code> <br>(installs node and tiddlywiki)</div></blockquote></li><li>Mac<blockquote><div><code>brew install node</code></div></blockquote></li><li>Android<blockquote><div><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html">Termux for Android</a></div></blockquote></li><li>Other <blockquote><div>See <a class="tc-tiddlylink-external" href="http://nodejs.org" rel="noopener noreferrer" target="_blank">http://nodejs.org</a></div></blockquote></li></ul></li><li>Open a command line terminal and type:<blockquote><div><code>npm install -g tiddlywiki</code></div><div>If it fails with an error you may need to re-run the command as an administrator:</div><div><code>sudo npm install -g tiddlywiki</code> (Mac/Linux)</div></blockquote></li><li>Ensure TiddlyWiki is installed by typing:<blockquote><div><code>tiddlywiki --version</code></div></blockquote><ul><li>In response, you should see <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> report its current version (eg "5.3.3". You may also see other debugging information reported.)</li></ul></li><li>Try it out:<ol><li><code>tiddlywiki mynewwiki --init server</code> to create a folder for a new wiki that includes server-related components</li><li><code>tiddlywiki mynewwiki --listen</code> to start <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a></li><li>Visit <a class="tc-tiddlylink-external" href="http://127.0.0.1:8080/" rel="noopener noreferrer" target="_blank">http://127.0.0.1:8080/</a> in your browser</li><li>Try editing and creating tiddlers</li></ol></li><li>Optionally, make an offline copy:<ul><li>click the <span class="doc-icon"><svg class="tc-image-save-button-dynamic tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt">
|
||||
</p><h1 class="">Installing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><ol><li>Install <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Node.js.html">Node.js</a><ul><li>Linux: <blockquote><div><em>Debian/Ubuntu</em>:<br><code>apt install nodejs</code><br>May need to be followed up by:<br><code>apt install npm</code></div><div><em>Arch Linux</em><br><code>yay -S tiddlywiki</code> <br>(installs node and tiddlywiki)</div></blockquote></li><li>Mac<blockquote><div><code>brew install node</code></div></blockquote></li><li>Android<blockquote><div><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html">Termux for Android</a></div></blockquote></li><li>Other <blockquote><div>See <a class="tc-tiddlylink-external" href="http://nodejs.org" rel="noopener noreferrer" target="_blank">http://nodejs.org</a></div></blockquote></li></ul></li><li>Open a command line terminal and type:<blockquote><div><code>npm install -g tiddlywiki</code></div><div>If it fails with an error you may need to re-run the command as an administrator:</div><div><code>sudo npm install -g tiddlywiki</code> (Mac/Linux)</div></blockquote></li><li>Ensure TiddlyWiki is installed by typing:<blockquote><div><code>tiddlywiki --version</code></div></blockquote><ul><li>In response, you should see <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> report its current version (eg "5.3.5". You may also see other debugging information reported.)</li></ul></li><li>Try it out:<ol><li><code>tiddlywiki mynewwiki --init server</code> to create a folder for a new wiki that includes server-related components</li><li><code>tiddlywiki mynewwiki --listen</code> to start <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a></li><li>Visit <a class="tc-tiddlylink-external" href="http://127.0.0.1:8080/" rel="noopener noreferrer" target="_blank">http://127.0.0.1:8080/</a> in your browser</li><li>Try editing and creating tiddlers</li></ol></li><li>Optionally, make an offline copy:<ul><li>click the <span class="doc-icon"><svg class="tc-image-save-button-dynamic tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt">
|
||||
<g class="tc-image-save-button-dynamic-clean">
|
||||
<path d="M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z" fill-rule="evenodd"></path>
|
||||
</g>
|
||||
@@ -9,10 +9,10 @@
|
||||
<path d="M64.856912,0 C100.203136,0 128.856912,28.653776 128.856912,64 C128.856912,99.346224 100.203136,128 64.856912,128 C29.510688,128 0.856911958,99.346224 0.856911958,64 C0.856911958,28.653776 29.510688,0 64.856912,0 Z M64.856912,16 C38.347244,16 16.856912,37.490332 16.856912,64 C16.856912,90.509668 38.347244,112 64.856912,112 C91.3665799,112 112.856912,90.509668 112.856912,64 C112.856912,37.490332 91.3665799,16 64.856912,16 Z"></path>
|
||||
<circle cx="65" cy="64" r="32"></circle>
|
||||
</g>
|
||||
</svg></span> <strong>save changes</strong> button in the sidebar, <strong>OR</strong></li><li><code>tiddlywiki mynewwiki --build index</code></li></ul></li></ol><p>The <code>-g</code> flag causes <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> to be installed globally. Without it, <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> will only be available in the directory where you installed it.</p><p><div class="doc-icon-block"><div class="doc-block-icon"><svg class="tc-image-warning tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><path d="M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z" fill-rule="evenodd"></path></svg></div> If you are using Debian or Debian-based Linux and you are receiving a <code>node: command not found</code> error though node.js package is installed, you may need to create a symbolic link between <code>nodejs</code> and <code>node</code>. Consult your distro's manual and <code>whereis</code> to correctly create a link. See github <a class="tc-tiddlylink-external" href="http://github.com/Jermolene/TiddlyWiki5/issues/1434" rel="noopener noreferrer" target="_blank">issue 1434</a>. <br><br>Example Debian v8.0: <code>sudo ln -s /usr/bin/nodejs /usr/bin/node</code></div></p><p><br>
|
||||
<div class="doc-icon-block"><div class="doc-block-icon"><svg class="tc-image-tip tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><path d="M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z" fill-rule="evenodd"></path></svg></div> You can also install prior versions like this: <br><code> npm install -g tiddlywiki@5.1.13</code></div>
|
||||
</p><h1 class="">Using <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><p>TiddlyWiki5 includes a set of commands for use on the command line to perform an extensive set of operations based on <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWikiFolders.html">TiddlyWikiFolders</a>, <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlerFiles.html">TiddlerFiles</a>.</p><p>For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML:</p><pre><code>tiddlywiki --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html</code></pre><p>Running <code>tiddlywiki</code> from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.</p><p><a class="tc-tiddlylink tc-tiddlylink-resolves doc-from-version" href="https://tiddlywiki.com/static/Release%25205.1.20.html"><svg class="tc-image-warning tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><path d="M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z" fill-rule="evenodd"></path></svg> New in: 5.1.20</a> First, there can be zero or more plugin references identified by the prefix <code>+</code> for plugin names or <code>++</code> for a path to a plugin folder. These plugins are loaded in addition to any specified in the <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWikiFolders.html">TiddlyWikiFolder</a>.</p><p>The next argument is the optional path to the <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWikiFolders.html">TiddlyWikiFolder</a> to be loaded. If not present, then the current directory is used.</p><p>The commands and their individual arguments follow, each command being identified by the prefix <code>--</code>.</p><pre><code>tiddlywiki [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]]</code></pre><p>For example:</p><pre><code>tiddlywiki --version
|
||||
</svg></span> <strong>save changes</strong> button in the sidebar, <strong>OR</strong></li><li><code>tiddlywiki mynewwiki --build index</code></li></ul></li></ol><p>The <code>-g</code> flag causes <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> to be installed globally. Without it, <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> will only be available in the directory where you installed it.</p><p><div class="doc-icon-block doc-warning"><div><strong>Warning</strong></div><div class="doc-block-icon"><svg class="tc-image-warning tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><path d="M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z" fill-rule="evenodd"></path></svg></div>If you are using Debian or Debian-based Linux and you are receiving a <code>node: command not found</code> error though node.js package is installed, you may need to create a symbolic link between <code>nodejs</code> and <code>node</code>. Consult your distro's manual and <code>whereis</code> to correctly create a link. See github <a class="tc-tiddlylink-external" href="http://github.com/Jermolene/TiddlyWiki5/issues/1434" rel="noopener noreferrer" target="_blank">issue 1434</a>. <br><br>Example Debian v8.0: <code>sudo ln -s /usr/bin/nodejs /usr/bin/node</code></div></p><p><br>
|
||||
<div class="doc-icon-block doc-tip"><div><strong>Tip</strong></div><div class="doc-block-icon"><svg class="tc-image-tip tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><path d="M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z" fill-rule="evenodd"></path></svg></div>You can also install prior versions like this: <br><code> npm install -g tiddlywiki@5.1.13</code></div>
|
||||
</p><h1 class="">Using <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><p>TiddlyWiki5 includes a set of commands for use on the command line to perform an extensive set of operations based on <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWikiFolders.html">TiddlyWikiFolders</a>, <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlerFiles.html">TiddlerFiles</a>.</p><p>For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML:</p><pre><code>tiddlywiki --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html</code></pre><p>Running <code>tiddlywiki</code> from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.</p><p><a class="tc-tiddlylink tc-tiddlylink-resolves doc-from-version" href="https://tiddlywiki.com/static/Release%25205.1.20.html"><span class="tc-tiny-gap-right"><svg class="tc-image-info-button tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><g fill-rule="evenodd" transform="translate(.05)"><path d="M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z"></path><circle cx="64" cy="32" r="8"></circle><rect height="56" rx="8" width="16" x="56" y="48"></rect></g></svg></span>Introduced in v5.1.20</a> First, there can be zero or more plugin references identified by the prefix <code>+</code> for plugin names or <code>++</code> for a path to a plugin folder. These plugins are loaded in addition to any specified in the <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWikiFolders.html">TiddlyWikiFolder</a>.</p><p>The next argument is the optional path to the <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWikiFolders.html">TiddlyWikiFolder</a> to be loaded. If not present, then the current directory is used.</p><p>The commands and their individual arguments follow, each command being identified by the prefix <code>--</code>.</p><pre><code>tiddlywiki [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]]</code></pre><p>For example:</p><pre><code>tiddlywiki --version
|
||||
tiddlywiki +plugins/tiddlywiki/filesystem +plugins/tiddlywiki/tiddlyweb mywiki --listen
|
||||
tiddlywiki ++./mygreatplugin mywiki --listen</code></pre><p><a class="tc-tiddlylink tc-tiddlylink-resolves doc-from-version" href="https://tiddlywiki.com/static/Release%25205.1.18.html"><svg class="tc-image-warning tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><path d="M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z" fill-rule="evenodd"></path></svg> New in: 5.1.18</a> Commands such as the <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/ListenCommand.html">ListenCommand</a> that support large numbers of parameters can use <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/NamedCommandParameters.html">NamedCommandParameters</a> to make things less unwieldy. For example:</p><pre><code>tiddlywiki wikipath --listen username=jeremy port=8090</code></pre><p>See <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Commands.html">Commands</a> for a full listing of the available commands.
|
||||
tiddlywiki ++./mygreatplugin mywiki --listen</code></pre><p><a class="tc-tiddlylink tc-tiddlylink-resolves doc-from-version" href="https://tiddlywiki.com/static/Release%25205.1.18.html"><span class="tc-tiny-gap-right"><svg class="tc-image-info-button tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt"><g fill-rule="evenodd" transform="translate(.05)"><path d="M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z"></path><circle cx="64" cy="32" r="8"></circle><rect height="56" rx="8" width="16" x="56" y="48"></rect></g></svg></span>Introduced in v5.1.18</a> Commands such as the <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/ListenCommand.html">ListenCommand</a> that support large numbers of parameters can use <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/NamedCommandParameters.html">NamedCommandParameters</a> to make things less unwieldy. For example:</p><pre><code>tiddlywiki wikipath --listen username=jeremy port=8090</code></pre><p>See <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Commands.html">Commands</a> for a full listing of the available commands.
|
||||
</p><h1 class="">Upgrading <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><p>If you've installed <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki%2520on%2520Node.js.html">TiddlyWiki on Node.js</a> on the usual way, when a new version is released you can upgrade it with this command:</p><pre><code>npm update -g tiddlywiki</code></pre><p>On Mac or Linux you'll need to add <strong>sudo</strong> like this:</p><pre><code>sudo npm update -g tiddlywiki</code></pre><h1 class="">Also see</h1><p><ul class=""><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Building%2520TiddlyWikiClassic.html">Building TiddlyWikiClassic</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Customising%2520Tiddler%2520File%2520Naming.html">Customising Tiddler File Naming</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Environment%2520Variables%2520on%2520Node.js.html">Environment Variables on Node.js</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Generating%2520Static%2520Sites%2520with%2520TiddlyWiki.html">Generating Static Sites with TiddlyWiki</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/How%2520to%2520build%2520a%2520TiddlyWiki5%2520from%2520individual%2520tiddlers.html">How to build a TiddlyWiki5 from individual tiddlers</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Installing%2520custom%2520plugins%2520on%2520Node.js.html">Installing custom plugins on Node.js</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Installing%2520official%2520plugins%2520on%2520Node.js.html">Installing official plugins on Node.js</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Installing%2520TiddlyWiki%2520on%2520Microsoft%2520Internet%2520Information%2520Server.html">Internet Information Services</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Installing%2520TiddlyWiki%2520Prerelease%2520on%2520Node.js.html">Installing TiddlyWiki Prerelease on Node.js</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/MultiTiddlerFiles.html">MultiTiddlerFiles</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/MultiTiddlerFileSyntax.html">MultiTiddlerFileSyntax</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/NamedCommandParameters.html">NamedCommandParameters</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Scripts%2520for%2520TiddlyWiki%2520on%2520Node.js.html">Scripts for TiddlyWiki on Node.js</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html">Node.js on Termux</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlerFiles.html">TiddlerFiles</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/tiddlywiki.files%2520Files.html">tiddlywiki.files Files</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/tiddlywiki.info%2520Files.html">tiddlywiki.info Files</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWikiFolders.html">TiddlyWikiFolders</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Uninstalling%2520a%2520plugin%2520with%2520Node.js.html">Uninstalling a plugin with Node.js</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Using%2520a%2520custom%2520path%2520prefix%2520with%2520the%2520client-server%2520edition.html">Using a custom path prefix with the client-server edition</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Using%2520TiddlyWiki%2520for%2520GitHub%2520project%2520documentation.html">Using TiddlyWiki for GitHub project documentation</a></li><li><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Working%2520with%2520the%2520TiddlyWiki5%2520repository.html">Working with the TiddlyWiki5 repository</a></li></ul></p><p><em>This readme file was automatically generated by <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a></em>
|
||||
</p>
|
||||
@@ -3264,11 +3264,6 @@ span.tc-translink > a:first-child {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.tc-tiddler-frame .tc-test-case-wrapper {
|
||||
margin-left: -0.5em;
|
||||
margin-right: -0.5em;
|
||||
}
|
||||
|
||||
.tc-test-case-wrapper {
|
||||
background-color: <<colour testcase-accent-level-1>>;
|
||||
}
|
||||
@@ -3297,7 +3292,7 @@ span.tc-translink > a:first-child {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
border-radius: 1em;
|
||||
vertical-align: bottom;
|
||||
vertical-align: text-bottom;
|
||||
margin-right: 0.25em;
|
||||
}
|
||||
|
||||
@@ -3314,6 +3309,12 @@ span.tc-translink > a:first-child {
|
||||
height: 0.5em;
|
||||
}
|
||||
|
||||
.tc-test-case-header > h2 {
|
||||
background: <<colour background>>;
|
||||
border-radius: 4px;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.tc-test-case-header > h2,
|
||||
.tc-test-case-source > pre {
|
||||
margin: 0;
|
||||
@@ -3323,6 +3324,18 @@ span.tc-translink > a:first-child {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.tc-test-case-toolbar {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.tc-test-case-toolbar svg {
|
||||
fill: <<colour tiddler-controls-foreground>>;
|
||||
}
|
||||
|
||||
.tc-test-case-toolbar .tc-drop-down {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.tc-test-case-result-fail {
|
||||
border: 1px solid <<colour foreground>>;
|
||||
background-color: <<colour background>>;
|
||||
@@ -3366,10 +3379,14 @@ span.tc-translink > a:first-child {
|
||||
}
|
||||
|
||||
.tc-test-case-source .tc-tab-content {
|
||||
background: <<colour background>>;
|
||||
background: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.tc-test-case-source .tc-tab-content .tc-field-table {
|
||||
background: <<colour background>>;
|
||||
}
|
||||
|
||||
.tc-test-case-source .tc-field-table {
|
||||
width: 100%;
|
||||
}
|
||||
@@ -3390,11 +3407,16 @@ span.tc-translink > a:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.tc-test-case-footer-toolbar {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.tc-test-case-output {
|
||||
box-shadow: inset 2px 2px 10px 0px <<colour muted-foreground>>;
|
||||
background: <<colour background>>;
|
||||
border-radius: 4px;
|
||||
border: 1px solid <<colour foreground>>;
|
||||
border: 1px solid <<colour muted-foreground>>;
|
||||
flex: 1 0 49%;
|
||||
min-width: 250px;
|
||||
padding: 0.25em 1em;
|
||||
|
||||
Reference in New Issue
Block a user