1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-07-01 01:23:01 +00:00

Trim saga: The big macros (#6269)

* adding trim: large macros and languageswitcher

* adding trim: KeyboardShortcuts.tid

* Hidden space to force some macros to be inline

This'll be our little secret. This single byte will actually allow
the uglifier to trim over thirty bytes while condensing.

I know I'm not supposed to optimize TW for some 3rd party plugin,
but I'm the one doing the whitespace trim work, so I'll give myself
this.

* More consistent nested quoting
This commit is contained in:
Cameron Fischer 2022-04-01 07:09:59 -04:00 committed by GitHub
parent 4a9cf67a25
commit 6701683ddf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 69 additions and 30 deletions

View File

@ -5,8 +5,11 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/ \define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/
\define new-shortcut(title) \define new-shortcut(title)
\whitespace trim
<div class="tc-dropdown-item-plain"> <div class="tc-dropdown-item-plain">
<$edit-shortcut tiddler="$title$" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus="true" style="width:auto;"/> <$button> <$edit-shortcut tiddler="$title$" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus="true" style="width:auto;"/>
&#32;
<$button>
<<lingo Add/Caption>> <<lingo Add/Caption>>
<$action-listops <$action-listops
$tiddler="$(shortcutTitle)$" $tiddler="$(shortcutTitle)$"
@ -21,6 +24,7 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
\end \end
\define shortcut-list-item(caption) \define shortcut-list-item(caption)
\whitespace trim
<td> <td>
</td> </td>
<td style="text-align:right;font-size:0.7em;"> <td style="text-align:right;font-size:0.7em;">
@ -31,16 +35,16 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
<$button popup=<<qualify "$:/state/dropdown/$(shortcutTitle)$">> class="tc-btn-invisible"> <$button popup=<<qualify "$:/state/dropdown/$(shortcutTitle)$">> class="tc-btn-invisible">
{{$:/core/images/edit-button}} {{$:/core/images/edit-button}}
</$button> </$button>
&#32;
<$macrocall $name="displayshortcuts" $output="text/html" shortcuts={{$(shortcutTitle)$}} prefix="<kbd>" separator="</kbd> <kbd>" suffix="</kbd>"/> <$macrocall $name="displayshortcuts" $output="text/html" shortcuts={{$(shortcutTitle)$}} prefix="<kbd>" separator="</kbd> <kbd>" suffix="</kbd>"/>
<$reveal state=<<qualify "$:/state/dropdown/$(shortcutTitle)$">> type="popup" position="below" animate="yes"> <$reveal state=<<qualify "$:/state/dropdown/$(shortcutTitle)$">> type="popup" position="below" animate="yes">
<div class="tc-block-dropdown-wrapper"> <div class="tc-block-dropdown-wrapper">
<div class="tc-block-dropdown tc-edit-type-dropdown tc-popup-keep"> <div class="tc-block-dropdown tc-edit-type-dropdown tc-popup-keep">
<$list filter="[list[$(shortcutTitle)$!!text]sort[title]]" variable="shortcut" emptyMessage=""" <$list
<div class="tc-dropdown-item-plain"> filter="[list[$(shortcutTitle)$!!text]sort[title]]"
//<<lingo NoShortcuts/Caption>>// variable="shortcut"
</div> emptyMessage="<div class='tc-dropdown-item-plain'>//<<lingo NoShortcuts/Caption>>//</div>">
""">
<div class="tc-dropdown-item-plain"> <div class="tc-dropdown-item-plain">
<$button class="tc-btn-invisible" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}> <$button class="tc-btn-invisible" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>
<$action-listops <$action-listops
@ -50,6 +54,7 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
/> />
<small>{{$:/core/images/close-button}}</small> <small>{{$:/core/images/close-button}}</small>
</$button> </$button>
&#32;
<kbd> <kbd>
<$macrocall $name="displayshortcuts" $output="text/html" shortcuts=<<shortcut>>/> <$macrocall $name="displayshortcuts" $output="text/html" shortcuts=<<shortcut>>/>
</kbd> </kbd>
@ -65,6 +70,7 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
\end \end
\define shortcut-list(caption,prefix) \define shortcut-list(caption,prefix)
\whitespace trim
<tr> <tr>
<$list filter="[[$prefix$$(shortcutName)$]]" variable="shortcutTitle"> <$list filter="[[$prefix$$(shortcutName)$]]" variable="shortcutTitle">
<<shortcut-list-item "$caption$">> <<shortcut-list-item "$caption$">>
@ -73,6 +79,7 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
\end \end
\define shortcut-editor() \define shortcut-editor()
\whitespace trim
<<shortcut-list "All" "$:/config/shortcuts/">> <<shortcut-list "All" "$:/config/shortcuts/">>
<<shortcut-list "Mac" "$:/config/shortcuts-mac/">> <<shortcut-list "Mac" "$:/config/shortcuts-mac/">>
<<shortcut-list "NonMac" "$:/config/shortcuts-not-mac/">> <<shortcut-list "NonMac" "$:/config/shortcuts-not-mac/">>
@ -87,6 +94,7 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
\end \end
\define shortcut-item-inner() \define shortcut-item-inner()
\whitespace trim
<tr> <tr>
<td> <td>
<$reveal type="nomatch" state=<<dropdownStateTitle>> text="open"> <$reveal type="nomatch" state=<<dropdownStateTitle>> text="open">
@ -107,6 +115,7 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
{{$:/core/images/down-arrow}} {{$:/core/images/down-arrow}}
</$button> </$button>
</$reveal> </$reveal>
&#32;
''<$text text=<<shortcutName>>/>'' ''<$text text=<<shortcutName>>/>''
</td> </td>
<td> <td>
@ -126,10 +135,12 @@ caption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}
\end \end
\define shortcut-item() \define shortcut-item()
\whitespace trim
<$set name="dropdownStateTitle" value=<<qualify "$:/state/dropdown/keyboardshortcut/$(shortcutName)$">>> <$set name="dropdownStateTitle" value=<<qualify "$:/state/dropdown/keyboardshortcut/$(shortcutName)$">>>
<<shortcut-item-inner>> <<shortcut-item-inner>>
</$set> </$set>
\end \end
\whitespace trim
<table> <table>
<tbody> <tbody>

