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 [email protected].
To post to this group, send email to [email protected].
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.