Creating Pretty Documents with the prettydoc Package

August 10, 2016

(This article was first published on Yixuan's Blog - R, and kindly contributed to R-bloggers)

Have you ever tried to find a lightweight yet nice theme for the R Markdown
documents, like this page?

Themes for R Markdown

With the powerful rmarkdown
package, we could easily create nice HTML document
by adding some meta information in the header, for example

title: Nineteen Years Later
author: Harry Potter
date: July 31, 2016
    theme: lumen

The html_document
engine uses the Bootswatch
theme library to support different styles of the document.
This is a quick and easy way to tune the appearance of your document, yet with
the price of a large file size (> 700KB) since the whole
Bootstrap library needs to be packed in.

For package vignettes, we can use the
engine to generate a more lightweight HTML file that is meant to minimize the
package size, but the output HTML is less stylish than the html_document ones.

So can we do BOTH, a lightweight yet nice-looking theme for R Markdown?

The prettydoc Engine

The answer is YES! (At least towards that direction)

The prettydoc package
(available on CRAN)
provides an alternative engine, html_pretty,
to knit your R Markdown document into pretty HTML pages.
Its usage is extremely easy: simply replace the
rmarkdown::html_document or rmarkdown::html_vignette output engine by
prettydoc::html_pretty in your R Markdown header, and use one of the built-in
themes and syntax highlighters. For example

title: Nineteen Years Later
author: Harry Potter
date: July 31, 2016
    theme: cayman
    highlight: github

You can also create documents from prettydoc templates in RStudio (after
installing the package).

Step 1: Click the “New File” button and choose “R Markdown”.

Step 1

Step 2: In the “From Template” tab, choose one of the built-in templates.

Step 2

Options and Themes

The options for the html_pretty engine are fully compatible with the default
(see the documentation)
with two exceptions:

  1. The theme option can take value from cayman, tactile and
    architect. More themes will be added in the future. The themes contained in
    prettydoc are much inspired by and modified from
    various Github page themes.
  2. The highlight options takes value from github and vignette.


Here are some screenshots of the HTML pages generated by prettydoc with
different themes and syntax highlighters.

Cayman (demo page)

Cayman Theme

Tactile (demo page)

Tactile Theme

Architect (demo page)

Architect Theme

If you think this package is helpful, feel free to leave comments or
request features in the Github repository.
Contribution and pull requests are always welcome.

To leave a comment for the author, please follow the link and comment on their blog: Yixuan's Blog - R. offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.


Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)