View File

@ -3,6 +3,7 @@ title: $:/snippets/languageswitcher
\define flag-title() \define flag-title()
$(languagePluginTitle)$/icon $(languagePluginTitle)$/icon
\end \end
\whitespace trim
<$linkcatcher to="$:/language"> <$linkcatcher to="$:/language">
<div class="tc-chooser tc-language-chooser"> <div class="tc-chooser tc-language-chooser">
@ -18,6 +19,7 @@ $(languagePluginTitle)$/icon
</$transclude> </$transclude>
</$set> </$set>
</span> </span>
&#32;
<$view field="description"> <$view field="description">
<$view field="name"> <$view field="name">
<$view field="title"/> <$view field="title"/>

View File

@ -2,6 +2,7 @@ title: $:/core/macros/diff
tags: $:/tags/Macro tags: $:/tags/Macro
\define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle) \define compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)
\whitespace trim
<$set name="source" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>> <$set name="source" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>>>
<$set name="dest" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>> <$set name="dest" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>>>
<$diff-text source=<<source>> dest=<<dest>>/> <$diff-text source=<<source>> dest=<<dest>>/>
@ -10,6 +11,7 @@ tags: $:/tags/Macro
\end \end
\define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude) \define compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)
\whitespace trim
<table class="tc-diff-tiddlers"> <table class="tc-diff-tiddlers">
<tbody> <tbody>
<$set name="sourceFields" filter="[<__sourceTiddlerTitle__>fields[]sort[]]"> <$set name="sourceFields" filter="[<__sourceTiddlerTitle__>fields[]sort[]]">
@ -22,8 +24,7 @@ tags: $:/tags/Macro
<td> <td>
<$set name="source" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>> <$set name="source" tiddler=<<__sourceTiddlerTitle__>> subtiddler=<<__sourceSubTiddlerTitle__>> field=<<fieldName>>>
<$set name="dest" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>> <$set name="dest" tiddler=<<__destTiddlerTitle__>> subtiddler=<<__destSubTiddlerTitle__>> field=<<fieldName>>>
<$diff-text source=<<source>> dest=<<dest>>> <$diff-text source=<<source>> dest=<<dest>>>&#32;</$diff-text>
</$diff-text>
</$set> </$set>
</$set> </$set>
</td> </td>

View File

