thematic (version 0.1.1)

auto_config: Configure auto theming behavior

Description

Auto theming is really only "guaranteed" to work inside of a shiny runtime. In any other context, auto theming is based on a set of heuristics, which won't fit every use case. As a workaround, this function allows one to configure both a preference for specific auto values (e.g., bg, fg, etc) as well as the priority that certain information should receive.

Usage

auto_config(
  bg = NULL,
  fg = NULL,
  accent = NULL,
  font = NULL,
  priority = c("shiny", "config", "bslib", "rstudio")
)

auto_config_set(config)

auto_config_get()

Arguments

bg

a background color.

fg

a foreground color.

accent

a color for making certain graphical markers 'stand out' (e.g., the fitted line color for ggplot2::geom_smooth()). Can be 2 colors for lattice (stroke vs fill accent).

font

a font_spec() object. If missing, font defaults are not altered.

priority

the order of priority to use when resolving auto values. Possible values include:

  • "shiny": use shiny::getCurrentOutputInfo() values (if any) to resolve auto values.

  • "config": use the values provided to this function (if any) to resolve auto values.

  • "bslib": use bslib::bs_get_variables() values (if any) to resolve auto values (only relevant when knitr is in progress).

  • "rstudio": use rstudioapi::getThemeInfo() values (if any) to resolve auto values.

config

a auto_config() object.

Value

a config (list-like) object.

Details

Configuring auto theming behavior is especially useful for developers of a custom rmarkdown output document that wish to have more sensible auto theming behavior for users of the document. In particular, by having the output document call auto_config_set() "pre-knit" with the document's styling preferences (and restoring the old defaults "post-knit"), users of the output document can then simply call thematic_on() within their document to use those preferences.

Call this function with no arguments to get the current auto defaults.

Examples

Run this code
# NOT RUN {
old_config <- auto_config_set(auto_config("black", "white"))
thematic_with_theme(
  thematic_theme(), {
    plot(1:10, 1:10)
 })
auto_config_set(old_config)
# }

Run the code above in your browser using DataLab