Tiddlywiki 5:通过连接几个字段来过滤 tiddlers
Tiddlywiki 5: filter tiddlers by concatenation of few fields
尝试将这个很棒的引擎用作个人任务跟踪器。有几种主要类型的 tiddlers:日、周、冲刺、事件和任务。
他们都有很少的用户字段:
day_since,
month_since,
year_since,
day_due,
month_due,
year_due.
例如,
该任务将包含字段:
day_due="23"
month_due="02"
year_due="2022"
本周将有字段:
day_since="21"
month_since="02"
year_since="2022"
day_due="27"
month_due="02"
year_due="2022"
我不使用日期类型 - 我在某些事件中使用 xx 而不是数字 - 例如每年重复的生日和假期,所以我用 xx 代替年号等。
我想过滤任务以显示所有任务,适合一周的持续时间 - 我有一周开始和结束的日、月和年,我需要构建和表达如何在周卡上显示所有合适的任务。
无法搜索解决方案。我使用 tiddlywiki 5.2.1。非常感谢任何建议。
我已经得到 talk.tiddlywiki.org 成员提供的解决方案:
这是来自模板的工作代码:
<$list filter="[is[current]tag[week]]" >
<$let
week_start={{{ [{!!since_year}] [{!!since_month}] [{!!since_day}]+[join[]] }}}
week_end={{{ [{!!due_year}] [{!!due_month}] [{!!due_day}]+[join[]] }}}
>
<h2>days:</h2>
<$list filter="[tag[day]]">
<h3> {{{ [{!!due_year}] [{!!due_month}] [{!!due_day}]+[join[]] +[compare:number:gteq<week_start>compare:number:lteq<week_end>then<currentTiddler>] }}} </h3>
</$list>
<h2>corresponding sprint:</h2>
<$list filter="[tag[sprint]]">
<$let
sprint_start={{{ [<currentTiddler>get[since_year]] [<currentTiddler>get[since_month]] [<currentTiddler>get[since_day]] +[join[]] }}}
sprint_end={{{ [<currentTiddler>get[due_year]] [<currentTiddler>get[due_month]] [<currentTiddler>get[due_day]] +[join[]] }}}
>
<h3> {{{ [<week_end>compare:number:gteq<sprint_start>compare:number:lteq<sprint_end>then<currentTiddler>] }}} </h3>
</$let>
</$list>
</div>
</$let>
</$list>
我需要的 concat 可以通过 [join[]]
实现
尝试将这个很棒的引擎用作个人任务跟踪器。有几种主要类型的 tiddlers:日、周、冲刺、事件和任务。
他们都有很少的用户字段:
day_since,
month_since,
year_since,
day_due,
month_due,
year_due.
例如,
该任务将包含字段:
day_due="23"
month_due="02"
year_due="2022"
本周将有字段:
day_since="21"
month_since="02"
year_since="2022"
day_due="27"
month_due="02"
year_due="2022"
我不使用日期类型 - 我在某些事件中使用 xx 而不是数字 - 例如每年重复的生日和假期,所以我用 xx 代替年号等。 我想过滤任务以显示所有任务,适合一周的持续时间 - 我有一周开始和结束的日、月和年,我需要构建和表达如何在周卡上显示所有合适的任务。
无法搜索解决方案。我使用 tiddlywiki 5.2.1。非常感谢任何建议。
我已经得到 talk.tiddlywiki.org 成员提供的解决方案:
这是来自模板的工作代码:
<$list filter="[is[current]tag[week]]" >
<$let
week_start={{{ [{!!since_year}] [{!!since_month}] [{!!since_day}]+[join[]] }}}
week_end={{{ [{!!due_year}] [{!!due_month}] [{!!due_day}]+[join[]] }}}
>
<h2>days:</h2>
<$list filter="[tag[day]]">
<h3> {{{ [{!!due_year}] [{!!due_month}] [{!!due_day}]+[join[]] +[compare:number:gteq<week_start>compare:number:lteq<week_end>then<currentTiddler>] }}} </h3>
</$list>
<h2>corresponding sprint:</h2>
<$list filter="[tag[sprint]]">
<$let
sprint_start={{{ [<currentTiddler>get[since_year]] [<currentTiddler>get[since_month]] [<currentTiddler>get[since_day]] +[join[]] }}}
sprint_end={{{ [<currentTiddler>get[due_year]] [<currentTiddler>get[due_month]] [<currentTiddler>get[due_day]] +[join[]] }}}
>
<h3> {{{ [<week_end>compare:number:gteq<sprint_start>compare:number:lteq<sprint_end>then<currentTiddler>] }}} </h3>
</$let>
</$list>
</div>
</$let>
</$list>
我需要的 concat 可以通过 [join[]]