A minimalistic router for your Shiny apps.
Clone or download
krystian8207 Merge pull request #57 from Appsilon/fix/use-relative-path
Use relative path when creating router link.
Latest commit d8beefd Nov 7, 2018

README.md

shiny.router

A minimalistic router for your Shiny apps.

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

Basic tutorial article is available on Appsilon Data Science blog.

Live demo

Source code

This library source code can be found on Appsilon Data Science's Github:
https://github.com/Appsilon/shiny.router

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 devtools.

devtools::install_github("Appsilon/shiny.router")

To install previous version you can run:

devtools::install_github("Appsilon/shiny.router", ref = "0.1.0")

Example

Visit /examples directory for some complete samples. Here's the basic usage:

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

ui <- shinyUI(semanticPage(
  title = "Router demo",
  router_ui()
))

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

shinyApp(ui, server)

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.

Changes in documentation

Both repository README.md file and an official documentation page are generated with Rmarkdown, so if there is a need to update them, please modify accordingly a README.Rmd file and run a build_readme.R script to compile it.

Troubleshooting

We used the latest versions of dependencies for this library, so please update your R environment before installation.

However, if you encounter any problems, try the following:

  1. Up-to-date R language environment

  2. Installing specific dependent libraries versions

    • magrittr

      install.packages("magrittr", version='1.5') 
      
    • shiny

      install.packages("shiny", version='0.14.2.9001')
      
  3. Missing semanticui dependency - one of our examples uses one of our others libraries, so please install it as well, when running that example. Repository: semanticui

Future enhacements

Appsilon Data Science

We Provide End-to-End Data Science Solutions

Appsilon Data Science

Get in touch dev@appsilon.com