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 # ----.
spin(
hair,
knit = TRUE,
report = TRUE,
text = NULL,
envir = parent.frame(),
format = c("Rmd", "Rnw", "Rhtml", "Rtex", "Rrst", "qmd"),
doc = "^#+'[ ]?",
inline = "^[{][{](.+)[}][}][ ]*$",
comment = c("^[# ]*/[*]", "^.*[*]/ *$"),
precious = !knit && is.null(text)
)If text is NULL, the path of the final output document,
otherwise the content of the output.
Path to the R script. The script must be encoded in UTF-8 if it contains multibyte characters.
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.
Yihui Xie, with the original idea from Richard FitzJohn (who named it
as sowsear() which meant to make a silk purse out of a sow's ear)
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)