<$macrocall $name=italicise text=mytext />
<<italicise text=mytext >>
\define foo(bar=frotz)
...because html tags assign values using = , so it would be consistent. (And currently, it doesn't make sense that it's different symbols when defining a macro parameter default value and when calling that same macro with a parameter value.)
<$tiddler tiddler=foo> ----> <$tiddler foo>
<$link to={{!!modifier}}> ----> <$link {{!!modifier}}>
<$view field="modifier"/> ----> <$view modifier/>
For "TWX", i.e a totally hypothetical future version of TW:
- Replace $set with an empowered $vars for direct parameter value setting.
- ...and merge $wikify into it. Wikification can be toggled via a parameter in the widget.
- Change name of "currentTiddler" variable to be only "current". One reason is because it is not always tiddlers we're talking about. Possibly currentTitle, which as least is closer to what the outputs {{{ from this filter }}} are. (Also, minor, but the "is operator" uses is[current] )
- Only "=" to assign values, not ":". Examples:
<$macrocall $name=italicise text=mytext />
<<italicise text=mytext >>
\define foo(bar=frotz)
...because html tags assign values using = , so it would be consistent. (And currently, it doesn't make sense that it's different symbols when defining a macro parameter default value and when calling that same macro with a parameter value.)
- Allow "immediate arguments" for some widgets. For example the $tiddlerwidget could be called like so
<$tiddler=foo> or <$tiddler foo>
...i.e the string following a separator is assumed to be a value for the "main parameter" of the widget.
- Implement a variable call default filter parameter. Saving a list as a variable would then, by default and without having to define a macro, allow you to do e.g <<mylist|[first[]]>> and, something like $(mylist|[first[]])$. This way we can work with full lists in a new way (like arrays) instead of having to work inside a listwidget with one item at a time.
<:-)
- Change name of "currentTiddler" variable to be only "current". One reason is because it is not always tiddlers we're talking about. Possibly currentTitle, which as least is closer to what the outputs {{{ from this filter }}} are. (Also, minor, but the "is operator" uses is[current] )
[[...]] <<...>> {{...}} '...' "..." """...""" {{{...}}}
and in filter variants [...] <...> {...}
[[...]] default, no flag signifies filter
[v[...]] or [[v|...]] to signify variable
[t[...]] or [[t|...]] to signify transclusion
etc
[foo:v[...]] OR [foo|v[...]] OR [foo[v|...]]
<$set name=x value=...> → <$set=x value=...>
<$tiddler tiddler=x ...> → <$tiddler=x ...>
<$list filter=...> → <$list=...>(Not everything has a "main attribute")
- Let the widget name serve as the "main attribute":
- Filtered transclusion: Replace the syntax {{{[...]}}} with [evaluate[...]] i.e an "evaluate" operator. In case of space separation, use single or triple quotes. This would visually harmonize filtered transclusion with how filters look overall. It would also make "fitered translcusion as argument" look better, e.g <$vars foo="[evaluate[...]]">