These transformers are useful for applying the same transformation to every replacement in the template.
Usage
epoxy_transform_wrap(
before = "**",
after = before,
engine = NULL,
transformer = glue::identity_transformer,
syntax = lifecycle::deprecated()
)
epoxy_transform_bold(engine = NULL, transformer = glue::identity_transformer)
epoxy_transform_italic(engine = NULL, transformer = glue::identity_transformer)
epoxy_transform_apply(
.f = identity,
...,
transformer = glue::identity_transformer
)
epoxy_transform_code(engine = NULL, transformer = glue::identity_transformer)
epoxy_transform_collapse(
sep = ", ",
last = sep,
language = NULL,
...,
transformer = glue::identity_transformer
)Arguments
- before, after
In
epoxy_transform_wrap(), the characters to be added before and after variables in the template string.- engine
One of
"markdown"(or"md"),"html", or"latex". The default is chosen based on the engine of the chunk where the transform function is called, or according to the optionepoxy.engine. Caution: invalid options are silently ignored, falling back to"markdown".- transformer
The transformer to apply to the replacement string. This argument is used for chaining the transformer functions. By providing a function to this argument you can apply an additional transformation after the current transformation. In nearly all cases, you can let
epoxy_transform()handle this for you. The chain ends whenglue::identity_transformer()is used as thetransformer.- syntax
- .f
A function, function name or
purrr::map()-style inline function.- ...
Transformer functions, e.g. epoxy_transform_bold or the name of an epoxy transform function, e.g.
"bold", or a call to a transform function, e.g.epoxy_transform_bold().epoxy_transform()chains the transformer functions together, applying the transformers in order from first to last.For example,
epoxy_transform("bold", "collapse")results in replaced strings that are emboldened and then collapsed, e.g.**a** and **b**. On the other hand,epoxy_transform("collapse", "bold")will collapse the vector and then embolden the entire string.In
epoxy_transform_apply(), the...are passed to the underlying call the underlying function call.In
epoxy_transform_collapse(), the...are ignored.- sep, last
The separator to use when joining the vector elements when the expression ends with a
*. Elements are separated bysep, except for the last two elements, which uselast.- language
In
epoxy_transform_collapse(),languageis passed toand::and()orand::or()to choose the correct and/or phrase and spacing for thelanguage. By default, will follow the system language. See and::and_languages for supported languages.
Value
A function of text and envir suitable for the .transformer argument of
glue::glue().
Functions
epoxy_transform_wrap(): Wrap variables with text added before or after the inline expression.epoxy_transform_bold(): Embolden variables using**in markdown,<strong>in HTML, or\textbf{}in LaTeX.epoxy_transform_italic(): Italicize variables using_in markdown,<em>in HTML, or\emph{}in LaTeX.epoxy_transform_apply(): Apply a function to all replacement expressions.epoxy_transform_code(): Code format variables using``in markdown,<code>in HTML, or\texttt{}in LaTeX.epoxy_transform_collapse(): Collapse vector variables with a succinct syntax (but seeepoxy_transform_inline()for a more readable option).
Examples
abc <- c("a", "b", "c")
epoxy("{abc}", .transformer = epoxy_transform_wrap("'"))
#> 'a'
#> 'b'
#> 'c'
epoxy("{abc}", .transformer = epoxy_transform_bold())
#> **a**
#> **b**
#> **c**
epoxy("{abc}", .transformer = epoxy_transform_italic())
#> _a_
#> _b_
#> _c_
epoxy("{abc}", .transformer = epoxy_transform_code())
#> `a`
#> `b`
#> `c`
epoxy("{abc}", .transformer = epoxy_transform_apply(toupper))
#> A
#> B
#> C
