I have been searching for how to do this but can not find a way at present. I have gone through the info on macros, Lists, Mathematical functions and each offers a glimpse which quickly peters out.
Any one got any pointers?
http://cultconv.com/English/Conversations/MacQueen_Mary/TiddlyWiki/index.html
bobj
I have a tiddlywiki file with 170 'pages' of information. Each tiddler corresponds to a physical page in a book. I would like a button to allow the user to 'turn the page', next or previous, without having to type its title into the search bar. Pages have a title of 'Page 001', 'Page 002', etc.
http://cultconv.com/English/Conversations/MacQueen_Mary/TiddlyWiki/index.html
<$list filter="[<currentTiddler>tag[Pages]]">
<div style="float:right;">
<$vars prev={{{ [tag[Pages]sort[]before<currentTiddler>] }}}>
<$vars next={{{ [tag[Pages]sort[]after<currentTiddler>] }}}>
<$reveal default=<<prev>> type="nomatch" text="">
<$button tooltip=<<prev>>> {{$:/core/images/chevron-left}}
<$action-sendmessage $message="tm-close-tiddler" param=<<currentTiddler>> />
<$action-navigate $to=<<prev>>/>
</$button>
</$reveal>
<$reveal default=<<next>> type="nomatch" text="">
<$button tooltip=<<next>>> {{$:/core/images/chevron-right}}
<$action-sendmessage $message="tm-close-tiddler" param=<<currentTiddler>> />
<$action-navigate $to=<<next>>/>
</$button>
</$reveal>
</$vars>
</$vars>
</div>
</$list>
<$list filter="[all[current]prefix[Page ]removeprefix[Page ]]" variable=page-number>
{{{ [<page-number>subtract[1]divide[1000]removeprefix[0.]addprefix[Page ]] }}} here {{{ [<page-number>add[1]divide[1000]removeprefix[0.]addprefix[Page ]] }}}
</$list>
<$list filter="[all[current]prefix[Page ]removeprefix[Page ]]" variable=page-number>
<$button to={{{ [<page-number>subtract[1]divide[1000]removeprefix[0.]addprefix[Page ]] }}} tooltip="last page">{{$:/core/images/left-arrow}} </$button>
<$button to= {{{ [<page-number>add[1]divide[1000]removeprefix[0.]addprefix[Page ]] }}} tooltip="next page">{{$:/core/images/right-arrow}} </$button>
</$list>
<$list filter="[all[current]prefix[Page ]removeprefix[Page ]]" variable=page-number>
<$button to="Page 001" tooltip="First page">|{{$:/core/images/chevron-left}}</$button>
<$button to={{{ [<page-number>subtract[1]divide[1000]removeprefix[0.]addprefix[Page ]] }}}>{{$:/core/images/left-arrow}}</$button>
<$button to= {{{ [<page-number>add[1]divide[1000]removeprefix[0.]addprefix[Page ]] }}}>{{$:/core/images/right-arrow}}</$button>
<$button to="Page 181" tooltip="Last page">{{$:/core/images/chevron-right}}|</$button>
</$list>
Just to check, you would like me to extend my solution to handle a larger number of pages?
Personaly I believe there are better ways than tiddlers with page number titles. In fact an alternate solution is available by using the pages tag.
It does raise what do you call something that needs a name but the names not Importiant.
Regards
Tony
Personaly I believe there are better ways than tiddlers with page number titles. In fact an alternate solution is available by using the pages tag.
<$list filter="[<currentTiddler>prefix[Page ]]">
<div style="float:right;">
<$vars prev={{{ [prefix[Page ]sort[]before<currentTiddler>] }}}>
<$vars next={{{ [prefix[Page ]sort[]after<currentTiddler>] }}}>
\define toc-list(here,max,exclude,level:"1")
<!-- SHOW ALL TOC TIDDLER TITLES AS A FLAT LIST (SIMPLE RECURSION) -->
<$list filter="""[tag[$here$]] $exclude$ -[[$here$]]""">
<$text text="[["/><<currentTiddler>><$text text="]]"/><br>
<$reveal default="$level$" type="nomatch" text="$max$">
<$macrocall $name="toc-list" here=<<currentTiddler>> max="$max$" exclude="""$exclude$ -[[$here$]]""" level={{{ [[$level$]add[1]] }}}/>
</$reveal>
</$list>
\end
<$wikify name="toc-pages" text=<<toc-list "Index">>>
<$list filter="[enlist<toc-pages>] +[<currentTiddler>]">
<div style="float:right;">
<$vars prev={{{ [enlist<toc-pages>before<currentTiddler>] }}}>
<$vars next={{{ [enlist<toc-pages>after<currentTiddler>] }}}>
<$reveal default=<<prev>> type="nomatch" text="">
<$button tooltip=<<prev>>> {{$:/core/images/chevron-left}}
<$action-sendmessage $message="tm-close-tiddler" param=<<currentTiddler>> />
<$action-navigate $to=<<prev>>/>
</$button>
</$reveal>
<$reveal default=<<next>> type="nomatch" text="">
<$button tooltip=<<next>>> {{$:/core/images/chevron-right}}
<$action-sendmessage $message="tm-close-tiddler" param=<<currentTiddler>> />
<$action-navigate $to=<<next>>/>
</$button>
</$reveal>
</$vars>
</$vars>
</div>
</$list>
</$wikify>