Evan, That works like a dream. Thank you.
As you say "tiddlywiki-oriented functions" here are some that come to mind I am trying to identify based on the current implementation if then else or other logical operators to transclude a tiddler, or include content. For example hiding or displaying content based on logic from prior answers or calculations. I am currently building a couple of macros to provide buttons with the ability to increment a date by N days, weeks months etc... My Problem is ensuring the result not the formula is returned. I have calculated using formulas the new date and still struggling to right this back to the input date field. I think this already possible I am just trying to workout how to do it, and as simply as possible. Here is a snipit that is not working. \define commitdateaction(label,datefield,update) <$button tooltip="Change $datefield$ to $update$" class="tc-btn-invisible tc-tiddlylink" > <$action-setfield $field="$datefield$" $value="$update$"/> $label$ </$button> \end \define dateincrements(datefield,inc:"D W F M Q H Y") <$set name=indate value="(= tw_date( {{!!$datefield$}} ) =)"> <!-- Main Loop --> <$list filter="$inc$" variable=period> <$list filter="[<period>prefix[D]]" variable=incperiod> <!-- Day --> <$set name=multiple value="1"> <$set name=label value="(={{!!dateinc}}*<<multiple>>=)<<incperiod>>"> <$set name=newdate value="(=to_tw_date(add_days(<<indate>>, <<multiple>>*{{!!dateinc}}))=)" > <$macrocall $name="commitdateaction" label="<<label>>" datefield=$datefield$ update=<<newdate>> /> </$set> </$set> </$set> </$list> .... <$select field=dateinc default='1'> <$list filter='1 2 3 4 5 6 12' > <option value=<<currentTiddler>>><$view field='title'/></option> </$list> </$select> <!--- <$select field=dateincdec default='+'> <option value="+">+</option> <option value="-">-</option> </$select> Save and Provide Reset --> </$set> <<newdate>> \end Regards Tony On Saturday, 30 December 2017 13:07:44 UTC+11, Evan Balster wrote: > > Hello, Tony — > > Assuming you have both the formula plugin *and* the attribute-modules > plugin installed, un-quoting your attributes will make them into formulas > (instead of literal strings): > > \define showtodayrange(datefield1,datefield2) > <progress > value=(= days( date( {{!!$datefield1$}} ) , now() ) =) > max=(= days( date( {{!!$datefield1$}} ) , date( {{!!$datefield2$}} )) > =)/> > \end > > The attribute-modules plugin is really just a stand-in for my core pull > request, and the "safer" way to do this is to use the <<formula ...>> macro > instead of the direct syntax. In this case you do quote the formula, but > you don't include the mushroom brackets: > > \define showtodayrange(datefield1,datefield2) > <progress > value=<<formula "days( date( {{!!$datefield1$}} ) , now() )">> > max=<<formula "days( date( {{!!$datefield1$}} ) , date( > {{!!$datefield2$}} ))">>/> > \end > > Gets me thinking about how I'd like to add some more tiddlywiki-oriented > functions like transclude(tiddlerName, fieldName) and > filter(expressionString) to formulas... > > On Friday, 29 December 2017 19:47:37 UTC-6, TonyM wrote: >> >> Evan, >> >> Thanks for another update. >> >> FYI: I drag this to my wiki and it is named untitled until I hit the >> import button, not sure but there may be a plugin setting needing update. >> >> Also; >> >> I am trying to see if I can get the following to work, basicaly as a >> version of Formulas as Tag Attributes >> >> Total days between, with a progress bar of days so far relative to today >> >> \define showtodayrange(datefield1,datefield2) >> <progress value="(= days( date( {{!!$datefield1$}} ) , now() ) =)" >> max="(= days( date( {{!!$datefield1$}} ) , date( {{!!$datefield2$}} )) >> =)"></progress> >> \end >> >> Regards >> Tony >> >> >> On Saturday, 30 December 2017 10:59:55 UTC+11, Evan Balster wrote: >>> >>> Formula 0.1.7 released: >>> https://evanbalster.com/tiddlywiki/formulas.html >>> GitHub and issue tracking: >>> https://github.com/EvanBalster/TiddlyWikiFormula >>> >>> Changes: >>> >>> - Add math functions styled after GLSL for visual calculations >>> - fract, modulo/mod, atan2, clamp, mix, step, smoothstep >>> - Add capture group index to regexextract and regexextract1 Functions >>> <https://evanbalster.com/tiddlywiki/formulas.html#Functions>. >>> - EG. regexextract("cats, red cats, and blue cats", "([a-z]+) >>> cats", 1) results in red and blue. >>> - Fix FormulaWidget >>> <https://evanbalster.com/tiddlywiki/formulas.html#FormulaWidget> always >>> parsing output in inline mode. >>> - Make inline the default parsing mode for FormulaWidget >>> <https://evanbalster.com/tiddlywiki/formulas.html#FormulaWidget>. >>> - Add *experimental* $noRefresh option in FormulaVarsWidget >>> <https://evanbalster.com/tiddlywiki/formulas.html#FormulaVarsWidget>. >>> - This suppresses full-refreshing, resulting in a potentially >>> significant performance boost (see >>> >>> <https://evanbalster.com/tiddlywiki/formulas.html#Harmonic%20Lattice>) >>> when variables change. >>> - This can cause incorrect refresh behavior. >>> - Add *experimental* support for Formulas as Tag Attributes >>> >>> <https://evanbalster.com/tiddlywiki/formulas.html#Formulas%20as%20Tag%20Attributes> >>> . >>> - Example: <td colspan=(= 2+2 =)/> >>> - For now, this requires a second plugin >>> >>> <https://evanbalster.com/tiddlywiki/formulas.html#%24%3A%2Fplugins%2Febalster%2Fattribute-modules> >>> that >>> modifies the TiddlyWiki core! >>> - I've started a Pull Request >>> <https://github.com/Jermolene/TiddlyWiki5/pull/3072> that would >>> add official support to TiddlyWiki core for extensions like this. >>> >>> The changes here mostly have to do with things I've been interested in >>> lately — specifically explorable explanations with SVG rendering >>> <https://evanbalster.com/tiddlywiki/formulas.html#Real%20Projective%20Line> >>> and >>> datamining TiddlyWiki's source code with regular expressions >>> <https://evanbalster.com/tiddlywiki/formulas.html#Widget%20Variable%20Inspector> >>> . >>> >>> On Friday, 22 December 2017 20:07:54 UTC-6, TonyM wrote: >>>> >>>> Evan, >>>> >>>> Very small font, and 6 was, not easy to read. Sorry. >>>> >>>> I am doing the same as you, investing a great deal of time in >>>> tiddlywiki for professional reasons and maximising my return to the >>>> community, I have a dozen solutions in Progress and Have not published any >>>> yet. >>>> >>>> If it interests you >>>> The key one I am working on now, which is benefiting from your >>>> solution, thus I will need to bundle your plugin, is a "universal tiddler >>>> disposition tool". >>>> Be it code, macros, contacts, ideas, todo, book reading, book writing, >>>> reference notes etc... every tiddler can have or travel through various >>>> life cycles including reoccuring ones. >>>> I am providing a way to indicate the nature of each tiddler as it >>>> exists in the tiddlyverse, I am then providing canned listings according >>>> to >>>> these dispositions, which are largely date driven. >>>> >>>> The theory is, with nothing more than describing what a given tiddler >>>> is via its disposition, then using tools I provide to query such >>>> dispositions the user effectively gains an unlimited number of solutions >>>> and applications. >>>> >>>> For my business it turbo charges rapid development of solutions. >>>> >>>> This is the virtuous circle of a healthy open source community. >>>> >>>> Regards >>>> Tony >>>> >>>> On Saturday, 23 December 2017 12:29:30 UTC+11, Evan Balster wrote: >>>>> >>>>> Hey, Tony — >>>>> >>>>> Pleased to serve! I'm building this with my own needs in mind >>>>> foremost, but I happened to be in a situation where I could justify >>>>> putting >>>>> professional time into the project and make something fairly robust and >>>>> feature-rich. I get a lot of satisfaction out of putting together a nice >>>>> tool, and it's a fun diversion from my larger project. :) >>>>> >>>>> The Get your Plugin indicates the plugin is Version 0.1.0 although it >>>>>> is now 0.1.6 >>>>> >>>>> >>>>> Et tu, cache? Try refreshing. >>>>> >>>>> >>>>> On Friday, 22 December 2017 19:14:40 UTC-6, TonyM wrote: >>>>>> >>>>>> Evan, >>>>>> >>>>>> For you >>>>>> At https://evanbalster.com/tiddlywiki/formulas.html the Get your >>>>>> Plugin indicates the plugin is Version 0.1.0 although it is now 0.1.6 >>>>>> >>>>>> From me >>>>>> Thanks so much for your work here, Looking ahead I can see dozens of >>>>>> features/solutions I wish to build, being supported by "formulas". >>>>>> >>>>>> It seems this path you have taken is already removing barriers, that >>>>>> appeared in tiddlywiki for some time, and providing shortcuts to others. >>>>>> >>>>>> Of course the number of features are so rich I have had too little >>>>>> time to investigate and test how to solve some of my problems. But you >>>>>> have >>>>>> made my obsession with tiddlywiki even stronger. >>>>>> >>>>>> You may of spent some time building this but that time is possibly >>>>>> small compared to the time I will now spend learning to leveraging it, >>>>>> not >>>>>> to mention that in the long run I will save time and reduce design to >>>>>> deployment times. >>>>>> >>>>>> Be aware, I for one, and I presume many others, are very grateful for >>>>>> your work here. I can only wish you all the best in return and thank you >>>>>> deeply. >>>>>> >>>>>> Regards >>>>>> Tony >>>>>> >>>>>> >>>>>> On Saturday, 23 December 2017 10:41:25 UTC+11, Evan Balster wrote: >>>>>>> >>>>>>> Announcing Formula 0.1.6: >>>>>>> https://evanbalster.com/tiddlywiki/formulas.html >>>>>>> GitHub & issue tracking: >>>>>>> https://github.com/EvanBalster/TiddlyWikiFormula >>>>>>> >>>>>>> - Enhanced performance. >>>>>>> - Add range Operator for counting. >>>>>>> - *FormulaWidget results are now wikified by default*. >>>>>>> - Made filter behavior more consistent with TiddlyWiki >>>>>>> - Support compound filters with + and - (these break >>>>>>> precedence rules). >>>>>>> - *Arrays now convert to strings in TiddlyWiki list format.* >>>>>>> - Implement escape sequences in String Literal. >>>>>>> - \\, \', \", \n, \r, \t, \v, \f, \b, \0, \u1234 (unicode) >>>>>>> - Add calendar functions: is_leap_year(y), days_in_year(y), >>>>>>> days_in_month(y,m) >>>>>>> - Add math functions: gcd and lcm >>>>>>> - Fix support for (?igm) flags in regular expression strings. >>>>>>> - Make regexextract and regexreplace search globally by default. >>>>>>> - Make regexmatch and regexextract1 search non-globally by >>>>>>> default. >>>>>>> - Implement selective evaluation to save performance. >>>>>>> - Logic functions supported: if >>>>>>> - (Still experimenting with this, and may go in a very >>>>>>> different direction). >>>>>>> - Implement operand constructors for more flexible/performant >>>>>>> functions. >>>>>>> >>>>>>> Wikification of formula output opens up a bunch of doors for those >>>>>>> willing to do some involved string processing. Formulas is also >>>>>>> getting >>>>>>> fairly powerful as a tool for mining data with regular expressions >>>>>>> (though >>>>>>> the recent introduction of escape sequences makes these a little more >>>>>>> burdensome to type out). >>>>>>> >>>>>>> On Friday, 22 December 2017 14:16:09 UTC-6, coda coder wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Friday, December 22, 2017 at 11:33:50 AM UTC-6, Evan Balster >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> In the future, Formulas should include some ability to go through >>>>>>>>> arrays and apply a function to each item inside them, which would >>>>>>>>> form a >>>>>>>>> more efficient solution than the one here (which will scale up poorly >>>>>>>>> because it runs myFilter once for each element in the list). >>>>>>>>> >>>>>>>>> >>>>>>>> Yep, I see that. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Last year I wrote a filter operator plugin called <a href=" >>>>>>>>> https://groups.google.com/forum/#!topic/tiddlywiki/13_TTJqEEiw" >>>>>>>>> rel="nofollow" target="_blank" onmousedown="this.href=' >>>>>>>>> https://groups.google.com/forum/#!topic/tiddlywiki/13_TTJqEEiw';return >>>>>>>>> >>>>>>>>> t >>>>>>>>> >>>>>>>> -- 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 post to this group, send email to tiddlywiki@googlegroups.com. Visit this group at https://groups.google.com/group/tiddlywiki. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/d0776065-bd1e-4967-9e83-9be8c4e1f445%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.