Replaces the rules for a sass_layer()
object with new rules, and compile it.
This is useful when (for example) you want to compile a set of rules using
variables derived from a theme, but you do not want the resulting CSS for the
entire theme -- just the CSS for the specific rules passed in.
sass_partial(
rules,
bundle,
options = sass_options_get(),
output = NULL,
write_attachments = NA,
cache = sass_cache_get(),
cache_key_extra = NULL
)
A set of sass rules, which will be used instead of the rules
from layer
.
A sass_bundle()
or sass_layer()
object.
Compiler sass_options()
.
Specifies path to output file for compiled CSS. May be a
character string or output_template()
If the input contains sass_layer()
objects that
have file attachments, and output
is not NULL
, then copy the file
attachments to the directory of output
. (Defaults to NA
, which merely
emits a warning if file attachments are present, but does not write them to
disk; the side-effect of writing extra files is subtle and potentially
destructive, as files may be overwritten.)
This can be a directory to use for the cache, a FileCache
object created by sass_file_cache()
, or FALSE
or NULL
for no caching.
additional information to considering when computing
the cache key. This should include any information that could possibly
influence the resulting CSS that isn't already captured by input
. For
example, if input
contains something like "@import sass_file.scss"
you
may want to include the file.mtime()
of sass_file.scss
(or, perhaps, a
packageVersion()
if sass_file.scss
is bundled with an R package).
theme <- sass_layer(
defaults = sass_file(system.file("examples/variables.scss", package = "sass")),
rules = sass_file(system.file("examples/rules.scss", package = "sass"))
)
# Compile the theme
sass(theme)
#> /* CSS */
#> body {
#> background-color: #333;
#> color: white;
#> font-size: 16px;
#> }
#>
# Sometimes we want to use the variables from the theme to compile other sass
my_rules <- ".someclass { background-color: $bg; color: $fg; }"
sass_partial(my_rules, theme)
#> /* CSS */
#> .someclass {
#> background-color: #333;
#> color: white;
#> }
#>