Nothing
# adapted from reticulate vignettes/python_packages.Rmd if (!reticulate::py_available(initialize = TRUE)) { knitr::opts_chunk$set(eval = FALSE) } else { inst <- tryCatch(reticulate::py_install("excerpts"), error = identity) if (inherits(inst, "error")) { knitr::opts_chunk$set(eval = FALSE) } else { knitr::opts_chunk$set(eval = TRUE) } }
excerptr is an R interface to the python package excerpts. See there for more on the Why.
Suppose you have a script
path <- system.file("tests", "files", "some_file.R", package = "excerptr") cat(readLines(path), sep = "\n")
and you would want to excerpt the comments marked by '%' into a file giving you the table of contents of your script. Then
excerptr::excerptr(file_name = path, run_pandoc = FALSE, output_path = tempdir())
gives you
cat(readLines(file.path(tempdir(), sub("\\.R$", ".md", basename(path)))), sep = "\n")
If you have pandoc installed, you can convert the markdown output into html:
is_pandoc_installed <- nchar(Sys.which("pandoc")) > 0 && nchar(Sys.which("pandoc-citeproc")) > 0 is_pandoc_version_sufficient <- FALSE if (is_pandoc_installed) { reference <- "1.12.3" version <- strsplit(system2(Sys.which("pandoc"), "--version", stdout = TRUE), split = " ")[[1]][2] if (utils::compareVersion(version, reference) >= 0) is_pandoc_version_sufficient <- TRUE } if (is_pandoc_version_sufficient) excerptr::excerptr(file_name = path, pandoc_formats = "html", output_path = tempdir())
This runs pandoc on your excerpted comments and generates an html file you can view via:
if (is_pandoc_version_sufficient) cat(readLines(file.path(tempdir(), sub("\\.R$", ".html", basename(path)))), sep = "\n")
if (is_pandoc_version_sufficient) excerptr::excerptr(file_name = path, pandoc_formats = "html", output_path = file.path(rprojroot::find_root(rprojroot::is_r_package), "inst", "tests", "files") )
You browse it via
browseURL(file.path(tempdir(), sub("\\.R$", ".html", basename(path))))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.