1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-10 11:59:58 +00:00

Merge branch 'master' into cascade-filter-run-prefix

This commit is contained in:
jeremy@jermolene.com 2021-11-05 08:29:08 +00:00
commit 52907b98f9
30 changed files with 107 additions and 51 deletions

View File

@ -52,7 +52,13 @@ CodeBlockWidget.prototype.execute = function() {
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
*/
CodeBlockWidget.prototype.refresh = function(changedTiddlers) {
return false;
var changedAttributes = this.computeAttributes();
if(changedAttributes.code || changedAttributes.language) {
this.refreshSelf();
return true;
} else {
return false;
}
};
exports.codeblock = CodeBlockWidget;

View File

@ -0,0 +1,12 @@
created: 20211031174746965
modified: 20211031181800684
title: MessageHandlerWidgets
type: text/vnd.tiddlywiki
Message handler widgets are those widgets which can react to one or more [[widget messages|Messages]].
<<.tip "Widget messages are similar to low-level DOM events, except they are higher-level and specific to TiddlyWiki. To handle DOM events see the EventCatcherWidget">>
The following message handler widgets are provided:
<<list-links "[tag[MessageHandlerWidgets]]">>

View File

@ -0,0 +1,12 @@
created: 20211031172716741
modified: 20211031174029381
title: TriggeringWidgets
type: text/vnd.tiddlywiki
Triggering widgets are a type of widget which can trigger ActionWidgets. Typically these widgets (such as the ButtonWidget) will trigger actions based on interaction from the user.
The following triggering widgets are provided:
<<list-links "[tag[TriggeringWidgets]]">>
See ActionWidgets for more information and examples of how TriggeringWidgets and ActionWidgets work together.

View File

@ -5,7 +5,7 @@ modified: 20210506130322593
op-input: ignored
op-output: the title of each available deserializer
op-parameter: none
tags: [[Filter Operators]] [[Special Operators]]
tags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]
title: deserializers Operator
type: text/vnd.tiddlywiki

View File

@ -6,7 +6,7 @@ op-output: the titles stored as a [[title list|Title List]] in each input title
op-purpose: select titles by interpreting each input title as a [[title list|Title List]]
op-suffix: `dedupe` (the default) to remove duplicates, `raw` to leave duplicates untouched
op-suffix-name: D
tags: [[Filter Operators]] [[String Operators]] [[Selection Constructors]]
tags: [[Filter Operators]] [[String Operators]]
title: enlist-input Operator
type: text/vnd.tiddlywiki

View File

@ -18,4 +18,4 @@ Cycle through a list of values to add as a tag, in reverse order:
<<.using-days-of-week>>
<<.operator-example 1 """[list[Days of the Week]first[]] +[cycle{Days of the Week!!list}]""">>
<<.operator-example 1 """[list[Days of the Week]first[]] +[cycle{Days of the Week!!list},[2]]""">>
<<.operator-example 2 """[list[Days of the Week]first[]] +[cycle{Days of the Week!!list},[2]]""">>

View File

@ -11,4 +11,4 @@ Logarithm of `100` with base `10`:
<<.operator-example 2 "[[100]log[10]]">>
Natural logarithm of 10 (base `e`), equivalent to `ln(10)` in mathematics:
<<.operator-example 2 "[[10]log[]]">>
<<.operator-example 3 "[[10]log[]]">>

View File

@ -5,4 +5,4 @@ title: match Operator (Examples)
type: text/vnd.tiddlywiki
<<.operator-example 1 "a b c +[match[b]]">>
<<.operator-example 1 "[match[HelloThere]]">>
<<.operator-example 2 "[match[HelloThere]]">>

View File

