分页式查看笔记
-
把论坛上的分页式查看笔记拿过来了,做了几个处理。
- 一个是把原本的固定条目改成了状态条目,这样你可以在多个条目中使用这种模块。
- 另一个是对没有标签的条目,会显示一个气球的emoij,起到标识的作用。
-
- 大多数没有标签的条目可能是临时条目忘了删除,没有被很好地整理下去。
- 改成了双栏的形式,感觉更美观,空间利用更大。
- 去除了原本代码中跟着的标签显示。
- 还排除了没有text的条目。
-
- 我是因为自己有很多条目都没有text,而只存储字段值。
- 自己可以修改里面的筛选器或者排序方式,或者进一步封装成模块,也可以对展示样式进行处理。我本来想自己做一个的,但搞了一下午还是做得不好看。
- 里面主要使用了
rest
筛选器,结合limit
筛选器,就可以选择条目的范围了。 - My little pagination routine
\define additional-select-actions() <$set name="rest" filter="[{$:/state/pagination/recent}subtract[12]]"> <$action-setfield $tiddler="$:/state/pagination/recent" restless=<<rest>> /> </$set> \end \define build-page(number less) <div style="columns: 2;"> <$list filter="[!is[system]has[text]!sort[created]limit[$number$]rest[$less$]]" > • <$link to={{!!title}}>{{!!title}}</$link> <span class='tc-subtitle'><$view format="date" template="YYYY-0MM-0DD" field="created"/> <%if [<currentTiddler>untagged[]] %>🎈<%endif%></span><br /> </$list> </div> \end \define previous-button(interval) <$set name='computedText' filter='[{$:/state/pagination/recent}subtract[$interval$]]'> <$set name='computedRest' filter='[{$:/state/pagination/recent!!restless}subtract[$interval$]]'> <$action-setfield $tiddler='$:/state/pagination/recent' text=<<computedText>> restless=<<computedRest>> /> </$set> </$set> Previous \end \define next-button(interval) <$set name='computedText' filter='[{$:/state/pagination/recent}add[$interval$]]'> <$set name='computedRest' filter='[{$:/state/pagination/recent!!restless}add[$interval$]]'> <$action-setfield $tiddler='$:/state/pagination/recent' text=<<computedText>> restless=<<computedRest>> /> </$set> </$set> Next \end <div class="tc-subtitle">Recent</div> <$macrocall $name="build-page" number={{$:/state/pagination/recent}} less={{$:/state/pagination/recent!!restless}} /> <div class='spacerhalf'></div> <$set name='totaltidds' filter='[!is[system]has[text]count[]]'> <$set name='tiddspan' filter='[{$:/state/pagination/recent}subtract[11]]'> <$list filter="[field:title[$:/state/pagination/recent]!text[12]]"> <$button> <<previous-button 12>> </$button> </$list> <$set name='pages' filter='[!is[system]has[text]count[]divide[12]round[]]'> <$set name=start value="1"> <$set name=end value=<<pages>>> <$select tiddler='$:/state/pagination/recent' actions=<<additional-select-actions>>> <$list filter="[range<start>,<end>]" variable=index> <$set name=multipliedvalue filter="[<index>multiply[12]]"> <$set name=multipliedrest filter="[<index>multiply[12]subtract[12]]"> <option value=<<multipliedvalue>>><<index>></option> </$set> </$set> </$list> </$select> </$set> </$set> <$list filter="[field:title[$:/state/pagination/recent]get[text]compare:number:lt<totaltidds>]"> <$button> <<next-button 12>> </$button> </$list> <div class='spacerhalf'></div> <div>Viewing: <<tiddspan>>-{{$:/state/pagination/recent}} of <<totaltidds>></div> </$set> </$set>
-
@linonetwo 论坛中的代码区块没有换行功能吗?感觉没有换行看起来不太方便的样子。