cleanrmd is a no-frills, lightweight HTML format for R Markdown, using class-less CSS.
This package was greatly inspired by Yuval Greenfield’s blog post: The Next CSS Frontier - Classless.
You can install the released version of cleanrmd from CRAN:
install.packages("cleanrmd")
You can install the latest development version from GitHub:
# install.packages("remotes")
remotes::install_github("gadenbuie/cleanrmd")
or from gadenbuie.r-universe.dev:
options(repos = c(
gadenbuie = 'https://gadenbuie.r-universe.dev',
CRAN = 'https://cloud.r-project.org'
))
install.packages('cleanrmd')
Create a new R Markdown document using the Clean HTML R Markdown
template in RStudio, or add the following to your .Rmd
YAML header to
use
cleanrmd::html_document_clean.
output:
cleanrmd::html_document_clean:
theme: no-class
To explore the available themes, set theme
to NULL
.
output:
cleanrmd::html_document_clean:
theme: NULL
Syntax highlighting is provided by default by pandoc, where syntax
highlighting is performed during during the render, minimizing
dependencies. pandoc’s highlighting themes include pygments
, tango
,
espresso
, zenburn
, kate
, monochrome
, breezedark
, and
haddock
. The default
highlighting theme is arrow
, provided by the
rmarkdown package in addition to
the rstudio
theme.
html_document_clean()
can also use Prism for
highlighting. In this case, highlighting is performed in the browser and
the dependencies are downloaded as needed. To use Prism, set
theme: prism
or use one of the following value to choose a specific
Prism theme: prism-coy
, prism-dark
, prism-funky
, prism-okaidia
,
prism-solarizedlight
, prism-tomorrow
, and prism-twilight
.
MathJax and FontAwesome are also available but disabled by default.
To enable either feature, you can set mathjax
to local
or default
,
as in rmarkdown::html_document()
. Set use_fontawesome
to TRUE
to
enable Font Awesome icons.
output:
cleanrmd::html_document_clean:
mathjax: default
use_fontawesome: true
You can also load the CSS theme dependencies in other places where htmltools can be used to provide HTML dependencies, such as Shiny apps.
To include a theme in your app or page, use
cleanrmd::use_cleanrmd(theme = "new.css")
To view the list of theme options view the help pages of cleanrmd_themes() or use its output:
cleanrmd::cleanrmd_themes()
#> [1] "almond" "awsm.css" "axist"
#> [4] "bamboo" "bullframe" "holiday"
#> [7] "kacit" "latex.css" "markdown-splendor"
#> [10] "markdown-retro" "markdown-air" "markdown-modest"
#> [13] "marx" "minicss" "new.css"
#> [16] "no-class" "picocss" "sakura"
#> [19] "sakura-vader" "semantic" "simplecss"
#> [22] "style-sans" "style-serif" "stylize"
#> [25] "superstylin" "tacit" "vanilla"
#> [28] "water" "water-dark" "writ"
The following CSS themes are included in this package and you can preview all 30 themes in one place here.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.