| Title: | Browser-Side Password-Protected HTML Documents | 
| Version: | 0.0.2 | 
| Description: | Create secure, encrypted, and password-protected static HTML documents that include the machinery for secure in-browser authentication and decryption. | 
| License: | MIT + file LICENSE | 
| URL: | https://mattwarkentin.github.io/fidelius/, https://github.com/mattwarkentin/fidelius | 
| BugReports: | https://github.com/mattwarkentin/fidelius/issues | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.1.2 | 
| Imports: | askpass, fs, htmltools, readr, rlang, rmarkdown, rstudioapi, sodium, whisker | 
| NeedsCompilation: | no | 
| Packaged: | 2021-11-15 16:19:35 UTC; matt | 
| Author: | Matthew T. Warkentin
     | 
| Maintainer: | Matthew T. Warkentin <warkentin@lunenfeld.ca> | 
| Repository: | CRAN | 
| Date/Publication: | 2021-11-16 08:10:12 UTC | 
fidelius: Browser-Side Password-Protected HTML Documents
Description
Create secure, encrypted, and password-protected static HTML documents that include the machinery for secure in-browser authentication and decryption.
Author(s)
Maintainer: Matthew T. Warkentin warkentin@lunenfeld.ca (ORCID) [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/mattwarkentin/fidelius/issues
Password protect a document
Description
Encrypt and password protect an HTML document.
Usage
charm(
  input,
  password,
  hint = NULL,
  output = NULL,
  style = stylize(),
  bundle = FALSE,
  minified = TRUE,
  ...
)
Arguments
input | 
 Path to an R Markdown or HTML file.  | 
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.  | 
output | 
 Override the name of the output file.  | 
style | 
 Object returned from   | 
bundle | 
 Logical. Should all of the decryption machinery and
dependencies be bundled into the HTML document? Default is   | 
minified | 
 Logical. Should minified versions of JavaScript dependencies
be included? Default is   | 
... | 
 Arguments passed on to   | 
Value
input, invisibly.
Note
Using bundle = TRUE only applies to bundling the
decryption machinery and dependencies for the document generated
by charm(). It is still the users responsibility to decide on whether
input is self-contained by passing self_contained = TRUE to
rmarkdown::render() using ..., or by specifying
self_contained: true in the YAML header of input.
Examples
## Not run: 
charm("input.Rmd")
charm("input.Rmd", password = "pw1234!")
## End(Not run)
Password protected HTML document
Description
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  ---
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
 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   | 
minified | 
 Logical. Should minified versions of JavaScript dependencies
be included? Default is   | 
preview | 
 Logical. Set to   | 
... | 
 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
## Not run: 
library(rmarkdown)
render("input.Rmd", html_password_protected())
## End(Not run)
Style password landing page
Description
Use this function to style the appearance of the landing page for the password-protected HTML file.
Usage
stylize(
  header_text = "PLEASE ENTER THE PASSWORD",
  placeholder_text = "",
  button_text = "SUBMIT",
  font_family = "-apple-system",
  font_size = "16px",
  title_color = "#2d3737",
  background_color = "#f2f2f2",
  box_color = "#ffffff",
  btn_font_color = "#ffffff",
  btn_bg_color = "#19A974",
  btn_hover_color = "#137752",
  modal_overlay = "rgba(0, 0, 0, 0.6)",
  modal_box_color = "#ffffff",
  modal_title_color = "#137752",
  modal_font_color = "rgba(0, 0, 0, 0.8)"
)
Arguments
header_text | 
 Header text.  | 
placeholder_text | 
 Password input placeholder text.  | 
button_text | 
 Button text.  | 
font_family | 
 Font family.  | 
font_size | 
 Font size.  | 
title_color | 
 Title font color.  | 
background_color | 
 Background color.  | 
box_color | 
 Box color.  | 
btn_font_color | 
 Button font color.  | 
btn_bg_color | 
 Button background color.  | 
btn_hover_color | 
 Button hover color.  | 
modal_overlay | 
 Modal overlay color.  | 
modal_box_color | 
 Modal box color.  | 
modal_title_color | 
 Modal title font color.  | 
modal_font_color | 
 Modal text font color.  | 
Value
A list with class fidelius_styling.
Examples
stylize(font_family = "Times")