@ -1,8 +1,30 @@
created: 20181031175129475
modified: 20181031175129475
modified: 20211030223407188
tags: [[subfilter Operator]] [[Operator Examples]]
title: subfilter Operator (Examples)
type: text/vnd.tiddlywiki
<<.operator-example 1 "[subfilter[one two three]addsuffix[!]]">>
<<.operator-example 2 "[subfilter{$:/StoryList!!list}]">>
\define recent-mods() [has[modified]!sort[modified]limit[5]]
\define display-variable(name)
''<$text text=<<__name__>>/>'': <code><$text text={{{ [<__name__>getvariable[]] }}}/></code>
\end
Literal filter operands can be used, but such cases are better rewritten without using <<.op subfilter>>:
<<.operator-example 1 "[subfilter[one two three]addsuffix[!]]" "same as `one two three +[addsuffix[!]]`">>
The <<.op subfilter>> operator can be used to dynamically define parts of a [[filter run|Filter Run]]. This is useful for sharing a common pieces of a filter across multiple filters.
For example, this variable:
* <<display-variable recent-mods>>
can be used in one filter like this:
<<.operator-example 2 "[tag[Filter Operators]subfilter<recent-mods>addsuffix[!]]" "same as `[tag[Filter Operators]has[modified]!sort[modified]limit[5]addsuffix[!]]`">>
and in another similar filter like this:
<<.operator-example 3 "[tag[ActionWidgets]subfilter<recent-mods>addprefix[!]]">>
Variables are not the only way to define dynamic subfilters. [[Text references|TextReference]] can be used to load a subfilter from a tiddler field (see also [[Filter Parameter]]):
<<.operator-example 4 "[subfilter{$:/StoryList!!list}limit[5]]">>
<<.operator-example 5 "[subfilter{$:/StoryList!!list}subfilter<recent-mods>]">>

View File

@ -1,6 +1,6 @@
created: 20171221184734665
modified: 20210907170339891
tags: [[Filter Operators]] [[Negatable Operators]]
tags: [[Filter Operators]] [[Negatable Operators]] [[Selection Constructors]]
title: range Operator
type: text/vnd.tiddlywiki
caption: range

View File

@ -1,6 +1,6 @@
created: 20150126141718000
modified: 20150203191420000
tags: [[Filter Operators]] [[Special Operators]]
tags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]
title: storyviews Operator
type: text/vnd.tiddlywiki
caption: storyviews

View File

