A minimalistic router for your Shiny apps.
Now it's possible to recreate a state of your app, by providing a specific URL, like:
router_ui(
route("<your_app_url>/main", mainPageShinyUI),
route("<your_app_url>/other", otherPageShinyUI)
)
It's possible to install this library through CRAN
install.packages("shiny.router")
The most recent version you can get from this repo using remotes.
remotes::install_github("Appsilon/shiny.router")
Basic usage:
library(shiny)
library(shiny.router)
root_page <- div(h2("Root page"))
other_page <- div(h3("Other page"))
ui <- fluidPage(
title = "Router demo",
router_ui(
route("/", root_page),
route("other", other_page)
)
)
server <- function(input, output, session) {
router_server()
}
shinyApp(ui, server)
Check the tutorial for more details on how to start using shiny.router
.
An application that showcases the shiny.router
features can be found here:
It was built using two other Appsilon Open Source packages:
rhino
- an R package designed to help building high quality, enterprise-grade Shiny applications at speed.shiny.fluent
- Microsoft's Fluent UI for Shiny apps.You can also visit examples directory for some complete samples.
If you want to contribute to this project please submit a regular PR, once you're done with new feature or bug fix.
Reporting a bug is also helpful - please use GitHub issues and describe your problem as detailed as possible.
Appsilon is a Posit (formerly RStudio) Full Service Certified Partner. Learn more at appsilon.com.
Get in touch opensource@appsilon.com
Explore the Rhinoverse - a family of R packages built around Rhino!
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.