This function takes a specially formatted R script and converts it to a
literate programming document. By default normal text (documentation) should
be written after the roxygen comment (#'
) and code chunk options are
written after #+
or #-
or # ----
or any of these
combinations replacing #
with --
.
spin(hair, knit = TRUE, report = TRUE, text = NULL, envir = parent.frame(),
format = c("Rmd", "Rnw", "Rhtml", "Rtex", "Rrst"), doc = "^#+'[ ]?",
inline = "^[{][{](.+)[}][}][ ]*$", comment = c("^[# ]*/[*]", "^.*[*]/ *$"),
precious = !knit && is.null(text))
Path to the R script.
Logical; whether to compile the document after conversion.
Logical; whether to generate a report for Rmd
, Rnw
and Rtex
output. Ignored if knit = FALSE
.
A character vector of code, as an alternative way to
provide the R source. If text
is not NULL
, hair
will
be ignored.
Environment for knit()
to evaluate the code.
Character; the output format. The default is R Markdown.
A regular expression to identify the documentation lines; by
default it follows the roxygen convention, but it can be customized, e.g.
if you want to use ##
to denote documentation, you can use
'^##\\s*'
.
A regular expression to identify inline R expressions; by
default, code of the form ((code))
on its own line is treated as an
inline expression.
A pair of regular expressions for the start and end delimiters
of comments; the lines between a start and an end delimiter will be
ignored. By default, the delimiters are /*
at the beginning of a line,
and */
at the end, following the convention of C comments.
logical: whether intermediate files (e.g., .Rmd
files
when format
is "Rmd"
) should be preserved. The default is
FALSE
if knit
is TRUE
and the input is a file.
If text
is NULL
, the path of the final output document,
otherwise the content of the output.
Obviously the goat's hair is the original R script, and the wool is the literate programming document (ready to be knitted).
stitch
(feed a template with an R script)