What are 5 most important widgets to learn?

217 views
Skip to first unread message

joearms

unread,
Dec 20, 2018, 7:17:01 AM12/20/18
to TiddlyWikiDev
I think I know what $set and $list do.

So what are 5 most important widgets to learn?- ranked in order of importance.

I'd really appreciate some feedback

/Joe


Mohammad Rahmani

unread,
Dec 20, 2018, 8:58:46 AM12/20/18
to TiddlyWikiDev
Joe,
 Post to TW USER forum!

--Mohammad

Simon Huber

unread,
Dec 20, 2018, 1:44:02 PM12/20/18
to TiddlyWikiDev
opinionated:

1 - LIST widget
2 - TRANSCLUDE widget
3 - SET widget
4 - REVEAL widget && BUTTON widget
5 - ACTION-SENDMESSAGE widget (with all its messages [ search tiddlywiki.com for "tm-..." ])



Joshua Fontany

unread,
Dec 22, 2018, 4:40:52 PM12/22/18
to TiddlyWikiDev
The most important widget to learn is the $tiddler widget. For example, the {{}} wikitext is shorthand for <$tiddler><$transclude>...</$transclude></$tiddler>

It changes the <<curreTiddler>> variable for all children and thus the "context" of any transcluded content or templates.

Jeremy Ruston

unread,
Dec 23, 2018, 8:05:47 AM12/23/18
to tiddly...@googlegroups.com
Hi Joe,

My take on the 5 most important widgets to learn would be:

* <$transclude>
* <$set> (note that <$tiddler> is really just an instance of the <$set> widget)
* <$list>
* <$text>
* <$link>

And if I was allowed another 5 they would be:

* <$macrocall>
* <$edit-text>
* <$button>
* <$navigator>
* <$reveal>

There’s also a bundle of widgets that I consider to be hacks that have hung over from the very early days of TW5. At the beginning we didn’t have flexible enough primitives to model some behaviour (like the story river), and so there’s a number of widgets that encapsulate blobs of JavaScript that could soon be replaced by more generic, smaller components:

* <$navigator>
* <$fieldmangler>
* <$linkcatcher>
* <$encrypt> for encrypting the payload of standalone HTML TiddlyWikis
* <$raw>

Best wishes

Jeremy


> On 22 Dec 2018, at 21:40, Joshua Fontany <joshua....@gmail.com> wrote:
>
> The most important widget to learn is the $tiddler widget. For example, the {{}} wikitext is shorthand for <$tiddler><$transclude>...</$transclude></$tiddler>
>
> It changes the <<curreTiddler>> variable for all children and thus the "context" of any transcluded content or templates.
>
> --
> You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
> To post to this group, send email to tiddly...@googlegroups.com.
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/6bcdd3b1-ce4d-4edc-849d-a6f6f509fe2b%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

@TiddlyTweeter

unread,
Dec 27, 2018, 7:31:07 AM12/27/18
to TiddlyWikiDev
I watched with great interest replies to Joe. 

They tell me a lot I did not know that is USEFUL to know.

Jeremy Ruston wrote:
My take on the 5 most important widgets to learn would be...

joearms

unread,
Jan 4, 2019, 4:50:48 PM1/4/19
to TiddlyWikiDev
Interesting - I notice checkbox was not in any of your lists. My
one-liner was very instructive:

<$checkbox tag="welcome"> welcome? </$checkbox>

Playing with this in live preview mode showed the symmetric nature of the data binding.

When I toggled the checkbox the tag "welcome" came and went.

The *exciting* thing was that the checkbox changed when I manually added or
removed the tag.

This single line and some playing around made more sense to me than the documentation.

Once I *understood* the behaviour THEN the documentation made sense.

From this point of view, I could repeat my question only with time asking
"which widgets best illustrate the dynamic nature of the TW?

You get a lot of mileage from <$checkbox> so it would be nice to show this to the beginner who
cannot program :-)

Cheers

/Joe

TonyM

unread,
Jan 4, 2019, 5:41:55 PM1/4/19
to TiddlyWikiDev
Joe,

"which widgets best illustrate the dynamic nature of the TW?

  • A list widget in one open tiddler, or in the sidebar tabs will refresh with new or removed members the moment they are changed.
  • If you have a tiddler tagged $:/tags/ViewTemplate and within that a conditional display, eg show if field tiddlter-type = task, display some content, as soon as any open tiddler (0 or more) meets that condition the view will change to include your additional content.
