The bslib
R package provides tools for customizing Bootstrap themes directly from R, making it much easier to customize the appearance of Shiny apps & R Markdown documents. bslib
’s primary goals are:
flexdashboard
, pkgdown
, and bookdown
already fully support bslib
’s custom theming capabilities.Install the stable release of bslib
on CRAN:
Usage with Shiny requires version 1.6 or higher:
Usage with R Markdown requires version 2.7 or higher:
bslib
is designed for use with any Shiny or R Markdown project that uses Bootstrap. In most cases, you can identify a project that uses Bootstrap when the relevant page constructor has a theme
parameter. For example, most Shiny page layout functions (e.g., shiny::navbarPage()
) and some popular R Markdown formats (e.g., rmarkdown::html_document
) all have a theme
parameter.
To use bslib
in Shiny, provide a bs_theme()
object to the theme
parameter; and in R Markdown, provide bs_theme()
parameters to theme
. For example, here’s a way to upgrade Shiny (left) and R Markdown (right) from Bootstrap 3 to 4:
See the Get Started article to learn more about Bootstrap versions, pre-packaged Bootswatch themes, (real-time) custom theming, and more.
To get started more quickly, choose a relevant R Markdown template from inside RStudio by going to File -> New File -> R Markdown -> From Template:
There are two main places to get help with bslib
:
The RStudio community is a friendly place to ask any questions (be sure to add a bslib
tag when creating a topic).
Stack Overflow is a great source of answers to common bslib
questions. It is also a great place to get help, once you have created a reproducible example that illustrates your problem. Use the tags [r][bslib]
if you ask a question. Add the tag [bslib]
if you are using a Shiny runtime.
Please note that the bslib project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.