mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-12-04 23:39:57 +00:00
a9f9ffd409
* First commit * Typo * Add support for delay parameter * Add confetti widget * Add tour plugin * Add element spotlight to dynannotate plugin Useful for highlighting on screen elements for the user * More and bigger confetti by default * Use new element spotlight to provide hints * Adjust hint selectors for create tiddler tour step * Include confetti plugin in prerelease * Clarify wording of confetti demo * Don't link TiddlyWiki in the tour panel * Tweaks to tour buttons * Mark dependents of the tour plugin * Add full screen section of tour and tour edition * Remove Anna Freud references from welcome tiddler * Build the tour edition in the preview * Fix typo in build script * Populate tour edition with solar system data From Simple English Wikipedia * Missing tag * Add page control button to start tour Also make the tour controls visible in full screen mode * Refactor to use global procedures to control the tour * Change "startup-actions" field to "enter-actions" to avoid confusion * Add a tour logo * Refactor to allow multiple tours to be loaded at once * Remove wikification from welcome tour step * Update docs * Simplify styles for top bar * Tours should have a $:/tags/Tour tag * Tour should autostart in the tour edition, but not in the main wiki * Better labelling for the main preview * Fix build process We build a separate tour.html wiki, but can include the tour in other wikis too * Remove obsolete text * Add "using tags" as a separate tour * Remove old debugging code * Add tour chooser * Ensure that the current tour isn't listed as an option in the final step * Use whitespace trim Note that the setting is inherited by procedure and widget definitions * Simplify tour step format * Remove obsolete state tiddler Not needed because now we initialise it in startup actions * Fix gap between navigation buttons * Clean up tiddler titles within the introduction tour * Finish allowing the name "TiddlyWiki" to be customised Some of the code was in the previous commit. Next we'll wire up the user interface * Clarify docs * Add a settings pane giving a birds eye view of a tour * Avoid having to embed confetti in the final step * Update docs * Tweak styling of tour chooser dropdown * Add a button to launch tour steps directly, and give them captions * Expose custom tour settings * Use the tour step caption as the heading * Fix initialisation when jumping to a tour step * Introduce step about tags * Improve wording * Improve styling of task call-to-action and nav buttons * Adopt new conditional shortcut syntax * Wording and ordering tweaks * Fix typos Thanks @pmario * Simplify styling of tour overlay * Use custom palette colours Makes it easier for people to use their own colour scheme for the tour * More custom colours * Tour wording tweaks * Extends the tour plugin with a condition field (#7861) * feat: support condition field to determine whether a step should be shown * feat: add support for overriding the hint text using the field 'hint' from the step tiddler * fix: roll back tour display procedure for now until an override mechanism has been discussed * fix: renamed advance-criterion field and associated variables to step-success-filter * fix: renamed hint field to hint-text and selector to hint-selector * refactor: to create function to get all tour tiddlers filtered by their condition field * refactor: rename globals tiddlers to variables and avoid making any of the tour procedures global * fix: also rename globals.tid file to variables.tid * docs: cover all tour steps tiddler fields * fix: improve spacing in Tour HUD * WIP --------- Co-authored-by: Jeremy Ruston <174761+Jermolene@users.noreply.github.com> Co-authored-by: Saq Imtiaz <saq.imtiaz@gmail.com>
105 lines
3.6 KiB
Plaintext
105 lines
3.6 KiB
Plaintext
title: $:/plugins/tiddlywiki/tour/variables
|
|
|
|
\whitespace trim
|
|
|
|
<!--
|
|
|
|
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
|
|
* $:/state/tour/step: title of current step of the tour
|
|
|
|
These config tiddlers may be changed directly as required:
|
|
|
|
* $:/config/ShowTour: "show" (default) or "hide"
|
|
* $:/config/AutoStartTour: "no" (default) or "yes"
|
|
|
|
-->
|
|
|
|
\function tour-current-tag()
|
|
[{$:/config/CurrentTour}get[tour-tag]]
|
|
\end
|
|
|
|
\procedure tour-filter-steps-by-condition()
|
|
[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] :else[<currentTiddler>!has[condition]then[true]]
|
|
\end
|
|
|
|
\function tour-all-steps-filtered-by-condition()
|
|
[all[shadows+tiddlers]tag<tour-current-tag>filter<tour-filter-steps-by-condition>]
|
|
\end
|
|
|
|
\function tour-is-not-first-step()
|
|
[function[tour-all-steps-filtered-by-condition]allbefore{$:/state/tour/step}count[]compare:number:gt[0]]
|
|
\end
|
|
|
|
\function tour-is-last-step()
|
|
[function[tour-all-steps-filtered-by-condition]allafter{$:/state/tour/step}count[]compare:number:eq[0]]
|
|
\end
|
|
|
|
\function tour-is-not-last-step()
|
|
[function[tour-all-steps-filtered-by-condition]allafter{$:/state/tour/step}count[]compare:number:gt[0]]
|
|
\end
|
|
|
|
|
|
\procedure tour-initialise-current-tour-step()
|
|
\procedure tv-action-refresh-policy() always
|
|
<$transclude $tiddler={{$:/state/tour/step}} $field="enter-actions"/>
|
|
\end
|
|
|
|
\procedure tour-chooser(filter:"[all[shadows+tiddlers]tag[$:/tags/Tour]]")
|
|
\procedure choose-tour-actions()
|
|
<$transclude $variable="tour-start" title=<<currentTiddler>>/>
|
|
\end choose-tour-actions
|
|
<div class="tc-tour-panel-chooser-wrapper">
|
|
<$list filter=<<filter>>>
|
|
<div class="tc-tour-panel-chooser-item">
|
|
<div class="tc-tour-panel-chooser-item-text">
|
|
<$transclude $field="description">
|
|
<$text text=<<currentTiddler>>/>
|
|
</$transclude>
|
|
</div>
|
|
<$button class="tc-btn-invisible tc-tour-panel-chooser-start-button" actions=<<choose-tour-actions>>>
|
|
start {{$:/core/images/chevron-right}}
|
|
</$button>
|
|
</div>
|
|
</$list>
|
|
</div>
|
|
\end tour-chooser
|
|
|
|
\procedure tour-start(title,step)
|
|
\procedure tv-action-refresh-policy() always
|
|
<$action-setfield $tiddler="$:/config/CurrentTour" text=<<title>>/>
|
|
<$transclude $variable="tour-restart" step=<<step>>/>
|
|
\end
|
|
|
|
\procedure tour-restart(step)
|
|
\procedure tv-action-refresh-policy() always
|
|
<$action-setfield $tiddler="$:/config/ShowTour" text="show"/>
|
|
<$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [<step>!is[blank]] :else[function[tour-all-steps-filtered-by-condition]first[]] }}}/>
|
|
<<tour-initialise-current-tour-step>>
|
|
\end
|
|
|
|
\procedure tour-next-step()
|
|
\procedure tv-action-refresh-policy() always
|
|
<$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [function[tour-all-steps-filtered-by-condition]allafter{$:/state/tour/step}else[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/finished]] }}}/>
|
|
<<tour-initialise-current-tour-step>>
|
|
\end
|
|
|
|
\procedure tour-previous-step()
|
|
\procedure tv-action-refresh-policy() always
|
|
<$action-setfield $tiddler="$:/state/tour/step" $field="text" $value={{{ [function[tour-all-steps-filtered-by-condition]allbefore{$:/state/tour/step}last[]] :else[all[shadows+tiddlers]tag<tour-current-tag>first[]] }}}/>
|
|
<<tour-initialise-current-tour-step>>
|
|
\end
|
|
|
|
\procedure tour-display-current-tour()
|
|
<$transclude $tiddler={{$:/config/CurrentTour}} $field="description">
|
|
<$text text={{$:/config/CurrentTour}}/>
|
|
</$transclude>
|
|
\end
|
|
|
|
\procedure tour-task(text)
|
|
<div class="tc-tour-task">
|
|
{{$:/core/images/help}} <$transclude $variable="text" $mode="inline"/>
|
|
</div>
|
|
\end
|