Skip to contents

An R Markdown output format to encrypt and password protect an HTML document using charm(). secret_keeper() is an alias for html_password_protected.

Usage

html_password_protected(
  output_format = "rmarkdown::html_document",
  password,
  hint = NULL,
  style = list(),
  bundle = FALSE,
  minified = TRUE,
  preview = FALSE,
  ...
)

secret_keeper(
  output_format = "rmarkdown::html_document",
  password,
  hint = NULL,
  style = list(),
  bundle = FALSE,
  minified = TRUE,
  preview = FALSE,
  ...
)

Arguments

output_format

An R Markdown format that renders to HTML. By default, will render to the standard rmarkdown::html_document() format. You may pass any arguments to your output_format as shown below:

---
output:
  fidelius::html_password_protected:
    output_format:
      rmarkdown::html_document:
        toc: true
---
password

Private password to unlock file. If not provided, you will be asked to supply a password by a prompt if you are working from an interactive session.

hint

Optional public password hint.

style

Any number of style options that are configurable via stylize(). For example:

output:
  fidelius::html_password_protected:
    style:
      button_text: "Open Sesame!"
bundle

Logical. Should all of the decryption machinery and dependencies be bundled into the HTML document? Default is FALSE.

minified

Logical. Should minified versions of JavaScript dependencies be included? Default is TRUE.

preview

Logical. Set to FALSE to bypass the encryption and password protection to render the HTML document specified by output_format. See Notes for more details.

...

Not currently used.

Value

R Markdown output format based on output_format to pass to rmarkdown::render().

Note

If you hard-code your password into the YAML header of the document be careful not to check the R Markdown file into a public version control repository (e.g. git or GitHub) where the password is stored and visible in plain-text. Please use this format carefully.

Try using xaringan::infinite_moon_reader() with preview = TRUE to preview your document with automatic reloading of slides on change. When you are done developing your document, set preview = FALSE or remove it from the YAML header entirely to encrypt and password protect your document.

See also

charm for more information on the password protection and encryption.

Examples

if (FALSE) {
library(rmarkdown)
render("input.Rmd", html_password_protected())
}