mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-27 03:57:21 +00:00
Merge branch 'tiddlywiki-com'
This commit is contained in:
commit
53c247b9a1
35
drag-and-drop-interop.html
Normal file
35
drag-and-drop-interop.html
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Drag and Drop Interoperability with TiddlyWiki Demo</title>
|
||||||
|
<style>
|
||||||
|
#draggable {
|
||||||
|
padding: 1em;
|
||||||
|
margin: 1em;
|
||||||
|
background: #ecc;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="draggable" draggable="true">
|
||||||
|
Drag me to a TiddlyWiki window
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var titleString = "This is the string that appears when the block is dragged to a text input";
|
||||||
|
var tiddlerData = [
|
||||||
|
{title: "Tiddler One", text: "This is one of the payload tiddlers"},
|
||||||
|
{title: "Tiddler Two", text: "This is another of the payload tiddlers", "custom-field": "A custom field value"}
|
||||||
|
];
|
||||||
|
|
||||||
|
document.getElementById("draggable").addEventListener("dragstart",function(event) {
|
||||||
|
event.dataTransfer.setData("URL","data:text/vnd.tiddler," + encodeURIComponent(JSON.stringify(tiddlerData)));
|
||||||
|
event.dataTransfer.setData("Text",titleString);
|
||||||
|
event.stopPropagation();
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</html>
|
@ -14,6 +14,7 @@ Welcome to the developer documentation for TiddlyWiki (https://tiddlywiki.com/).
|
|||||||
** HookMechanism
|
** HookMechanism
|
||||||
** [[Using ES2016 for Writing Plugins]]
|
** [[Using ES2016 for Writing Plugins]]
|
||||||
** [[Adding Babel Polyfill to TiddlyWiki]]
|
** [[Adding Babel Polyfill to TiddlyWiki]]
|
||||||
|
** [[TiddlyWiki Drag and Drop Interoperability]]
|
||||||
* The original developer documentation from https://tiddlywiki.com:
|
* The original developer documentation from https://tiddlywiki.com:
|
||||||
** [[TiddlyWiki for Developers]]
|
** [[TiddlyWiki for Developers]]
|
||||||
** [[TiddlyWiki Coding Style Guidelines]]
|
** [[TiddlyWiki Coding Style Guidelines]]
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
title: TiddlyWiki Drag and Drop Interoperability
|
||||||
|
|
||||||
|
It is straightforward to allow any HTML file to interoperate with TiddlyWiki's drag and drop implementation.
|
||||||
|
|
||||||
|
This example shows how to attach draggable data to a DOM element. The data is provided in two different forms:
|
||||||
|
|
||||||
|
* the string data is used if the element is dragged onto a text editing area
|
||||||
|
* the tiddler data is used if the element is dragged into TiddlyWiki's import area
|
||||||
|
|
||||||
|
<$button>
|
||||||
|
<$action-sendmessage $message="tm-download-file" $param="$:/dev/save/dragndropinterop" filename="index.html"/>
|
||||||
|
Download this sample code
|
||||||
|
</$button>
|
||||||
|
|
||||||
|
<$codeblock code={{DragAndDropInterop}} language="text/html"/>
|
35
editions/dev/tiddlers/new/dragndropinterop.html
Normal file
35
editions/dev/tiddlers/new/dragndropinterop.html
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Drag and Drop Interoperability with TiddlyWiki Demo</title>
|
||||||
|
<style>
|
||||||
|
#draggable {
|
||||||
|
padding: 1em;
|
||||||
|
margin: 1em;
|
||||||
|
background: #ecc;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="draggable" draggable="true">
|
||||||
|
Drag me to a TiddlyWiki window
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var titleString = "This is the string that appears when the block is dragged to a text input";
|
||||||
|
var tiddlerData = [
|
||||||
|
{title: "Tiddler One", text: "This is one of the payload tiddlers"},
|
||||||
|
{title: "Tiddler Two", text: "This is another of the payload tiddlers", "custom-field": "A custom field value"}
|
||||||
|
];
|
||||||
|
|
||||||
|
document.getElementById("draggable").addEventListener("dragstart",function(event) {
|
||||||
|
event.dataTransfer.setData("URL","data:text/vnd.tiddler," + encodeURIComponent(JSON.stringify(tiddlerData)));
|
||||||
|
event.dataTransfer.setData("Text",titleString);
|
||||||
|
event.stopPropagation();
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</html>
|
3
editions/dev/tiddlers/new/dragndropinterop.html.meta
Normal file
3
editions/dev/tiddlers/new/dragndropinterop.html.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
title: DragAndDropInterop
|
||||||
|
type: text/html
|
||||||
|
|
3
editions/dev/tiddlers/new/save-dragndropinterop.tid
Normal file
3
editions/dev/tiddlers/new/save-dragndropinterop.tid
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
title: $:/dev/save/dragndropinterop
|
||||||
|
|
||||||
|
<$view tiddler="DragAndDropInterop" field="text"/>
|
@ -0,0 +1,16 @@
|
|||||||
|
created: 20210519110226889
|
||||||
|
modified: 20210519110226889
|
||||||
|
tags: [[Other Resources]]
|
||||||
|
title: "Grok TiddlyWiki" by Soren Bjornstad
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
url: https://groktiddlywiki.com/read/
|
||||||
|
|
||||||
|
This new textbook from Soren Bjornstad is highly recommended for learning ~TiddlyWiki. The presentation and design are also a first class example of using ~TiddlyWiki.
|
||||||
|
|
||||||
|
From the site:
|
||||||
|
|
||||||
|
> Grok ~TiddlyWiki is a textbook that helps you build a deep, lasting understanding of and proficiency with ~TiddlyWiki through a combination of detailed explanations, practical exercises, and spaced-repetition reviews of prompts called takeaways.
|
||||||
|
|
||||||
|
{{!!url}}
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
caption: ~TW5-firebase
|
caption: TW5-firebase
|
||||||
color: #FFEB3B
|
color: #FFEB3B
|
||||||
community-author: Peter Neumark
|
community-author: Peter Neumark
|
||||||
created: 20210115121027582
|
created: 20210115121027582
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
title: ShadowTiddlers
|
\define actions()
|
||||||
tags: Concepts
|
<$action-setfield $tiddler="$:/state/tab/moresidebar-1850697562" $field="text" $value="$:/core/ui/MoreSideBar/Shadows"/>
|
||||||
modified: 201308091623
|
<$action-setfield $tiddler="$:/state/tab/sidebar--595412856" $field="text" $value="$:/core/ui/SideBar/More"/>
|
||||||
|
\end
|
||||||
|
\define click(text)
|
||||||
|
<$button actions=<<actions>>>$text$</$button>
|
||||||
|
\end
|
||||||
|
|
||||||
ShadowTiddlers are tiddlers that are loaded from within [[Plugins]]. Unlike ordinary tiddlers, they don't appear in most lists.
|
ShadowTiddlers are tiddlers that are loaded from within [[Plugins]]. Unlike ordinary tiddlers, they don't appear in most lists.
|
||||||
|
|
||||||
ShadowTiddlers can be overridden with an ordinary tiddler of the same name. If that tiddler is subsequently deleted then the original shadow tiddler is automatically restored.
|
ShadowTiddlers can be overridden with an ordinary tiddler of the same name. If that tiddler is subsequently deleted then the original shadow tiddler is automatically restored.
|
||||||
|
|
||||||
The current shadow tiddlers are:
|
!! Overridden Shadow Tiddlers
|
||||||
|
|
||||||
<$list filter="[all[shadows]sort[title]]"/>
|
<<list-links "[is[tiddler]is[shadow]sort[title]]">>
|
||||||
|
|
||||||
|
!! Shadow Tiddlers
|
||||||
|
|
||||||
|
A full list of shadow tiddlers can be found in the sidebar in the "More" -> "Shadows" tab
|
||||||
|
@ -0,0 +1,121 @@
|
|||||||
|
created: 20210222140234737
|
||||||
|
modified: 20210520174049056
|
||||||
|
tags: Learning
|
||||||
|
title: Demonstration: keyboard-driven-input Macro
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
|
\define allshortcuts(descriptor)
|
||||||
|
<$wikify name=scutlist text=<<displayshortcuts (($descriptor$)) '' ' ' ''>> >
|
||||||
|
<$list filter="[<scutlist>split[ ]join[</kbd> or <kbd>]addprefix[<kbd>]addsuffix[</kbd>]]" variable=scts><<scts>></$list>
|
||||||
|
</$wikify>
|
||||||
|
\end
|
||||||
|
|
||||||
|
\define kdi-demo-textmacrocall()
|
||||||
|
```
|
||||||
|
<$macrocall $name=keyboard-driven-input
|
||||||
|
tiddler="$(tiddler)$"
|
||||||
|
storeTitle="$(storeTitle)$"
|
||||||
|
selectionStateTitle="$(selectionStateTitle)$"
|
||||||
|
configTiddlerFilter="$(configTiddlerFilter)$"
|
||||||
|
/>
|
||||||
|
```
|
||||||
|
\end
|
||||||
|
|
||||||
|
<$vars configTiddlerFilter="[[kdi-demo-configtid]]" tiddler="kdi-demo-tiddler" storeTitle="kdi-demo-storeTitle" selectionStateTitle="kdi-demo-selectionStateTitle" >
|
||||||
|
|
||||||
|
The [[keyboard-driven-input Macro]] is used to create filtered lists that update as the user types. It also allows navigating the lists, and invoking macros using list items, with the keyboard.
|
||||||
|
|
||||||
|
It consists of an ''[[edit-text widget|EditTextWidget]]'' wrapped in [[keyboard widgets|KeyboardWidget]]. There are <<.def keyboard>> widgets to listen for `((input-accept))`, `((input-accept-variant))`, and `((input-cancel))` keyboard shortcuts, but there is no default behaviour in response to these events; macros must be written to suit the use-case. There is also no default visualisation of the filtered options list.
|
||||||
|
|
||||||
|
!!Types of keyboard input handled by the <<.var keyboard-driven-input>> macro:
|
||||||
|
|
||||||
|
!!!Non-configurable:
|
||||||
|
|
||||||
|
The following keyboard events invoke macros defined alongside <<.var keyboard-driven-input>> in [[$:/core/macros/keyboard-driven-input]].
|
||||||
|
|
||||||
|
|Input |Purpose |Macro |h
|
||||||
|
|typing input |composing a string to be used within list filters |<<.var keyboard-input-actions>> |
|
||||||
|
|`((input-up))` (<<allshortcuts input-up>>) |temporarily selecting the previous item in the filtered list |<<.var input-next-actions>> with parameters <<.param afterOrBefore>>=`"before"`, <<.param reverse>>=`"reverse[]"` |
|
||||||
|
|`((input-down))` (<<allshortcuts input-down>>) |temporarily selecting the next item in the filtered list |<<.var input-next-actions>> with <<.param afterOrBefore>>=`"after"`, <<.param reverse>>=`""` |
|
||||||
|
|
||||||
|
All of the above actions generate or modify data which <<.var keyboard-driven-input>> keeps in tiddlers specified using the macro's parameters. The data can then be accessed not only by the macros invoked by keyboard shortcuts, but also outside of these, e.g. a macro to display the filtered list(s).
|
||||||
|
|
||||||
|
!!!Configurable through parameters:
|
||||||
|
|
||||||
|
The following keyboard events invoke macros whose names are specified in parameters to <<.var keyboard-driven-input>>. The intended purpose is suggested by the parameter name, but there are no default macros defined within [[$:/core/macros/keyboard-driven-input]].
|
||||||
|
|
||||||
|
|[[Keyboard shortcut descriptor |Keyboard Shortcut Descriptor]] |Key combination |Parameter |h
|
||||||
|
|`((input-accept))` |<<allshortcuts input-accept>> |<<.param inputAcceptActions>> |
|
||||||
|
|`((input-accept-variant))` |<<allshortcuts input-accept-variant>> |<<.param inputAcceptVariantActions>> |
|
||||||
|
|`((input-cancel))` |<<allshortcuts input-cancel>> |<<.param inputCancelActions>> |
|
||||||
|
|
||||||
|
<<.var keyboard-driven-input>> can be seen in action as part of various core features in TiddlyWiki, e.g.: the [[search feature|Searching in TiddlyWiki]], the [[tag-picker Macro]], and dropdown interfaces in the [[Editor toolbar]] such as [[Insert link]].
|
||||||
|
|
||||||
|
!!Minimal ingredients for a demonstration
|
||||||
|
|
||||||
|
Keeping in mind that the <<.var keyboard-driven-input>> macro does not, by itself, display list results, or do anything with a selected option, a minimal demonstration of the <<.var keyboard-driven-input>> macro requires:
|
||||||
|
|
||||||
|
# ''a tiddler, containing a filter'' whose results depend on the user's text input, to generate the options from which the user can select
|
||||||
|
# ''several parameters:''
|
||||||
|
#*''a filter'' to return the title of the tiddler where the filter described in step 1 can be found, and
|
||||||
|
#*''tiddler titles'' to use for storing state information in response to input events. These tiddlers do not need to exist already. If they do exist, the <<.var keyboard-driven-input>> macro will change their contents.
|
||||||
|
|
||||||
|
!!The search filter(s)
|
||||||
|
|
||||||
|
By default, <<.var keyboard-driven-input>> will look for filters in the <<.field first-search-filter>> and <<.field second-search-filter>> fields of a tiddler (whose title is specified by a parameter discussed below).
|
||||||
|
|
||||||
|
This filter can refer to a variable called <<.var userInput>>, which shows the contents of the <<.def edit-text>> widget, as stored in a state tiddler (discussed below), at the time of the latest <kbd><<displayshortcuts ((input-up))>></kbd> or <kbd><<displayshortcuts ((input-down))>></kbd> event.
|
||||||
|
|
||||||
|
''Note:'' If this filter is to be referred to in a context outside the <<.var keyboard-driven-input>> macro (such as in a popup showing the filtered options), the variable <<.var userInput>> has to be defined in those contexts as well (by reading it from a state tiddler).
|
||||||
|
|
||||||
|
!!Minimal parameters
|
||||||
|
|
||||||
|
|Parameter name |Notes |h
|
||||||
|
|<<.param configTiddlerFilter>> |This is a filter, rather than a tiddler title, allowing conditional behaviour (e.g. checking for an active tab, or preferring a filter that may not be present, with a fallback).<br>The title returned must belong to an existing tiddler, containing at least one filter with which <<.var keyboard-driven-input>> can generate its results list. |
|
||||||
|
|<<.param tiddler>> |This tiddler contains either the typed input, or the instantaneous result selection, depending upon the most recent event. It is updated with each keystroke in the ''edit-text'' widget, //and// when the user uses the <kbd><<displayshortcuts ((input-up))>></kbd> or <kbd><<displayshortcuts ((input-down))>></kbd> key to cycle through filtered results. |
|
||||||
|
|<<.param storeTitle>> |This tiddler always reflects the user input (transcluded from the tiddler <<.param tiddler>> after each keystroke into the ''edit-text'' widget). |
|
||||||
|
|<<.param selectionStateTitle>> |This tiddler is updated on <kbd><<displayshortcuts ((input-up))>></kbd> or <kbd><<displayshortcuts ((input-down))>></kbd> events and contains either the user input with the suffix `-userInput`, or the instantaneous selection with the suffix `-primaryList` or `-secondaryList`, depending on which of up to two filters generated the list it came from. |
|
||||||
|
|
||||||
|
!!Demonstration setup
|
||||||
|
|
||||||
|
I have created a tiddler called <$list filter=<<configTiddlerFilter>> /> and put the following filter into its <<.field first-search-filter>> field:
|
||||||
|
|
||||||
|
<code><$list filter=<<configTiddlerFilter>> ><$text text={{!!first-search-filter}}/></$list></code>.
|
||||||
|
|
||||||
|
This filters for non-system tiddlers whose titles contain the text the user has typed.
|
||||||
|
|
||||||
|
To use the above filter with <<.var keyboard-driven-input>>, the value of the parameter <<.param configTiddlerFilter>> should be a filter that returns <$list filter=<<configTiddlerFilter>> />.
|
||||||
|
|
||||||
|
I can select <<.param tiddler>>, <<.param storeTitle>>, and <<.param selectionStateTitle>> fairly arbitrarily (just making sure not to use titles of tiddlers that I do not want changed).
|
||||||
|
|
||||||
|
This demonstration can now be invoked with the following macro call:
|
||||||
|
|
||||||
|
<<kdi-demo-textmacrocall>>
|
||||||
|
|
||||||
|
!!Demo
|
||||||
|
|
||||||
|
Try typing in here: <$macrocall $name=keyboard-driven-input
|
||||||
|
tiddler=<<tiddler>>
|
||||||
|
storeTitle=<<storeTitle>>
|
||||||
|
selectionStateTitle=<<selectionStateTitle>>
|
||||||
|
configTiddlerFilter=<<configTiddlerFilter>>
|
||||||
|
/>
|
||||||
|
|
||||||
|
Observe the changes in the various state tiddlers in the below table. Use <kbd><<displayshortcuts ((input-up))>></kbd> and <kbd><<displayshortcuts ((input-down))>></kbd> keys to navigate among filter results. If nothing changes, try a shorter input to widen the filter. If the input has zero length, the list will contain all non-system tiddlers.
|
||||||
|
|
||||||
|
@@.tablestyle
|
||||||
|
|
||||||
|
|Parameter name |Tiddler title |Contents of <<.field text>> field of the tiddler |h
|
||||||
|
|<<.param tiddler>> |{{{[<tiddler>]}}} |<pre><$text text={{{[<tiddler>get[text]]}}}/></pre>|
|
||||||
|
|<<.param storeTitle>> |{{{[<storeTitle>]}}} |<pre><$text text= {{{[<storeTitle>get[text]]}}}/></pre>|
|
||||||
|
|<<.param selectionStateTitle>> |{{{[<selectionStateTitle>]}}} |<pre><$text text={{{[<selectionStateTitle>get[text]]}}}/></pre>|
|
||||||
|
@@
|
||||||
|
|
||||||
|
The <<.var keyboard-driven-input>> macro has many parameters available, including all the attributes of the enclosed ''edit-text'' widget, which make it very flexible in how it is used and how results can be displayed and interacted with.
|
||||||
|
|
||||||
|
See also: [[Customising search results]] and [[$:/core/ui/DefaultSearchResultList]]
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.tablestyle {width:100%;}
|
||||||
|
.tablestyle td + td + td {width: 50%;}
|
||||||
|
</style>
|
@ -0,0 +1,6 @@
|
|||||||
|
created: 20210131043724146
|
||||||
|
first-search-filter: [!is[system]search:title<userInput>sort[]]
|
||||||
|
modified: 20210204012422020
|
||||||
|
tags:
|
||||||
|
title: kdi-demo-configtid
|
||||||
|
type: text/vnd.tiddlywiki
|
@ -18,7 +18,7 @@ The information above should be interpreted as follows:
|
|||||||
|
|
||||||
* mainRender is the time taken for the initial display of the page template
|
* mainRender is the time taken for the initial display of the page template
|
||||||
* styleRefresh is the time taken to refresh the page stylesheet
|
* styleRefresh is the time taken to refresh the page stylesheet
|
||||||
* mainRender is the time taken to refresh the main page template
|
* mainRefresh is the time taken to refresh the main page template
|
||||||
|
|
||||||
As an example, try switching between the sidebar tabs to compare how long they take to render.
|
As an example, try switching between the sidebar tabs to compare how long they take to render.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
caption: enlist
|
caption: enlist
|
||||||
created: 20170221144241063
|
created: 20170221144241063
|
||||||
modified: 20190610165246154
|
modified: 20210505100241872
|
||||||
op-input: ignored
|
op-input: ignored
|
||||||
op-neg-input: a [[selection of titles|Title Selection]]
|
op-neg-input: a [[selection of titles|Title Selection]]
|
||||||
op-neg-output: those input titles that are <<.em not>> listed in <<.place L>>
|
op-neg-output: those input titles that are <<.em not>> listed in <<.place L>>
|
||||||
@ -14,7 +14,7 @@ tags: [[Filter Operators]] [[Field Operators]] [[Selection Constructors]] [[Nega
|
|||||||
title: enlist Operator
|
title: enlist Operator
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
<<.tip " Literal filter operands cannot contain square brackets but you can work around the issue by using a variable:">>
|
<<.tip """Literal filter operands cannot contain square brackets but you can work around the issue by using a variable. ''Learn more at:'' [[SetWidget]] documentation under the heading "Filtered List Variable Assignment" """>>
|
||||||
|
|
||||||
```
|
```
|
||||||
<$set name="myList" value="first [[second with a space]] third">
|
<$set name="myList" value="first [[second with a space]] third">
|
||||||
@ -22,5 +22,4 @@ type: text/vnd.tiddlywiki
|
|||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
<<.operator-examples "enlist">>
|
<<.operator-examples "enlist">>
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
created: 20210216203925301
|
||||||
|
modified: 20210217003209935
|
||||||
|
tags: [[unique Operator]] [[Operator Examples]]
|
||||||
|
title: unique Operator (Examples)
|
||||||
|
|
||||||
|
To remove duplicate entries from a list where deduplication has been prevented using the [[filter run prefix|Filter Expression]] `=`:
|
||||||
|
|
||||||
|
<<.operator-example 1 """=[[E]] =[[A]] =[[B]] =[[C]] =[[C]] =[[D]] =[[C]] +[unique[]]""">>
|
10
editions/tw5.com/tiddlers/filters/unique.tid
Normal file
10
editions/tw5.com/tiddlers/filters/unique.tid
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
caption: unique
|
||||||
|
op-input: a list of items
|
||||||
|
op-output: a list of unique items
|
||||||
|
op-parameter: ignored
|
||||||
|
op-purpose: remove all duplicate items from the current list
|
||||||
|
tags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]
|
||||||
|
title: unique Operator
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
|
<<.operator-examples "unique">>
|
@ -1,5 +1,5 @@
|
|||||||
created: 20150325170720682
|
created: 20150325170720682
|
||||||
modified: 20150926171049725
|
modified: 20210519110623819
|
||||||
tags: HelloThere
|
tags: HelloThere
|
||||||
title: A Gentle Guide to TiddlyWiki
|
title: A Gentle Guide to TiddlyWiki
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
@ -16,4 +16,7 @@ How can you make ~TiddlyWiki work for you? We recommend you start with our intro
|
|||||||
|
|
||||||
<<list-links "[tag[HelloThere]]">>
|
<<list-links "[tag[HelloThere]]">>
|
||||||
|
|
||||||
Also see [[TiddlyWiki Video Tutorials by Francis Meetze]]
|
Also see:
|
||||||
|
|
||||||
|
* [["Grok TiddlyWiki" by Soren Bjornstad]]
|
||||||
|
* [[TiddlyWiki Video Tutorials by Francis Meetze]]
|
@ -1,5 +1,5 @@
|
|||||||
created: 20150414070451144
|
created: 20150414070451144
|
||||||
list: [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Gentle Guide]] [[HelloThumbnail - Firefox Apocalypse]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - TiddlyWikiLinks]] [[HelloThumbnail - TiddlyMap]] [[HelloThumbnail - HelpingTiddlyWiki]] [[HelloThumbnail - Developers]] [[HelloThumbnail - Classic]]
|
list: [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Gentle Guide]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Firefox Apocalypse]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - TiddlyWikiLinks]] [[HelloThumbnail - TiddlyMap]] [[HelloThumbnail - HelpingTiddlyWiki]] [[HelloThumbnail - Developers]] [[HelloThumbnail - Classic]]
|
||||||
modified: 20150414070948246
|
modified: 20150414070948246
|
||||||
title: HelloThumbnail
|
title: HelloThumbnail
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
title: HelloThumbnail - Grok TiddlyWiki
|
||||||
|
tags: HelloThumbnail
|
||||||
|
color: #D5B7EA
|
||||||
|
image: Grok TiddlyWiki Banner
|
||||||
|
caption: Grok ~TiddlyWiki
|
||||||
|
link: "Grok TiddlyWiki" by Soren Bjornstad
|
BIN
editions/tw5.com/tiddlers/images/Grok TiddlyWiki.png
Normal file
BIN
editions/tw5.com/tiddlers/images/Grok TiddlyWiki.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
@ -0,0 +1,3 @@
|
|||||||
|
title: Grok TiddlyWiki Banner
|
||||||
|
type: image/png
|
||||||
|
tags: picture
|
@ -1,10 +1,9 @@
|
|||||||
caption: tabs
|
caption: tabs
|
||||||
created: 20131228162203521
|
created: 20131228162203521
|
||||||
modified: 20180408084453861
|
modified: 20210525204556911
|
||||||
tags: Macros [[Core Macros]]
|
tags: Macros [[Core Macros]]
|
||||||
title: tabs Macro
|
title: tabs Macro
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
The <<.def tabs>> [[macro|Macros]] presents a [[selection of tiddlers|Title Selection]] as a set of tabs that the user can switch between.
|
The <<.def tabs>> [[macro|Macros]] presents a [[selection of tiddlers|Title Selection]] as a set of tabs that the user can switch between.
|
||||||
|
|
||||||
The tabs display the <<.field caption>> field of a tiddler if it has one, or the tiddler's title otherwise. If specified, the tabs display the <<.field tooltip>> field of a tiddler as the respective button tooltip.
|
The tabs display the <<.field caption>> field of a tiddler if it has one, or the tiddler's title otherwise. If specified, the tabs display the <<.field tooltip>> field of a tiddler as the respective button tooltip.
|
||||||
@ -28,7 +27,7 @@ By default the tabs are arranged horizontally above the content. To get vertical
|
|||||||
;retain
|
;retain
|
||||||
: Optionally, "yes" specifies that the content of the tabs should be retained when switching to another tab, avoiding re-rendering it (this can be useful to avoid video or audio sources unexpectedly resetting)
|
: Optionally, "yes" specifies that the content of the tabs should be retained when switching to another tab, avoiding re-rendering it (this can be useful to avoid video or audio sources unexpectedly resetting)
|
||||||
;actions
|
;actions
|
||||||
: Optionally, actions can be specified that are triggered when changing a tab
|
: Optionally, actions can be specified that are triggered when changing a tab. Within the actions, the title of the selected tab is available in the <<.var currentTab>> variable and the `currentTiddler` variable from outside the tabs macro is available in the <<.var save-currentTiddler>>
|
||||||
;explicitState
|
;explicitState
|
||||||
: Optionally, an explicit state title can be specified. It will be preferred over the internally computed (qualified) state title
|
: Optionally, an explicit state title can be specified. It will be preferred over the internally computed (qualified) state title
|
||||||
|
|
||||||
|
@ -15,6 +15,4 @@ eg="""<ul>
|
|||||||
<li><code><<transclusion>></code></li>
|
<li><code><<transclusion>></code></li>
|
||||||
</ul>"""/>
|
</ul>"""/>
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
{{$:/editions/tw5.com/macro-examples/qualify-transcluded}}
|
{{$:/editions/tw5.com/macro-examples/qualify-transcluded}}
|
||||||
</blockquote>
|
|
||||||
|
@ -20,3 +20,6 @@ The additional parameters are:
|
|||||||
|secondSearchFilterField |the field of the configTiddler where the second search-filter is stored. Defaults to <<.field second-search-filter>> |
|
|secondSearchFilterField |the field of the configTiddler where the second search-filter is stored. Defaults to <<.field second-search-filter>> |
|
||||||
|filterMinLength |the minimum length of the user input after which items are filtered |
|
|filterMinLength |the minimum length of the user input after which items are filtered |
|
||||||
|
|
||||||
|
See [[Demonstration: keyboard-driven-input Macro]] for further guidance on using this macro.
|
||||||
|
|
||||||
|
|
||||||
|
17
editions/tw5.com/tiddlers/saving/Saving on TiddlyHost.tid
Normal file
17
editions/tw5.com/tiddlers/saving/Saving on TiddlyHost.tid
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
caption: ~TiddlyHost
|
||||||
|
color: #29B6F6
|
||||||
|
community-author: Simon Baird
|
||||||
|
created: 20210422191232572
|
||||||
|
delivery: Service
|
||||||
|
description: Online service for creating and hosting TiddlyWikis
|
||||||
|
method: save
|
||||||
|
modified: 20210423003921468
|
||||||
|
tags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge
|
||||||
|
title: Saving on TiddlyHost
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
|
[img width=140 [https://github.com/simonbaird/tiddlyhost/raw/main/rails/app/assets/images/logo-800.png]]
|
||||||
|
|
||||||
|
[[TiddlyHost.com|https://tiddlyhost.com/]] is a hosting service for TiddlyWiki created by Simon Baird. Once you sign up and confirm your email you can create "sites", (i.e. ~TiddlyWikis), with support for online saving. Sites can be private or public, and you can optionally list them on the taggable and searchable [[TiddlyHost Hub|https://tiddlyhost.com/hub]] where they'll be discoverable by others.
|
||||||
|
|
||||||
|
Unlike [[TiddlySpot|Saving on TiddlySpot]], [[TiddlyHost|https://tiddlyhost.com]] is secure, open source, and has proper support for TiddlyWiki5. It also allows uploading existing ~TiddlyWiki files, supports TiddlyWikiClassic, and lets you claim ownership of your ~TiddlySpot sites. For more information see the [[FAQ|https://github.com/simonbaird/tiddlyhost/wiki/FAQ]] and the [[About|https://tiddlyhost.com/about]] page.
|
@ -1,56 +1,46 @@
|
|||||||
caption: ~TiddlySpot
|
caption: ~TiddlySpot
|
||||||
color: #29B6F6
|
color: #29B6F6
|
||||||
community-author: Simon Baird and Daniel Baird
|
community-author: Simon Baird & Daniel Baird
|
||||||
created: 20130825213500000
|
created: 20130825213500000
|
||||||
delivery: Service
|
delivery: Service
|
||||||
description: Free online service for hosting TiddlyWiki files
|
description: Online TiddlyWiki hosting. (Deprecated in favour of TiddlyHost)
|
||||||
method: save
|
method: save
|
||||||
modified: 20200507202953380
|
modified: 20210423004027196
|
||||||
tags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge
|
tags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge
|
||||||
title: Saving on TiddlySpot
|
title: Saving on TiddlySpot
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
[[TiddlySpot|http://tiddlyspot.com]] is a free hosting service for TiddlyWiki documents from Simon Baird and Daniel Baird.
|
----
|
||||||
|
<<.warning "''Please note: ~TiddlySpot is in maintenance mode and no longer allows new sites to be created. Instead of ~TiddlySpot you can now use [[TiddlyHost|Saving on TiddlyHost]], a new service from the creator of ~TiddlySpot.''">>
|
||||||
|
----
|
||||||
|
[img[https://raw.githubusercontent.com/simonbaird/tiddlyhost/main/rails/app/assets/images/tiddlyspot-banner-logo.png]]
|
||||||
|
|
||||||
! Setting up a TiddlyWiki on ~TiddlySpot
|
[[TiddlySpot.com|http://tiddlyspot.com]] is a hosting service for TiddlyWiki created in 2006 by Simon Baird and Daniel Baird.
|
||||||
To set up a [[TiddlyWiki Classic|TiddlyWikiClassic]], you merely create a new wiki at http://tiddlyspot.com
|
|
||||||
|
|
||||||
!!TiddlyWiki5 on ~TiddlySpot
|
In early 2021 it was superseded by [[TiddlyHost|Saving on TiddlyHost]], a new, secure, modern reimagining of ~TiddlySpot. Creating new sites on ~TiddlySpot is no longer supported, (though sites created in 2020 or earlier are still functional).
|
||||||
~TiddlyWiki5 also functions well on ~TiddlySpot but this version is not offered directly in the ~TiddlySpot set-up.
|
|
||||||
|
|
||||||
The simplest way to create a new ~TiddlySpot with ~TiddlyWiki5 is probably through the community created site http://tiddlywiki5.tiddlyspot.com
|
!! Security warning for ~TiddlySpot
|
||||||
|
|
||||||
Alternatively, you can upload an existing ~TiddlyWiki5 document from your local disc to ~TiddlySpot by following these steps:
|
Note that your password is sent unencrypted when using ~TiddlySpot. From the [[FAQ|http://faq.tiddlyspot.com/]]:
|
||||||
|
|
||||||
# Sign up for a new wiki at http://tiddlyspot.com/, and remember the wiki name and password
|
|
||||||
# Open your locally stored TiddlyWiki document in your browser
|
|
||||||
# Fill in the ~TiddlySpot wikiname and password in ''Saving'' tab of the ''control panel'' <<.icon $:/core/images/options-button>>
|
|
||||||
# Click the <<.icon $:/core/images/save-button>> ''save changes'' button. You should get a confirmation notification at the top right saying ''Saved wiki''. Saving can take several seconds if you're on a slow connection or working with a large wiki.
|
|
||||||
# Navigate to your ~TiddlySpot URL at http://{wikiname}.tiddlyspot.com/
|
|
||||||
|
|
||||||
Note that your password is sent unencrypted when using ~TiddlySpot. From http://faq.tiddlyspot.com/:
|
|
||||||
|
|
||||||
<<<
|
<<<
|
||||||
''Is Tiddlyspot secure?''
|
''Is Tiddlyspot secure?''
|
||||||
|
|
||||||
No. Tiddlyspot does not use SSL/https. Your password is sent in clear text when uploading and when authenticating to access a private site. This means that your Tiddlyspot is vulnerable to packet sniffing and your password could be discovered by a malicious third party. Also your data is transmitted unencrypted when you view your site, even if it is a private site. For this reason please don't put sensitive information such as banking details in your Tiddlyspot and don't use a password that you use for other high security sites.
|
No. Tiddlyspot does not use SSL/https, so all ~TiddlySpot web traffic is vulnerable to packet sniffing. This means your password and site data could be intercepted by a malicious third party. For this reason, please don't keep sensitive information in your ~TiddlySpot site, and don't use a password that you use for other web sites.
|
||||||
<<<
|
<<<
|
||||||
|
|
||||||
! Problems with saving on ~TiddlySpot
|
!! Problems with saving on ~TiddlySpot
|
||||||
|
|
||||||
In case you run into this error when uploading a new or freshly upgraded local TiddlyWiki to ~TiddlySpot :
|
In case you run into this error when uploading a freshly upgraded local TiddlyWiki to ~TiddlySpot:
|
||||||
|
|
||||||
<<<
|
<<<
|
||||||
Error while saving:
|
Error: NS_ERROR_DOM_BAD_URI: Access to restricted URI denied
|
||||||
|
|
||||||
Error:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied
|
|
||||||
<<<
|
<<<
|
||||||
|
|
||||||
The upgrade operation falls foul of a security restriction in Firefox. Until this can be resolved, we suggest using Chrome.
|
The upgrade operation falls foul of a security restriction in Firefox. Until this can be resolved, we suggest using Chrome.
|
||||||
|
|
||||||
*# Use Chrome to open the local TiddlyWiki document you want to upload to ~TiddlySpot and follow the steps 1 through 5 described above
|
* Use Chrome to open the local TiddlyWiki document you want to upload to ~TiddlySpot and follow the steps 1 through 5 described at [[Upgrading]].
|
||||||
*# Once you've checked the ~TiddlySpot-hosted TiddlyWiki loads properly in Chrome, you should be able to access, edit and [[save using TiddlyFox|Saving with TiddlyFox]] again
|
* Once you've checked the ~TiddlySpot-hosted TiddlyWiki loads properly in Chrome, you should be able to access, edit and [[save using TiddlyFox|Saving with TiddlyFox]] again.
|
||||||
* After you've uploaded your local document once, further editing and saving of the online version hosted on ~TiddlySpot should work with any modern browser of your choice.
|
* After you've uploaded your local document once, further editing and saving of the online version hosted on ~TiddlySpot should work with any modern browser of your choice. (Don't forget to fill in the ~TiddlySpot password in your ~TiddlySpot TiddlyWiki control panel for any new browser you want to use for saving changes.)
|
||||||
** Don't forget to fill in the ~TiddlySpot wikiname and password in your ~TiddlySpot TiddlyWiki control panel for any new browser you want to use for saving changes
|
|
||||||
|
|
||||||
* //See also : [[Upgrading]]//
|
//See also: [[Upgrading]]//
|
||||||
|
@ -12,6 +12,6 @@ url: https://twcloud.github.io/tw5-dropbox/
|
|||||||
|
|
||||||
Originally built by Jeremy Ruston and now maintained by Arlen Beiler, TiddlyWiki Cloud (formerly known as TiddlyWiki in the Sky for Dropbox) is an online service that lets you edit TiddlyWiki documents directly in your own Dropbox using just a browser.
|
Originally built by Jeremy Ruston and now maintained by Arlen Beiler, TiddlyWiki Cloud (formerly known as TiddlyWiki in the Sky for Dropbox) is an online service that lets you edit TiddlyWiki documents directly in your own Dropbox using just a browser.
|
||||||
|
|
||||||
It works with TiddlyWiki 5 and Classic.
|
It works with TiddlyWiki 5. As for TiddlyWiki Classic, the mainstream loader does not work, and a newer loader may work.
|
||||||
|
|
||||||
https://twcloud.github.io/
|
https://twcloud.github.io/
|
||||||
|
8
editions/tw5.com/tiddlers/widgets/$__docs_anyField.tid
Normal file
8
editions/tw5.com/tiddlers/widgets/$__docs_anyField.tid
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
created: 20210505094244703
|
||||||
|
field: list
|
||||||
|
modified: 20210505094434740
|
||||||
|
tags:
|
||||||
|
title: $:/docs/anyField
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
|
This tiddler is needed for the last [[SetWidget]] example
|
@ -1,6 +1,6 @@
|
|||||||
caption: set
|
caption: set
|
||||||
created: 20131115182700000
|
created: 20131115182700000
|
||||||
modified: 20180315165405442
|
modified: 20210505095640228
|
||||||
tags: Widgets
|
tags: Widgets
|
||||||
title: SetWidget
|
title: SetWidget
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
@ -15,79 +15,106 @@ The content of the `<$set>` widget is the scope for the value assigned to the va
|
|||||||
|
|
||||||
|!Attribute |!Description |
|
|!Attribute |!Description |
|
||||||
|name |The name of the variable to assign (defaults to "currentTiddler") |
|
|name |The name of the variable to assign (defaults to "currentTiddler") |
|
||||||
|value |The value to assign to the variable if the filter is missing or not empty |
|
|value |The value to assign to the variable if the <<.attr filter>> attribute is missing or not empty |
|
||||||
|tiddler |<<.from-version "5.1.15">> Optional title of the tiddler from which to read the value |
|
|tiddler |<<.from-version "5.1.15">> Optional title of the tiddler from which to read the value |
|
||||||
|subtiddler |<<.from-version "5.1.16">> Optionally specifies the title of a subtiddler within a plugin tiddler identified by the ''tiddler'' attribute |
|
|subtiddler |<<.from-version "5.1.16">> Optionally specifies the title of a subtiddler within a plugin tiddler identified by the ''tiddler'' attribute |
|
||||||
|field |<<.from-version "5.1.15">> Optional field of the tiddler from which to read the value (only used if ''tiddler'' is used) |
|
|field |<<.from-version "5.1.15">> Optional field of the tiddler from which to read the value (only used if ''tiddler'' is used) |
|
||||||
|index |<<.from-version "5.1.15">> Optional index of the tiddler from which to read the value (only used if ''tiddler'' is used) |
|
|index |<<.from-version "5.1.15">> Optional index of the tiddler from which to read the value (only used if ''tiddler'' is used) |
|
||||||
|filter |An optional filter to be evaluated and assigned to the variable (see below) |
|
|filter |An optional filter to be evaluated and assigned to the variable (see "Filtered List Variable Assignment" below). The variable can be used with the <<.olink enlist>> operator |
|
||||||
|select |<<.from-version "5.1.14">> An optional zero-based index of the item to return from the filter output (see below) |
|
|select |<<.from-version "5.1.14">> An optional zero-based index of the item to return from the filter output (see below) |
|
||||||
|emptyValue |The value to assign to the variable if the specified value is missing or empty (see below) |
|
|emptyValue |The value to assign to the variable if the specified value is missing or empty (see below) |
|
||||||
|
|
||||||
<<.tip """If the value of your variable is enclosed in double square brackets this might indicate that you are returning a list of values from the filter. To use a single title from the filter output without the double square brackets see ''Filtered Item Variable Assignment'' below.""">>
|
<<.tip """If the value of your variable is enclosed in double square brackets this might indicate that you are returning a list of values from the filter. To use a single title from the filter output without the double square brackets see ''Filtered Item Variable Assignment'' below.""">>
|
||||||
|
|
||||||
|
! Examples
|
||||||
|
|
||||||
!! Simple Variable Assignment
|
!! Simple Variable Assignment
|
||||||
|
|
||||||
The simplest way of using set variable widget assigns a string to a variable. The following example assigns a literal string
|
The simplest way of using set variable widget assigns a string to a variable. The following example assigns a literal string
|
||||||
|
|
||||||
```
|
<<<
|
||||||
<$set name="myVariable" value="Some text">
|
|
||||||
|
<$macrocall $name='wikitext-example-without-html'
|
||||||
|
src='<$set name="myVariable" value="Some text">
|
||||||
<$text text=<<myVariable>>/>
|
<$text text=<<myVariable>>/>
|
||||||
</$set>
|
</$set>' />
|
||||||
```
|
|
||||||
|
<<<
|
||||||
|
|
||||||
Both the name and value attributes can be transcluded. For example:
|
Both the name and value attributes can be transcluded. For example:
|
||||||
|
|
||||||
```
|
<<<
|
||||||
<$set name=<<anotherVariable>> value={{template!!text}}>
|
|
||||||
<$text text=<<myVariable>>/>
|
<$macrocall $name='wikitext-example-without-html'
|
||||||
</$set>
|
src='<$set name=anotherVariable value="myVariable">
|
||||||
```
|
<$set name=<<anotherVariable>> value={{$:/language/DefaultNewTiddlerTitle}}>
|
||||||
|
<$text text=<<myVariable>>/>
|
||||||
|
</$set>
|
||||||
|
</$set>' />
|
||||||
|
|
||||||
|
<<<
|
||||||
|
|
||||||
!! Conditional Variable Assignment
|
!! Conditional Variable Assignment
|
||||||
|
|
||||||
This form of the set variable widget chooses one of two specified values according to whether a filter evaluates to an empty list. Here's an example that sets a variable according to whether the current tiddler is called "myMagicTitle":
|
This form of the set variable widget chooses one of two specified values according to whether a filter evaluates to an empty list. Here's an example that sets a variable according to whether the current tiddler is called "myMagicTitle":
|
||||||
|
|
||||||
```
|
<<<
|
||||||
<$set name="myVariable" filter="[all[current]field:title[myMagicTitle]]" value="It's magic" emptyValue="It's not magic">
|
|
||||||
|
<$macrocall $name='wikitext-example-without-html'
|
||||||
|
src="""<$set name="myVariable" filter="[all[current]field:title[myMagicTitle]]" value="It's magic" emptyValue="It's not magic">
|
||||||
<$text text=<<myVariable>>/>
|
<$text text=<<myVariable>>/>
|
||||||
</$set>
|
</$set>""" />
|
||||||
```
|
|
||||||
|
<<<
|
||||||
|
|
||||||
!! Filtered List Variable Assignment
|
!! Filtered List Variable Assignment
|
||||||
|
|
||||||
This form of the set variable widget evaluates the filter and assigns the result to the variable as a space-separated list (using double square brackets for titles containing spaces).
|
This form of the set variable widget evaluates the filter and assigns the result to the variable as a space-separated list (using double square brackets for titles containing spaces).
|
||||||
|
|
||||||
```
|
<<<
|
||||||
<$set name="myVariable" filter="[tag[HelloThere]]">
|
|
||||||
<$text text=<<myVariable>>/>
|
|
||||||
</$set>
|
|
||||||
```
|
|
||||||
|
|
||||||
!! Filtered Item Variable Assignment
|
<$macrocall $name='wikitext-example-without-html'
|
||||||
|
src='<$set name="myVariable" filter="[tag[HelloThere]]">
|
||||||
|
<$text text=<<myVariable>>/>
|
||||||
|
</$set>' />
|
||||||
|
|
||||||
|
<<<
|
||||||
|
|
||||||
|
!! Filtered Item Variable Assignment Single Element
|
||||||
|
|
||||||
<<.from-version "5.1.14">> This form of the set variable widget evaluates the filter and assigns the specified result to the variable as a single item (ie, not using double square brackets for titles containing spaces).
|
<<.from-version "5.1.14">> This form of the set variable widget evaluates the filter and assigns the specified result to the variable as a single item (ie, not using double square brackets for titles containing spaces).
|
||||||
|
|
||||||
```
|
<<<
|
||||||
<$set name="myVariable" filter="[tag[HelloThere]]" select="0">
|
|
||||||
|
<$macrocall $name='wikitext-example-without-html'
|
||||||
|
src='<$set name="myVariable" filter="[tag[HelloThere]]" select="0">
|
||||||
<$text text=<<myVariable>>/>
|
<$text text=<<myVariable>>/>
|
||||||
</$set>
|
</$set>'/>
|
||||||
```
|
|
||||||
|
<<<
|
||||||
|
|
||||||
!! Transcluded Variable Assignment
|
!! Transcluded Variable Assignment
|
||||||
|
|
||||||
<<.from-version "5.1.15">> This form of the set variable widget obtains the value to assign to the variable from a value in a tiddler field or index. For example:
|
<<.from-version "5.1.15">> This form of the set variable widget obtains the value to assign to the variable from a value in a tiddler field or index. For example:
|
||||||
|
|
||||||
```
|
<<<
|
||||||
<$set name="myVariable" tiddler="HelloThere" field="text">
|
|
||||||
<$text text=<<myVariable>>/>
|
|
||||||
</$set>
|
|
||||||
```
|
|
||||||
|
|
||||||
The example above could also be written as `<$set name="myVariable" value={{HelloThere!!text}}>`. The advantage of using the ''tiddler'' attribute is that the tiddler title and field or index can themselves be computed. For example:
|
<$macrocall $name='wikitext-example-without-html'
|
||||||
|
src='<$set name="myVariable" tiddler="HelloThere" field="list">
|
||||||
```
|
|
||||||
<$set name="myVariable" tiddler=<<myTiddler>> field={{$:/currentField}}>
|
|
||||||
<$text text=<<myVariable>>/>
|
<$text text=<<myVariable>>/>
|
||||||
</$set>
|
</$set>'/>
|
||||||
```
|
|
||||||
|
<<<
|
||||||
|
|
||||||
|
The example above could also be written as `<$set name="myVariable" value={{HelloThere!!list}}>`. The advantage of using the ''tiddler'' attribute is that the tiddler title and field or index can themselves be computed. For example:
|
||||||
|
|
||||||
|
<<<
|
||||||
|
|
||||||
|
<$macrocall $name='wikitext-example-without-html'
|
||||||
|
src='<$set name="myTiddler" value="HelloThere">
|
||||||
|
<$set name="myVariable" tiddler=<<myTiddler>> field={{$:/docs/anyField!!field}}>
|
||||||
|
<$text text=<<myVariable>>/>
|
||||||
|
</$set>
|
||||||
|
</$set>'/>
|
||||||
|
|
||||||
|
<<<
|
||||||
|
@ -449,3 +449,13 @@ J. Wilhelm, @jeremyredhead, 2021/01/27
|
|||||||
Quentin Minster, @laomaiweng, 2021/03/10
|
Quentin Minster, @laomaiweng, 2021/03/10
|
||||||
|
|
||||||
Cindy Ruan, @cdruan, 2021/03/18
|
Cindy Ruan, @cdruan, 2021/03/18
|
||||||
|
|
||||||
|
Urban Alič, @ualich, 2021/05/06
|
||||||
|
|
||||||
|
Joe Bordes, @joebordes, 2021/05/30
|
||||||
|
|
||||||
|
Frank Bruns-Ballhausen, @FBB-de, 2021/06/09
|
||||||
|
|
||||||
|
Álvaro González Rincón, @Alzacon, 2021/06/10
|
||||||
|
|
||||||
|
RJ Skerry-Ryan, @rryan, 2021/07/03
|
||||||
|
Loading…
Reference in New Issue
Block a user