1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-08-07 06:14:44 +00:00

Refactor to allow multiple tours to be loaded at once

This commit is contained in:
Jeremy Ruston 2023-09-10 15:23:05 +01:00
parent 4f026e45a8
commit dd9b4dc787
22 changed files with 77 additions and 40 deletions

View File

@ -0,0 +1,2 @@
title: $:/config/CurrentTour
text: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki

View File

@ -1,23 +1,49 @@
title: $:/plugins/tiddlywiki/tour/globals title: $:/plugins/tiddlywiki/tour/globals
tags: $:/tags/Global tags: $:/tags/Global
<!--
The following state tiddlers control the tour. They should not be directly modified,
but rather use the appropriate procedure to ensure that all the associated actions are performed.
$:/config/CurrentTour - title of current tour definition tiddler
$:/config/ShowTour - "show" (default) or "hide"
$:/state/tour/step - title of current step of the tour
Tour definition tiddlers have the following fields:
tour-tag - name of tag used to define tour step sequence
logo - title of tiddler containing logo of tour
-->
\function tour-current-tag()
[{$:/config/CurrentTour}get[tour-tag]]
\end
\function tour-is-not-first-step()
[all[shadows+tiddlers]tag[$:/tags/Tour/IntroductionToTiddlyWiki]before{$:/state/tour/step}count[]compare:number:gt[0]]
\end
\procedure tour-initialise-current-tour-step() \procedure tour-initialise-current-tour-step()
<$transclude $tiddler={{$:/state/tour/step}} $field="enter-actions"/> <$transclude $tiddler={{$:/state/tour/step}} $field="enter-actions"/>
\end \end
\procedure tour-restart() \procedure tour-restart()
<$action-setfield $tiddler="$:/config/ShowTour" text="show"/> <$action-setfield $tiddler="$:/config/ShowTour" text="show"/>
<$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [all[shadows+tiddlers]tag[$:/tags/TourStep]first[]] }}}/> <$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [all[shadows+tiddlers]tag<tour-current-tag>first[]] }}}/>
<<tour-initialise-current-tour-step>> <<tour-initialise-current-tour-step>>
\end \end
\procedure tour-next-step() \procedure tour-next-step()
<$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [all[shadows+tiddlers]tag[$:/tags/TourStep]after{$:/state/tour/step}else[$:/plugins/tiddlywiki/tour/steps/finished]] }}}/> <$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [all[shadows+tiddlers]tag<tour-current-tag>after{$:/state/tour/step}else[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/finished]] }}}/>
<<tour-initialise-current-tour-step>> <<tour-initialise-current-tour-step>>
\end \end
\procedure tour-previous-step() \procedure tour-previous-step()
<$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [all[shadows+tiddlers]tag[$:/tags/TourStep]before{$:/state/tour/step}] :else[all[shadows+tiddlers]tag[$:/tags/TourStep]first[]] }}}/> <$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [all[shadows+tiddlers]tag<tour-current-tag>before{$:/state/tour/step}] :else[all[shadows+tiddlers]tag<tour-current-tag>first[]] }}}/>
<<tour-initialise-current-tour-step>> <<tour-initialise-current-tour-step>>
\end \end

View File

@ -1,2 +1,2 @@
title: $:/state/tour/step title: $:/state/tour/step
text: $:/plugins/tiddlywiki/tour/steps/welcome text: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/welcome

View File

@ -1,4 +0,0 @@
title: $:/tags/TourStep
list: $:/plugins/tiddlywiki/tour/steps/welcome $:/plugins/tiddlywiki/tour/steps/tiddlers $:/plugins/tiddlywiki/tour/steps/links $:/plugins/tiddlywiki/tour/steps/closing-tiddlers $:/plugins/tiddlywiki/tour/steps/end-of-fullscreen $:/plugins/tiddlywiki/tour/steps/open-control-panel $:/plugins/tiddlywiki/tour/steps/close-control-panel $:/plugins/tiddlywiki/tour/steps/search $:/plugins/tiddlywiki/tour/steps/recent $:/plugins/tiddlywiki/tour/steps/create-tiddler
Introduction to ~TiddlyWiki

View File