To me these are the most obviouse examples, are you looking for something more specific?

Regards
tony

joearms

unread,
Jan 5, 2019, 8:48:45 AM1/5/19
to TiddlyWikiDev


On Friday, 4 January 2019 23:41:55 UTC+1, TonyM wrote:
Joe,

"which widgets best illustrate the dynamic nature of the TW?

  • A list widget in one open tiddler, or in the sidebar tabs will refresh with new or removed members the moment they are changed.
  • If you have a tiddler tagged $:/tags/ViewTemplate and within that a conditional display, eg show if field tiddlter-type = task, display some content, as soon as any open tiddler (0 or more) meets that condition the view will change to include your additional content.
To me these are the most obviouse examples, are you looking for something more specific?

That's fine for starters - thank you.

/Joe

Brian Theado

unread,
Jan 5, 2019, 11:44:26 AM1/5/19
to tiddly...@googlegroups.com
Joe,

On Fri, Jan 4, 2019 at 4:50 PM joearms <joe...@gmail.com> wrote:
From this point of view, I could repeat my question only with time asking
"which widgets best illustrate the dynamic nature of the TW?

All TW widgets demonstrate the dynamic nature. There are several others which demonstrate it in a similar way to the checkbox. Here is some TW code which illustrates:

|CheckboxWidget|<$checkbox tiddler="mytest" field="status" checked="open" unchecked="closed" default="closed"> Is it open?</$checkbox>|
|SelectWidget|<$select tiddler="mytest" field="status"> <option>open</option> <option>closed</option> </$select>|
|RadioWidget|<$radio tiddler="mytest" field="status" value="open">open</$radio> <$radio tiddler="mytest" field="status" value="closed">closed</$radio>|
|EditTextWidget|<$edit-text tiddler="mytest" field=status/>|
|Transcluding the field value|{{mytest!!status}}|

Interacting with any of the widgets causes all the others to update.

Exercise:

Remove the tiddler="mytest" and the current tiddler will be used for storage instead of the tiddler named "mytest". All the examples remain usable except the edit text widget. With every keystroke, focus is lost in the widget. Why?

|CheckboxWidget|<$checkbox field="status" checked="open" unchecked="closed" default="closed"> Is it open?</$checkbox>|
|SelectWidget|<$select field="status"> <option>open</option> <option>closed</option> </$select>|
|RadioWidget|<$radio field="status" value="open">open</$radio> <$radio field="status" value="closed">closed</$radio>|
|EditTextWidget|<$edit-text field=status/>|
|Transcluding the field value|{{!!status}}|

Brian

Brian Theado

unread,
Jan 5, 2019, 12:00:13 PM1/5/19
to tiddly...@googlegroups.com
Jeremy,

On Sun, Dec 23, 2018 at 8:05 AM Jeremy Ruston <jeremy...@gmail.com> wrote:
[...]
There’s also a bundle of widgets that I consider to be hacks that have hung over from the very early days of TW5. At the beginning we didn’t have flexible enough primitives to model some behaviour (like the story river), and so there’s a number of widgets that encapsulate blobs of JavaScript that could soon be replaced by more generic, smaller components:

* <$navigator>
* <$fieldmangler>
* <$linkcatcher>
* <$encrypt> for encrypting the payload of standalone HTML TiddlyWikis
* <$raw>

I'm interested to hear more about this. What newer more flexible primitives allow these to be replaced by something more generic?

Brian 

TonyM

unread,
Jan 6, 2019, 6:17:44 AM1/6/19
to TiddlyWikiDev
Brian,

You will loose focus, if you are editing the content, that includes the edit widget. Each keystroke it recognises the change and refreshes the tiddler including the edit text widget.

Edit another tiddler from this tiddler and it should stay in focus.

There is a tricky way to make this appear to work in this tiddler, by actualy doing it from another tiddler.

Untested on above code, but most likely the cause.

Tony

Brian Theado

unread,
Jan 6, 2019, 9:12:58 AM1/6/19
to tiddly...@googlegroups.com
Yes, sure. I knew the answer. I saw Joe write such an "exercise for the reader" question on his blog and thought he might appreciate the same :-).

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
Reply all
Reply to author
Forward
0 new messages