geyser Slide Decks and DemosThis repo demonstrates how to modularize the Faithful Geyser Shiny example using the Shiny module technology. Sometimes this module stuff is tricky to figure out.
Slide decks were developed using Quarto.
Earlier versions of these slide decks are available from Posit Connect:
Live demos are available via Posit Connect.
The following presentation demonstrates R Shiny apps and their modules using the geyserShinyR slide deck.
I am woking on building these demos on GitHub Pages using r-shinylive and Using Shinylive to host Shiny app on GitHub Pages (HBC Training).
install.packages(".", repos = NULL, type = "source")
shinylive::export(appdir = "inst/connect_modules/", destdir = "~/docs")
# should create ~/docs/app.json
httpuv::runStaticServer("~/docs")
For Python, see py-shinylive and Python Shinylive: Shiny + WebAssembly (Posit).
The repo has both an
R
and
Python
package.
The R package is organized as
R package
├── DESCRIPTION
├── NAMESPACE
├── R/
│ └── *.R
├── man/
└── inst/
The Python package is organized as follows
Python package
├── pyproject.toml
├── geyser
│ ├── __init__.py
│ └── *.py
Examples in R, Python and Quarto are strewn through the inst/ directory:
inst/
├── build_module/
│ ├── 1_oldFaithful/
│ │ ├── *.R
│ │ └── *.qmd
│ ├── 2_newFaithful/
│ │ ├── *.R
│ │ └── *.qmd
│ ├── 3_callModule/
│ │ ├── *.R
│ │ └── *.qmd
│ ├── 4_moduleServer/
│ │ ├── *.R
│ │ └── *.qmd
│ └── 5_python/
│ ├── *.py
│ └── *.qmd
├── connect_modules/
│ ├── *.R
│ ├── python/
│ │ └── *.py
│ └── quarto/
│ └── *.qmd
└── reactlog/
The inst/reactlog directory contains examples of using reactlog with Shiny apps to track reactivity of an app across its components.