Episode 22: A fresh coat of Shiny theming with Carson Sievert
Going behind the new Shiny theming toolchain with RStudio software engineer Carson Sievert!
Resources mentioned in the episode
- Interactive web-based data visualization with R, plotly, and shiny
bslib
: Tools for theming shiny and rmarkdown from R via Bootstrap (3 or 4) Sass rstudio.github.io/bslibthematic
: Simplified theming ofggplot2
,lattice
, andbase
R graphics rstudio.github.io/thematicshinymeta
: Record and expose Shiny app logic using metaprogramming rstudio.github.io/shinymetaflexdashboard
: Easy interactive dashboards for R pkgs.rstudio.com/flexdashboard
Episode Timestamps
00:00:00 Episode Introduction
00:02:00 Joining the Shiny team at RStudio and Carson’s book on plotly
00:06:39 Introducing bslib and how it makes custom theming of your Shiny app as easy as possible
00:08:47 Introducing thematic for simplified theming of ggplot2, lattice, and base R graphics
00:14:28 Getting started with bslib
00:23:45 Real-time theming wizard, a tool to play interactively with the theming customization of your shiny app or R Markdown document
00:29:25 Development version of flexdashboard supports bslib now
00:36:38 On the advantages of working with sass over css. bslib helps you work with a front end web developer, writing sass rules and css styles while not having to dive into your Shiny app or R Markdown document
00:46:30 The origins of shinymeta and the ability to fully extract an app’s reactive processing to produce a fully self-contained analysis script or report
00:57:40 Getting started with shinymeta
01:01:20 Shinymeta example of producing reproducible Shiny code
01:05:36 How does Carson recommend to Shiny developers who want to get better at cusotmizing the look and feel of their Shiny app? See Shiny’s Build articles
01:15:35 Attaching metadata to graphical markers in plotly
01:19:47 Episode wrapup
shinydevseries::session_info()
📽 Find previous interviews at https://shinydevseries.com
📋 Feedback is more than welcome! Please send your comments or suggestions on our contact form at shinydevseries.com/contact
If you enjoyed this video or got value from it, then consider dropping something in the tip jar. Any money raised will be used to improve the channel and invest in additional equipment and resources to make the content even better!
📨 Help shape the future direction of the Shiny Developer Series live streams by completing this very short survey
Media production for the Shiny Developer Series is made possible by these outstanding projects and platforms:
- OBS Studio: https://obsproject.com/
- OBS Fully Loaded install script by Martin Wimpress: https://github.com/wimpysworld/obs-fully-loaded
- VDO Ninja: https://vdo.ninja
- StreamElements: https://streamelements.com
- ShotCut: https://shotcut.org/
- Pop@_OS by System76: https://pop.system76.com/
- Ubuntu: https://ubuntu.com/