AutSPACEs icon indicating copy to clipboard operation
AutSPACEs copied to clipboard

Add an example tour using Shepherd.js

Open llewelld opened this issue 1 year ago • 7 comments

Adds an example tour using Shepherd.js and FloatingUI, to test out the capabilities of Shepherd.js. The content and coding is just for testing: in no way final!

For Shepherd.js, see: https://shepherdjs.dev/

My immediate impression is that a nice aspect of Shepherd.js is that all of the tour functionality can be added using Javascript and so can be kept entirely separate from the main HTML and Javascript for the page. The only changes I needed to make to the page itself were to add ids to elements used in the tour that didn't already have them.

This means that once the user has finished the tutorial, we can easily disentangle it from the page and potentially even serve them pages that don't include it at all; removing the additional overhead.

This is just for testing and comparison. I'll put together an equivalent really simple tour using https://tourguidejs.com/ so we can compare the two.

Contributes to #535.

llewelld avatar Aug 04 '23 17:08 llewelld

Coverage report

The coverage rate went from 98.9% to 98.9% :arrow_down:

None of the new lines are part of the tested code. Therefore, there is no coverage data about them.

github-actions[bot] avatar Aug 04 '23 17:08 github-actions[bot]

Wow, that's really cool! I think the ability to encapsulate the whole tutorial and then not load the whole thing any longer once a user has done the tutorial!

One thing we should check for eventually is if there is a way to/how to display those tutorial boxes more actively for smaller screens/mobile but we can do that once we have looked at the options!

Screenshot 2023-08-07 at 10 26 30

gedankenstuecke avatar Aug 07 '23 09:08 gedankenstuecke

Rebased.

llewelld avatar Aug 24 '23 08:08 llewelld

how to display those tutorial boxes more actively for smaller screens

Oh, that's nasty. I'll try to see if there's some Shepherd.js configuration option or CSS tweak we can use to improve that.

llewelld avatar Aug 25 '23 10:08 llewelld

Rebased.

llewelld avatar Aug 25 '23 10:08 llewelld

Yeah, alternatively we can check if if there's a way within Sheperd.js to detect the size of the viewport and only provide the tutorial on the larger viewports

gedankenstuecke avatar Aug 25 '23 10:08 gedankenstuecke

See #575 for comparison with TourGuide JS.

llewelld avatar Aug 25 '23 15:08 llewelld