Create tours in Shiny apps using shepherd.js.
You can install the development version of conductor
from GitHub with:
If you already use cicerone
, then you should be able to use conductor
quite easily.
First, create a Conductor
with:
This can be done anywhere, not necessarily in the ui
or server
parts of the app. You can also add some options in $new()
. To add steps in the tour, use $step()
. Steps can be attached to specific elements with el
, but if no el
is specified then the popover will be displayed in the center of the screen.
conductor <- Conductor$
new()$
step(
title = "Hello there",
text = "This popover is displayed in the center of the screen."
)$
step(
el = "test",
title = "This is a button",
text = "This button has no purpose. Its only goal is to serve as support for demo."
)
Then, call useConductor()
in the ui
and call conductor$init()$start()
anywhere in the server
.
library(shiny)
ui <- fluidPage(
useConductor(),
actionButton("test", "Test")
)
server <- function(input, output, session){
conductor$init()$start()
}
shinyApp(ui, server)
This is not at all the first package to enable tours in Shiny applications. Similar packages are:
The structure of the package, the code and the docs of conductor
are copied or largely inspired from cicerone
, by John Coene.