markdownRule: Rule for building text documents from Markdown files

View source: R/markdownRule.R

markdownRuleR Documentation

Rule for building text documents from Markdown files

Description

This rule executes Markdown rendering to create text files in various supported formats such as PDF, DOCX, etc.

Usage

markdownRule(target, script, depends = NULL, params = list(), task = "all")

Arguments

target

Name of the output file to be created

script

Name of the markdown file to be rendered

depends

A vector of file names that the markdown script depends on, or NULL.

params

A list of R values that become available within the script in a params variable.

task

A character vector of parent task names. The mechanism of tasks allows grouping rules. Anything different from 'all' will cause the creation of a new task depending on the given rule. Executing ⁠make taskname⁠ will then force building this rule.

Details

This rule executes the following command in a separate R process: ⁠params <- params; rmarkdown::render(script, output_format=format, output_file=target)⁠

That is, the parameters given in the params argument are stored in the global variable and then the script is rendered with rmarkdown. Note that the re-generation of the Makefile with any change to params will not cause the re-execution of the recipe unless other script dependencies change.

Issuing ⁠make clean⁠ from the shell causes removal of all files specified in the target parameter.

Value

Instance of S3 class rmake.rule

Author(s)

Michal Burda

See Also

rule(), makefile(), rRule()

Examples

r <- markdownRule(target='report.pdf',
                  script='report.Rmd',
                  depends=c('data1.csv', 'data2.csv'))

# generate the content of a makefile (as character vector)
makefile(list(r))

# generate to file
tmp <- tempdir()
makefile(list(r), file.path(tmp, "Makefile"))

rmake documentation built on Nov. 12, 2025, 9:06 a.m.