On Saturday, January 25, 2020 at 11:47:53 AM UTC-8, Mohammad wrote:
>
> By default TiddlyBook uses "sequential reader" interface that lets one
> steps through all the TOC items or all tiddlers.
> How one can have this interface on those tiddlers only existed in TOC not
> all tiddlers?
>
By default, if you are viewing a tiddler that is not in the <<toc-list>>,
TiddlyBook/NavBar/Bottom shows links to the first <<toc-list>> item. I
find this convenient when working on TiddlyBook internals, as it gives me
an easy way to get back to the CoverPage for quick testing of changes.
However, I can understand why it might also be desirable to suppress that
default handling when TiddlyBook/NavBar/Bottom is used in other documents.
To enable suppression of the default handling, I've changed the code to use
$list instead of $tiddler when showing the the link/button output:
<$list filter="[<currentTiddler>!tag[bookcover]!is[system]]">
<div class="hideForPrint">
@@.floatleft {{TiddlyBook/Popups/Chapters}} @@
@@.floatright {{TiddlyBook/Popups/Appendix}} @@
<div style="text-align:center;white-space:nowrap">
<$wikify name="all" text="""<$macrocall $name="toc-list"
here={{TiddlyBook/RootTag}} />""">
<$vars first={{{ [enlist<all>first[]] }}}>
<$vars prev={{{ [enlist<all>before<currentTiddler>] ~[<first>]
}}}>
<$vars next={{{ [enlist<all>after<currentTiddler>] ~[<first>]
}}}>
<$list filter=<<prev>>>
<span class="tt-navbar-button">
<$link tooltip=<<toc-caption>
>>{{$:/core/images/chevron-left}}</$link>
</span>
</$list>
<$list filter=<<next>>>
<div style="display:inline-block;">
@@.smaller ''//next topic://''<br>@@
@@.largest <$link>''<<toc-caption>>''</$link>@@
</div>
<span class="tt-navbar-button">
<$link tooltip=<<toc-caption>
>>{{$:/core/images/chevron-right}}</$link>
</span>
</$list>
</$vars>
</$vars>
</$vars>
</$wikify>
</div>
@@.clear @@
</div>
</$list>
This, in itself, does NOT change the default behavior... but, it does allow
you quickly tweak ONE LINE in the code to achieve the result you want.
Simply change this:
<$vars first={{{ [enlist<all>first[]] }}}>
to this:
<$vars NO_first={{{ [enlist<all>first[]] }}}>
The effect is that there is no longer a fallback default when calculating
the "prev" and "next" values... and, since the code now uses $list instead
of $tiddler, no output is produced when the current tiddler is not in the
<<toc-list>>
Q.E.D.
I've posted the update to
http://tiddlytools.com/InsideTW/#TiddlyTools%2FNavBar%2FBottom
Give it a try and let me know how it goes.
-e
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/d3f594c1-27be-42da-ace1-003bd77a6a38%40googlegroups.com.