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.
Source code
This library source code can be found on Appsilon Data Science's Github: https://github.com/Appsilon/shiny.router
How to install?
Note! This library is still in its infancy. Api might change in the future.
At the moment it's possible to install this library through 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:
Up-to-date R language environment
Installing specific dependent libraries versions
magrittr
install.packages("magrittr", version='1.5')
shiny
install.packages("shiny", version='0.14.2.9001')
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
- URL params handling
- CRAN release
- consider utilising https://shiny.rstudio.com/articles/client-data.html instead of Page.js
Appsilon Data Science
We Provide End-to-End Data Science Solutions
Get in touch dev@appsilondatascience.com