Creating Pretty Documents with the prettydoc Package

August 10, 2016
By

(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
output:
  rmarkdown::html_document:
    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
html_vignette
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
output:
  prettydoc::html_pretty:
    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
html_document
(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.

Gallery

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.

R-bloggers.com 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.

Search R-bloggers


Sponsors

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)