@ -2,17 +2,21 @@ title: $:/core/macros/keyboard-driven-input
tags: $:/tags/Macro tags: $:/tags/Macro
\define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions) \define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)
\whitespace trim
<$set name="tabsList" filter="[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]"> <$set name="tabsList" filter="[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]">
<$vars currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}} firstTab={{{ [enlist<tabsList>nth[1]] }}} lastTab={{{ [enlist<tabsList>last[]] }}}> <$let
<$set name="nextTab" value={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}> currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}}
firstTab={{{ [enlist<tabsList>nth[1]] }}}
lastTab={{{ [enlist<tabsList>last[]] }}}
nextTab={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}>
<$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/> <$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/>
$actions$ $actions$
</$set> </$let>
</$vars>
</$set> </$set>
\end \end
\define keyboard-input-actions() \define keyboard-input-actions()
\whitespace trim
<$list filter="[<__index__>match[]]"> <$list filter="[<__index__>match[]]">
<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/> <$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>
</$list> </$list>
@ -22,6 +26,7 @@ $actions$
\end \end
\define input-next-actions-inner() \define input-next-actions-inner()
\whitespace trim
<$list filter="[<nextItem>minlength[1]]" variable="ignore"> <$list filter="[<nextItem>minlength[1]]" variable="ignore">
<$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/> <$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/>
<$list filter="[<__index__>match[]]"> <$list filter="[<__index__>match[]]">
@ -35,12 +40,19 @@ $actions$
\end \end
\define input-next-actions(afterOrBefore:"after",reverse:"") \define input-next-actions(afterOrBefore:"after",reverse:"")
\whitespace trim
<$list filter="[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]" variable="ignore"> <$list filter="[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]" variable="ignore">
<$vars userInput={{{ [<__storeTitle__>get[text]] }}} selectedItem={{{ [<__selectionStateTitle__>get[text]] }}}> <$let
<$set name="configTiddler" value={{{ [subfilter<__configTiddlerFilter__>] }}}> userInput={{{ [<__storeTitle__>get[text]] }}}
<$vars primaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}} secondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}> selectedItem={{{ [<__selectionStateTitle__>get[text]] }}}
configTiddler={{{ [subfilter<__configTiddlerFilter__>] }}}
primaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}}
secondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}>
<$set name="filteredList" filter="[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]"> <$set name="filteredList" filter="[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]">
<$vars nextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}} firstItem={{{ [enlist<filteredList>nth[1]] }}} lastItem={{{ [enlist<filteredList>last[]] }}}> <$let
nextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}}
firstItem={{{ [enlist<filteredList>nth[1]] }}}
lastItem={{{ [enlist<filteredList>last[]] }}}>
<$list filter="[<selectedItem>match<firstItem>!match<lastItem>]" variable="ignore"> <$list filter="[<selectedItem>match<firstItem>!match<lastItem>]" variable="ignore">
<$set name="nextItem" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}> <$set name="nextItem" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>
<<input-next-actions-inner>> <<input-next-actions-inner>>
@ -59,11 +71,9 @@ $actions$
<$list filter="[<selectedItem>!match<firstItem>!match<lastItem>]" variable="ignore"> <$list filter="[<selectedItem>!match<firstItem>!match<lastItem>]" variable="ignore">
<<input-next-actions-inner>> <<input-next-actions-inner>>
</$list> </$list>
</$vars> </$let>
</$set> </$set>
</$vars> </$let>
</$set>
</$vars>
</$list> </$list>
\end \end

View File