@ -4,7 +4,7 @@ tags: $:/tags/PageTemplate
\define tour-buttons() \define tour-buttons()
\define tv-action-refresh-policy() always \define tv-action-refresh-policy() always
<div class="tc-tour-panel-navigation"> <div class="tc-tour-panel-navigation">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/TourStep]before{$:/state/tour/step}count[]compare:number:gt[0]]" variable="ignore"> <$list filter="[function[tour-is-not-first-step]]" variable="ignore">
<$button class="tc-btn-big-green" style="background-color: red;"> <$button class="tc-btn-big-green" style="background-color: red;">
<<tour-previous-step>> <<tour-previous-step>>
back back
@ -19,10 +19,13 @@ next
<$list filter="[{$:/config/ShowTour}!is[blank]else[show]match[show]]" variable="ignore"> <$list filter="[{$:/config/ShowTour}!is[blank]else[show]match[show]]" variable="ignore">
<div class={{{ tc-tour-panel [{$:/state/tour/step}get[display-mode]else[normal]addprefix[tc-tour-panel-]] +[join[ ]] }}}> <div class={{{ tc-tour-panel [{$:/state/tour/step}get[display-mode]else[normal]addprefix[tc-tour-panel-]] +[join[ ]] }}}>
[img class="tc-tour-panel-banner-image" [$:/plugins/tiddlywiki/tour/tiddlywiki-tour-logo]] <$image class="tc-tour-panel-banner-image" source={{{ [{$:/config/CurrentTour}get[logo]] }}}/>
<div class="tc-tour-panel-inner"> <div class="tc-tour-panel-inner">
<div class="tc-tiddler-controls tc-tour-panel-controls"> <div class="tc-tiddler-controls tc-tour-panel-controls">
<$button set="$:/config/ShowTour" setTo="no" class="tc-btn-invisible">{{$:/core/images/close-button}}</$button> <span class="tc-tour-panel-controls-icon">{{$:/plugins/tiddlywiki/tour/tour-button-icon}}</span> ''Tour'': {{$:/tags/TourStep!!text}} <$button set="$:/config/ShowTour" setTo="no" class="tc-btn-invisible">{{$:/core/images/close-button}}</$button> <span class="tc-tour-panel-controls-icon">{{$:/plugins/tiddlywiki/tour/tour-button-icon}}</span> ''Tour'':
<$transclude $tiddler={{$:/config/CurrentTour}} $field="description">
<$text text={{$:/config/CurrentTour}}/>
</$transclude>
</div> </div>
<$transclude tiddler={{$:/state/tour/step}} mode="block"/> <$transclude tiddler={{$:/state/tour/step}} mode="block"/>
<$list filter="[{$:/state/tour/step}has[selector]]" variable="ignore"> <$list filter="[{$:/state/tour/step}has[selector]]" variable="ignore">

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/close-control-panel title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/close-control-panel
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
selector: .tc-story-river div[data-tiddler-title='$:/ControlPanel'] .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fclose selector: .tc-story-river div[data-tiddler-title='$:/ControlPanel'] .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fclose
! Close the control panel ! Close the control panel

View File

@ -1,7 +1,7 @@
title: $:/plugins/tiddlywiki/tour/steps/closing-tiddlers title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/closing-tiddlers
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
display-mode: fullscreen display-mode: fullscreen
enter-actions: <$action-setfield $tiddler="$:/temp/Tour/DemoStoryList" list="$:/plugins/tiddlywiki/tour/steps/tiddlers/Jupiter $:/plugins/tiddlywiki/tour/steps/tiddlers/Saturn"/> enter-actions: <$action-setfield $tiddler="$:/temp/Tour/DemoStoryList" list="$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn"/>
\define tour-simplified-tiddler-close-button() yes \define tour-simplified-tiddler-close-button() yes

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/create-tiddler title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/create-tiddler
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
selector: .tc-story-river div[data-tiddler-title="Draft of 'New Tiddler'"] input[value]:not([value="Congratulations"]) selector: .tc-story-river div[data-tiddler-title="Draft of 'New Tiddler'"] input[value]:not([value="Congratulations"])
selector-fallback-1: .tc-story-river div[data-tiddler-title='Draft of \'New Tiddler\''] .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fsave selector-fallback-1: .tc-story-river div[data-tiddler-title='Draft of \'New Tiddler\''] .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fsave
selector-fallback-2: .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fnew-tiddler selector-fallback-2: .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fnew-tiddler

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/end-of-fullscreen title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/end-of-fullscreen
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
display-mode: fullscreen display-mode: fullscreen
! Going deeper ! Going deeper

View File

@ -1,4 +1,4 @@
title: $:/plugins/tiddlywiki/tour/steps/finished title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/finished
! Congratulations ! Congratulations

View File

@ -0,0 +1,6 @@
title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki
tour-tag: $:/tags/Tour/IntroductionToTiddlyWiki
logo: $:/plugins/tiddlywiki/tour/tiddlywiki-tour-logo
description: Introduction to ~TiddlyWiki
An introductory tour to ~TiddlyWiki

