Skip to content

admariner/shiny.router

 
 

Repository files navigation

shiny.router shiny.router logo

A minimalistic router for your Shiny apps.

R-CMD-check codecov cranlogs total

Now it's possible to recreate a state of your app, by providing a specific URL, like:

make_router(
  route("<your_app_url>/main",  mainPageShinyUI),
  route("<your_app_url>/other", otherPageShinyUI)
)

How to install?

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")

How to use it?

Basic usage:

library(shiny)
library(shiny.router)

root_page <- div(h2("Root page"))
other_page <- div(h3("Other page"))

router <- make_router(
  route("/", root_page),
  route("other", other_page)
)

ui <- fluidPage(
  title = "Router demo",
  router$ui
)

server <- function(input, output, session) {
  router$server(input, output, session)
}

shinyApp(ui, server)

Check the tutorial for more details on how to start using shiny.router or read the article on Appsilon's blog.

Examples

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.

How to contribute?

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

Appsilon is a Posit (formerly RStudio) Full Service Certified Partner. Learn more at appsilon.com.

Get in touch opensource@appsilon.com

Check our Open Source tools.

We are hiring!

About

A minimalistic router for your Shiny apps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • R 85.3%
  • JavaScript 7.7%
  • CSS 4.2%
  • Shell 2.8%