The rendering functions make document builds explicit and repeatable.
A small Makefile can express the same commands used interactively while
rebuilding an output only after its source changes:
.PHONY: all clean
all: resume.html resume.pdf cover-letter.html cover-letter.pdf
resume.html resume.pdf: resume.Rmd
Rscript -e 'liteformats::resume("$<", "$@")'
cover-letter.html cover-letter.pdf: cover-letter.Rmd
Rscript -e 'liteformats::cover_letter("$<", "$@")'
clean:
$(RM) resume.html resume.pdf cover-letter.html cover-letter.pdf
Run make to build every target, or name one target such as
make cover-letter.pdf. Each recipe exposes the underlying R command,
so it can include project-specific options, preprocessing, postprocessing,
or other dependencies.
Each render has two stages. First, litedown::fuse(..., "markdown") evaluates
R code and YAML. Then litedown::mark() applies the format’s HTML template.
This order means inline R values work in metadata as well as in the document
body.
PDF uses that self-contained HTML as its input and prints it with
xfun::browser_print(). As a result, the source and R dependencies are the
same for HTML and PDF; PDF additionally requires a local Chromium-based
browser. Vignette and automated check workflows can build HTML without adding
that browser requirement.
For render time overrides, pass the matching options helper in the recipe as
shown in vignette("config").