View File

@ -1,7 +1,7 @@
title: $:/plugins/tiddlywiki/tour/steps/links title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/links
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
display-mode: fullscreen display-mode: fullscreen
enter-actions: <$action-setfield $tiddler="$:/temp/Tour/DemoStoryList" list="$:/plugins/tiddlywiki/tour/steps/tiddlers/Jupiter"/> enter-actions: <$action-setfield $tiddler="$:/temp/Tour/DemoStoryList" list="$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter"/>
! How do links work in ~TiddlyWiki? ! How do links work in ~TiddlyWiki?
@ -20,7 +20,7 @@ Try clicking the link to "Saturn".
</$navigator> </$navigator>
<$list filter="[[$:/temp/Tour/DemoStoryList]contains[$:/plugins/tiddlywiki/tour/steps/tiddlers/Saturn]limit[1]]" variable="ignore"> <$list filter="[[$:/temp/Tour/DemoStoryList]contains[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn]limit[1]]" variable="ignore">
<$confetti/> <$confetti/>

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/open-control-panel title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/open-control-panel
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
selector: .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fcontrol-panel selector: .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fcontrol-panel
! Welcome to ~TiddlyWiki ! Welcome to ~TiddlyWiki

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/recent title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/recent
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
selector: .tc-sidebar-tabs-main .tc-timeline > .tc-menu-list-item:nth-child(1) .tc-menu-list-subitem:nth-child(1) .tc-tiddlylink selector: .tc-sidebar-tabs-main .tc-timeline > .tc-menu-list-item:nth-child(1) .tc-menu-list-subitem:nth-child(1) .tc-tiddlylink
selector-fallback-1: .tc-sidebar-tabs-main button:nth-child(3) selector-fallback-1: .tc-sidebar-tabs-main button:nth-child(3)

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/search title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/search
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
selector: .tc-sidebar-search .tc-popup-handle selector: .tc-sidebar-search .tc-popup-handle
! Searching ! Searching

View File

@ -0,0 +1,4 @@
title: $:/tags/Tour/IntroductionToTiddlyWiki
list: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/welcome $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/links $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/closing-tiddlers $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/end-of-fullscreen $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/open-control-panel $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/close-control-panel $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/search $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/recent $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/create-tiddler
Introduction to ~TiddlyWiki

View File

@ -1,4 +1,4 @@
title: $:/plugins/tiddlywiki/tour/steps/tiddlers/Jupiter title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter
caption: Jupiter caption: Jupiter
Jupiter is the largest planet in the Solar System. It is the fifth planet from the Sun. Jupiter is a gas giant because it is so large and made of gas. The other gas giants in the Solar System are [[Saturn|$:/plugins/tiddlywiki/tour/steps/tiddlers/Saturn]], Uranus, and Neptune. Jupiter is the largest planet in the Solar System. It is the fifth planet from the Sun. Jupiter is a gas giant because it is so large and made of gas. The other gas giants in the Solar System are [[Saturn|$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn]], Uranus, and Neptune.

View File

@ -1,4 +1,4 @@
title: $:/plugins/tiddlywiki/tour/steps/tiddlers/Saturn title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn
caption: Saturn caption: Saturn
Saturn is the sixth planet from the Sun located in the Solar System. It is the second largest planet in the Solar System, after Jupiter. Saturn is one of the four gas giant planets in the Solar System, along with [[Jupiter|$:/plugins/tiddlywiki/tour/steps/tiddlers/Jupiter]], Uranus, and Neptune. Saturn is the sixth planet from the Sun located in the Solar System. It is the second largest planet in the Solar System, after Jupiter. Saturn is one of the four gas giant planets in the Solar System, along with [[Jupiter|$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter]], Uranus, and Neptune.

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/tiddlers title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
display-mode: fullscreen display-mode: fullscreen
! How does ~TiddlyWiki work? ! How does ~TiddlyWiki work?
@ -10,7 +10,7 @@ A tiddler is like an index card.
<$let tv-wikilinks="no"> <$let tv-wikilinks="no">
{{$:/plugins/tiddlywiki/tour/steps/tiddlers/Jupiter||$:/plugins/tiddlywiki/tour/simplified-tiddler}} {{$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter||$:/plugins/tiddlywiki/tour/simplified-tiddler}}
</$let> </$let>

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -1,5 +1,5 @@
title: $:/plugins/tiddlywiki/tour/steps/welcome title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/welcome
tags: $:/tags/TourStep tags: $:/tags/Tour/IntroductionToTiddlyWiki
display-mode: fullscreen display-mode: fullscreen
! Hello! ! Hello!