## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  warning = FALSE,
  comment = "#>",
  fig.width = 6,
  fig.height = 4
)

## ----setup, include=FALSE-----------------------------------------------------
library(xaringanthemer)
style_mono_accent(
  base_color = "#DC322F",
  inverse_background_color = "#002B36",
  inverse_header_color = "#31b09e",
  inverse_text_color = "#FFFFFF",
  title_slide_background_color = "var(--base)",
  text_font_google = google_font("Kelly Slab"),
  header_font_google = google_font("Oleo Script"),
  outfile = NULL
)

## ----ggplot2-demo-1, out.width = "48%", fig.show="hide"-----------------------
library(ggplot2)

g_base <- ggplot(mpg) +
  aes(hwy, cty) +
  geom_point() +
  labs(x = "Highway MPG", y = "City MPG", title = "Fuel Efficiency")

# Basic plot with default theme
g_base

## ----ggplot2-demo-2, fig.show="hide"------------------------------------------
# Fancy slide-matching themed plot
g_base + theme_xaringan()

## ----eval=FALSE---------------------------------------------------------------
#  theme_xaringan_restore_defaults()

## ----ggplot2-demo-inverse, fig.show="hide"------------------------------------
# theme_xaringan() on the left, theme_xaringan_inverse() on the right
g_base + theme_xaringan_inverse()

## ----eval=FALSE---------------------------------------------------------------
#  theme_xaringan(css_file = "my-slide-style.css")

## ----eval=FALSE---------------------------------------------------------------
#  theme_xaringan(
#    text_color = "#3D3E38",
#    background_color = "#FFFFFF",
#    accent_color = "#DC322F",
#    text_font = "Kelly Slab",
#    text_font_use_google = TRUE,
#    title_font = "Oleo Script",
#    title_font_use_google = TRUE
#  )

## ----demo-geom-defaults, fig.width = 10---------------------------------------
g_diamonds <- ggplot(diamonds, aes(x = cut)) +
  geom_bar() +
  labs(x = NULL, y = NULL, title = "Diamond Cut Quality") +
  ylim(0, 25000)

g_diamonds + theme_xaringan()

## ----eval=FALSE---------------------------------------------------------------
#  theme_xaringan_restore_defaults()

## ----scale-xaringan, fig.width = 9, fig.height = 5, out.width="48%", fig.show="hold", echo = TRUE----
ggplot(diamonds, aes(x = cut)) +
  geom_bar(aes(fill = ..count..), show.legend = FALSE) +
  labs(x = NULL, y = "Count", title = "Diamond Cut Quality") +
  theme_xaringan() +
  scale_xaringan_fill_continuous()

ggplot(mpg, aes(x = hwy, y = cty)) +
  geom_count(aes(color = ..n..), show.legend = FALSE) +
  labs(x = "Highway MPG", y = "City MPG", title = "Fuel Efficiency") +
  theme_xaringan_inverse() +
  scale_xaringan_color_continuous(breaks = seq(3, 12, 2), inverse = TRUE, begin = 1, end = 0)

## ----text demo, fig.width = 10------------------------------------------------
g_diamonds_with_text <-
  g_diamonds +
  geom_text(aes(y = ..count.., label = format(..count.., big.mark = ",")),
    vjust = -0.30, size = 8, stat = "count") +
  labs(x = "Cut", y = "Count")

g_diamonds_with_text + theme_xaringan()

## ----text-demo-2, fig.width = 10----------------------------------------------
g_diamonds_with_text +
  theme_xaringan(
    text_font = google_font("Ranga"),
    title_font = google_font("Holtwood One SC")
  )

## ----eval=FALSE---------------------------------------------------------------
#  font_url <- file.path(
#    "https://fontlibrary.org/assets/fonts/glacial-indifference/",
#    "5f2cf277506e19ec77729122f27b1faf/0820b3c58fed35de298219f314635982",
#    "GlacialIndifferenceRegular.ttf"
#  )
#  
#  font_temp <- tempfile()
#  download.file(font_url, font_temp)

## ----sysfonts-custom-font, fig.width = 10-------------------------------------
# Path to the local custom font file
font_temp <- system.file(
  "fonts/GlacialIndifferenceRegular.ttf", package = "xaringanthemer"
)

# Register the font with sysfonts/showtext
sysfonts::font_add(family = "GlacialIndifferenceRegular", regular = font_temp)

# Now it's available for use!
g_diamonds_with_text +
  theme_xaringan(
    text_font = "GlacialIndifferenceRegular",
    title_font = "GlacialIndifferenceRegular"
  )

## ----eval=FALSE---------------------------------------------------------------
#  ## On Windows
#  # x11(width = 16 * 2/3, height = 9 * 2/3)
#  
#  ## On MacOS
#  quartz(width = 16 * 2/3, height = 9 * 2/3)
#  ## run plot code to preview in separate window
#  dev.off() # call when done to close the device