| Title: | 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. |
| Authors: | Matthew T. Warkentin [aut, cre, cph] (ORCID: <https://orcid.org/0000-0001-8730-3511>) |
| Maintainer: | Matthew T. Warkentin <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.0.2.9000 |
| Built: | 2026-05-23 08:08:03 UTC |
| Source: | https://github.com/mattwarkentin/fidelius |
Encrypt and password protect an HTML document.
charm( input, password, hint = NULL, output = NULL, style = stylize(), bundle = FALSE, minified = TRUE, ... )charm( input, password, hint = NULL, output = NULL, style = stylize(), bundle = FALSE, minified = TRUE, ... )
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 |
input, invisibly.
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.
## Not run: charm("input.Rmd") charm("input.Rmd", password = "pw1234!") ## End(Not run)## Not run: charm("input.Rmd") charm("input.Rmd", password = "pw1234!") ## End(Not run)
An R Markdown output format to encrypt and password protect an HTML
document using charm(). secret_keeper() is an alias for
html_password_protected.
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, ... )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, ... )
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. |
R Markdown output format based on output_format to pass to
rmarkdown::render().
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.
charm for more information on the password protection and
encryption.
## Not run: library(rmarkdown) render("input.Rmd", html_password_protected()) ## End(Not run)## Not run: library(rmarkdown) render("input.Rmd", html_password_protected()) ## End(Not run)
Use this function to style the appearance of the landing page for the password-protected HTML file.
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)" )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)" )
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. |
A list with class fidelius_styling.
stylize(font_family = "Times")stylize(font_family = "Times")