@ -2,6 +2,7 @@ title: $:/core/macros/toc
tags: $:/tags/Macro tags: $:/tags/Macro
\define toc-caption() \define toc-caption()
\whitespace trim
<$set name="tv-wikilinks" value="no"> <$set name="tv-wikilinks" value="no">
<$transclude field="caption"> <$transclude field="caption">
<$view field="title"/> <$view field="title"/>
@ -10,9 +11,10 @@ tags: $:/tags/Macro
\end \end
\define toc-body(tag,sort:"",itemClassFilter,exclude,path) \define toc-body(tag,sort:"",itemClassFilter,exclude,path)
\whitespace trim
<ol class="tc-toc"> <ol class="tc-toc">
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]"""> <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
<$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}> <$let item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
<$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]"""> <$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item"> <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
<li class=<<toc-item-class>>> <li class=<<toc-item-class>>>
@ -23,7 +25,7 @@ tags: $:/tags/Macro
</li> </li>
</$set> </$set>
</$set> </$set>
</$vars> </$let>
</$list> </$list>
</ol> </ol>
\end \end
@ -33,6 +35,7 @@ tags: $:/tags/Macro
\end \end
\define toc-linked-expandable-body(tag,sort:"",itemClassFilter,exclude,path) \define toc-linked-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
\whitespace trim
<!-- helper function --> <!-- helper function -->
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}> <$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item"> <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
@ -48,6 +51,7 @@ tags: $:/tags/Macro
{{$:/core/images/down-arrow}} {{$:/core/images/down-arrow}}
</$button> </$button>
</$reveal> </$reveal>
&#32;
<<toc-caption>> <<toc-caption>>
</$link> </$link>
<$reveal type="match" stateTitle=<<toc-state>> text="open"> <$reveal type="match" stateTitle=<<toc-state>> text="open">
@ -59,6 +63,7 @@ tags: $:/tags/Macro
\end \end
\define toc-unlinked-expandable-body(tag,sort:"",itemClassFilter,exclude,path) \define toc-unlinked-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
\whitespace trim
<!-- helper function --> <!-- helper function -->
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}> <$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item"> <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
@ -66,12 +71,14 @@ tags: $:/tags/Macro
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open"> <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep"> <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/right-arrow}} {{$:/core/images/right-arrow}}
&#32;
<<toc-caption>> <<toc-caption>>
</$button> </$button>
</$reveal> </$reveal>
<$reveal type="match" stateTitle=<<toc-state>> text="open"> <$reveal type="match" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep"> <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/down-arrow}} {{$:/core/images/down-arrow}}
&#32;
<<toc-caption>> <<toc-caption>>
</$button> </$button>
</$reveal> </$reveal>
@ -88,7 +95,8 @@ tags: $:/tags/Macro
\end \end
\define toc-expandable(tag,sort:"",itemClassFilter:"",exclude,path) \define toc-expandable(tag,sort:"",itemClassFilter:"",exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}> \whitespace trim
<$let tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
<$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]"""> <$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
<ol class="tc-toc toc-expandable"> <ol class="tc-toc toc-expandable">
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]"""> <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
@ -98,10 +106,11 @@ tags: $:/tags/Macro
</$list> </$list>
</ol> </ol>
</$set> </$set>
</$vars> </$let>
\end \end
\define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path) \define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
\whitespace trim
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}> <$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" > <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" >
<li class=<<toc-item-class>>> <li class=<<toc-item-class>>>
@ -118,6 +127,7 @@ tags: $:/tags/Macro
</$button> </$button>
</$reveal> </$reveal>
</$list> </$list>
&#32;
<<toc-caption>> <<toc-caption>>
</$link> </$link>
<$reveal type="match" stateTitle=<<toc-state>> text="open"> <$reveal type="match" stateTitle=<<toc-state>> text="open">
@ -129,6 +139,7 @@ tags: $:/tags/Macro
\end \end
\define toc-unlinked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path) \define toc-unlinked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
\whitespace trim
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}> <$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item"> <$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
<li class=<<toc-item-class>>> <li class=<<toc-item-class>>>
@ -136,12 +147,14 @@ tags: $:/tags/Macro
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open"> <$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep"> <$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/right-arrow}} {{$:/core/images/right-arrow}}
&#32;
<<toc-caption>> <<toc-caption>>
</$button> </$button>
</$reveal> </$reveal>
<$reveal type="match" stateTitle=<<toc-state>> text="open"> <$reveal type="match" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep"> <$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/down-arrow}} {{$:/core/images/down-arrow}}
&#32;
<<toc-caption>> <<toc-caption>>
</$button> </$button>
</$reveal> </$reveal>
@ -159,8 +172,9 @@ tags: $:/tags/Macro
\end \end
\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path) \define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}> \whitespace trim
<$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]"""> <$let tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
<$set name="excluded" filter="[enlist<__exclude__>] [<__tag__>]">
<ol class="tc-toc toc-selective-expandable"> <ol class="tc-toc toc-selective-expandable">
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]"""> <$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
<$list filter="[all[current]toc-link[no]]" variable="ignore" emptyMessage=<<toc-selective-expandable-empty-message>> > <$list filter="[all[current]toc-link[no]]" variable="ignore" emptyMessage=<<toc-selective-expandable-empty-message>> >
@ -169,10 +183,11 @@ tags: $:/tags/Macro
</$list> </$list>
</ol> </ol>
</$set> </$set>
</$vars> </$let>
\end \end
\define toc-tabbed-external-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"") \define toc-tabbed-external-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"")
\whitespace trim
<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}> <$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>
<div class="tc-tabbed-table-of-contents"> <div class="tc-tabbed-table-of-contents">
<$linkcatcher to=<<__selectedTiddler__>>> <$linkcatcher to=<<__selectedTiddler__>>>
@ -196,8 +211,8 @@ tags: $:/tags/Macro
\end \end
\define toc-tabbed-internal-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"") \define toc-tabbed-internal-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"")
\whitespace trim
<$linkcatcher to=<<__selectedTiddler__>>> <$linkcatcher to=<<__selectedTiddler__>>>
<$macrocall $name="toc-tabbed-external-nav" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/> <$macrocall $name="toc-tabbed-external-nav" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>
</$linkcatcher> </$linkcatcher>
\end \end