Hi Louis As you've discovered, the wikitext table syntax is very simple, and doesn't support dynamic generation. The philosophy of TiddlyWiki's wikitext syntax is to provide easy-to-type shortcuts for common idioms that expand to sequences of widgets. In designing the wikitext syntax we are able to favour simplicity over flexibility because it is always possible for users to drop down into "raw widgets" to get the finest possible degree of control.
One can visualise the various elements of wikitext as a hierarchy of complexity/flexibility: * Wikitext syntax is simple, easy to type and remember * Macros add dynamic effects with the simplest possible syntax (because there are no closing tags to get mismatched) * Widgets (and HTML) provide the base level of elementary primitives Best wishes Jeremy. -- Jeremy Ruston jer...@jermolene.com https://jermolene.com > On 9 Aug 2021, at 22:02, Louis Davout <davout1...@gmail.com> wrote: > > > Well this works: > > \define davout-list(levels: "1,3,5") > <table> > <tr><th>Level</th><th>Blah</th></tr> > <$list filter="[[$levels$]split[,]]" variable="level"> > <tr><td><<level>> </td><td>Blah</td></tr> > </$list> > </table> > \end >> On Monday, August 9, 2021 at 9:53:34 AM UTC-4 Louis Davout wrote: >> \define davout-list(levels: "1,3,5") >> | ! Level | ! Blah | >> <$list filter="[[$levels$]split[,]]" variable="level"> >> >> | <<level>> | Blah | >> >> </$list> >> \end >> >> Removes the <p> tags but makes each row into its own table. >> >>> On Monday, August 9, 2021 at 9:46:15 AM UTC-4 Louis Davout wrote: >>> >>> I'm trying to use the <$list> widget generate table rows. One is this even >>> possible. Two How? Here is simplified version of code I've tried. >>> >>> \define davout-list(levels: "1,3,5") >>> | ! Level | ! Blah | >>> <$list filter="[[$levels$]split[,]]" variable="level"> >>> | <<level>> | Blah | >>> </$list> >>> \end >>> >>> \define davout-list2(levels: "1,3,5") >>> | ! Level | ! Blah | >>> <$list filter="[[$levels$]split[,]]" variable="level"> >>> | <<level>> | Blah | >>> <$wikify name=wikifiedRow text=| <<level>> | Blah |> >>> <<wikifiedRow>> >>> </$wikify> >>> </$list> >>> \end >>> >>> <<davout-list>> >>> >>> <<davout-list2>> >>> >>> The html it generates: >>> <table><tbody><tr class="evenRow"><th align="center"> Level</th><th >>> align="center"> Blah</th></tr></tbody></table><p> >>> | 1 | Blah | >>> >>> | 3 | Blah | >>> >>> | 5 | Blah | >>> </p><table><tbody><tr class="evenRow"><th align="center"> Level</th><th >>> align="center"> Blah</th></tr></tbody></table><p> >>> | 1 | Blah | >>> > | Blah |> >>> | >>> >>> >>> | 3 | Blah | >>> > | Blah |> >>> | >>> >>> >>> | 5 | Blah | >>> > | Blah |> >>> | >>> >>> </p> >>> >>> It's closing the table and generating <p> tags. >>> --------------------------------------------------------- >>> A more general question. It's been stated that macros are text substitution >>> not functions that return a value. And they don't "evaluate". I've seen >>> first hand they don't return a value, but they do seem to at least execute >>> some code. For example they do call other macros: >>> >>> \define a() >>> <<b "here">> >>> \end >>> >>> \define b(where) >>> $where$ >>> \end >>> >>> <<a>> >>> >>> produces: >>> here >>> >>> So what are the rules for what macros will and will not "execute"? >>> >>> Thanks. > > -- > You received this message because you are subscribed to the Google Groups > "TiddlyWiki" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to tiddlywiki+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywiki/c17202a8-3ee6-47b5-a9e1-d5f4b2f04563n%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/759AAEBB-8EAA-4D62-9355-254F9336013C%40gmail.com.