@ -1,6 +1,6 @@
caption: subfilter
created: 20181031175129475
modified: 20181031175129475
modified: 20211030223407188
op-input: a [[selection of titles|Title Selection]] passed as input to the subfilter
op-neg-input: a [[selection of titles|Title Selection]] passed as input to the subfilter
op-neg-output: those input titles that are <<.em not>> returned from the subfilter <<.place S>>
@ -12,7 +12,7 @@ tags: [[Filter Operators]] [[Field Operators]] [[Selection Constructors]] [[Nega
title: subfilter Operator
type: text/vnd.tiddlywiki
<<.from-version "5.1.18">> Note that the subfilter operator was introduced in version 5.1.18 and is not available in earlier versions.
<<.from-version "5.1.18">> Note that the <<.op subfilter>> operator was introduced in version 5.1.18 and is not available in earlier versions.
<<.tip " Literal filter operands cannot contain square brackets but you can work around the issue by using a variable:">>
@ -24,4 +24,6 @@ type: text/vnd.tiddlywiki
<<.tip "Compare with the similar [[filter|filter Operator]] operator which runs a subfilter against each title, returning those titles that return a non-empty list (and discards the results of the subfilter)">>
The <<.op subfilter>> operator will act as a [[constructor|Selection Constructors]] whenever the filter defined by its operand is a [[constructor|Selection Constructors]]. Otherwise, it will act as a [[modifier|Selection Constructors]].
<<.operator-examples "subfilter">>

View File

@ -1,5 +1,5 @@
created: 20140617211749290
modified: 20140912141809800
modified: 20211104172343220
tags: [[TiddlyWiki on Node.js]]
title: Environment Variables on Node.js
type: text/vnd.tiddlywiki
@ -11,7 +11,9 @@ type: text/vnd.tiddlywiki
* `TIDDLYWIKI_LANGUAGE_PATH` - Search path for languages
* `TIDDLYWIKI_EDITION_PATH` - Search path for editions (used by the InitCommand)
''Note'': The delimiter may vary between operating systems. While on Windows a semicolon `;` is used, Linux implements a colon `:`.
''Note 1'': The delimiter may vary between operating systems. While on Windows a semicolon `;` is used, Linux implements a colon `:`.
''Note 2'': On Linux systems, it may be necessary to //''export''// the variable as well as to define it.
The additional paths should each point to folders structured like the equivalent directories in the TiddlyWiki5 GitHub repository: the plugin, theme and language directories contain `publisher/pluginname/<files>` while the edition directories contain `editionname/<files>`

View File

@ -1,10 +1,10 @@
created: 20141008134425548
modified: 20210630163127249
modified: 20211031172913375
tags: Widgets
title: ActionWidgets
type: text/vnd.tiddlywiki
Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that trigger those actions (for example, the ButtonWidget).
Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that [[trigger those actions|TriggeringWidgets]] (for example, the ButtonWidget).
The following action widgets are provided:
@ -17,7 +17,7 @@ There are two ways to use action widgets:
!! Using action string attributes
The action widgets are passed as a string to the `actions` attribute of the triggering widget. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:
The action widgets are passed as a string to the `actions` attribute of the [[triggering widget|TriggeringWidgets]]. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:
```
\define my-actions()
@ -32,7 +32,7 @@ Click me!
!! Directly embedding action widgets
The action widgets need not be immediate children of their triggering widget, but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:
The action widgets need not be immediate children of their [[triggering widget|TriggeringWidgets]], but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:
```
<$button>

View File

@ -1,7 +1,7 @@
caption: button
created: 20131024141900000
modified: 20201108183908170
tags: Widgets
modified: 20211009121239795
tags: Widgets TriggeringWidgets
title: ButtonWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: checkbox
created: 20131024141900000
modified: 20201109090732190
tags: Widgets
modified: 20211009121239806
tags: Widgets TriggeringWidgets
title: CheckboxWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: draggable
created: 20170406081938627
modified: 20210912141544224
tags: Widgets
modified: 20211009122105437
tags: Widgets TriggeringWidgets
title: DraggableWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: droppable
created: 20170406082820317
modified: 20200317142604572
tags: Widgets
modified: 20211009122023265
tags: Widgets TriggeringWidgets
title: DroppableWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: dropzone
created: 20131024141900000
modified: 20210506115809131
tags: Widgets
modified: 20211009122205481
tags: Widgets TriggeringWidgets
title: DropzoneWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: edit-text
created: 20131024141900000
modified: 20211021091910134
tags: Widgets
tags: Widgets TriggeringWidgets
title: EditTextWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: edit
created: 20131024141900000
modified: 20201130184647904
tags: Widgets
modified: 20211009121634055
tags: Widgets TriggeringWidgets
title: EditWidget
type: text/vnd.tiddlywiki

View File

@ -1,6 +1,6 @@
created: 20201123113532200
modified: 20210805083352068
tags: Widgets
modified: 20211031180336257
tags: Widgets TriggeringWidgets
title: EventCatcherWidget
type: text/vnd.tiddlywiki

View File

@ -1,9 +1,9 @@
caption: fieldmangler
created: 20131024141900000
modified: 20150220161229000
tags: Widgets
modified: 20211009122821085
tags: Widgets MessageHandlerWidgets
title: FieldManglerWidget
type: text/vnd.tiddlywiki
caption: fieldmangler
! Introduction

View File

@ -1,7 +1,7 @@
caption: keyboard
created: 20140302192136805
modified: 20210612101618855
tags: Widgets
modified: 20211009121239821
tags: Widgets TriggeringWidgets
title: KeyboardWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: linkcatcher
created: 20131024141900000
modified: 20170707111536556
tags: Widgets
modified: 20211009122821108
tags: Widgets MessageHandlerWidgets TriggeringWidgets
title: LinkCatcherWidget
type: text/vnd.tiddlywiki

View File

@ -1,6 +1,6 @@
created: 20210309133636211
modified: 20210711193113104
tags: Widgets
modified: 20211009122821123
tags: Widgets MessageHandlerWidgets TriggeringWidgets
title: MessageCatcherWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: navigator
created: 20131024141900000
modified: 20170629074415261
tags: Widgets
modified: 20211009122821140
tags: Widgets MessageHandlerWidgets
title: NavigatorWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: radio
created: 20131212195353929
modified: 20210307154753471
tags: Widgets
modified: 20211009121654734
tags: Widgets TriggeringWidgets
title: RadioWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: range
created: 20171102134825376
modified: 20201130193635857
tags: Widgets
modified: 20211009121606405
tags: Widgets TriggeringWidgets
title: RangeWidget
type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: select
created: 20131024141900000
modified: 20190304122040876
tags: Widgets
modified: 20211009121812691
tags: Widgets TriggeringWidgets
title: SelectWidget
type: text/vnd.tiddlywiki