This function makes it simpler to write HTML-generating code. Instead of needing to specify tags each time a tag function is used, as in tags$div() and tags$p(), code inside withTags is evaluated with tags searched first, so you can simply use div() and p().

withTags(code, .noWS = NULL)

Arguments

code

A set of tags.

.noWS

Default whitespace behavior for all tags within this call to withTags(). Setting .noWS on an individual tag fuction inside withTags() will override the default. See tag() for complete options.

Details

If your code uses an object which happens to have the same name as an HTML tag function, such as source() or summary(), it will call the tag function. To call the intended (non-tags function), specify the namespace, as in base::source() or base::summary().

Examples

# Using tags$ each time
tags$div(class = "myclass",
  tags$h3("header"),
  tags$p("text")
)
#> <div class="myclass">
#>   <h3>header</h3>
#>   <p>text</p>
#> </div>

# Equivalent to above, but using withTags
withTags(
  div(class = "myclass",
    h3("header"),
    p("text")
  )
)
#> <div class="myclass">
#>   <h3>header</h3>
#>   <p>text</p>
#> </div>

# Setting .noWS for all tags in withTags()
withTags(
  div(
    class = "myclass",
    h3("header"),
    p("One", strong(span("two")), "three")
  ),
  .noWS = c("outside", "inside")
)
#> <div class="myclass"><h3>header</h3><p>One<strong><span>two</span></strong>three</p></div>