😎 Give your xaringan slides some style
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

327 lines
20KB

  1. template_variables <- tibble::tribble(
  2. ~ variable, ~ default, ~ element, ~ description
  3. , "text_color", "#000", "body", "Text Color"
  4. , "header_color", "#000", "h1, h2, h3", "Header Color"
  5. , "background_color", "#FFF", ".remark-slide-content", "Slide Background Color"
  6. , "link_color", "rgb(249, 38, 114)", "a, a > code", "Link Color"
  7. , "text_bold_color", NULL, "strong", "Bold Text Color"
  8. , "text_slide_number_color", "{inverse_background_color}", ".remark-slide-number", "Slide Number Color"
  9. , "padding", "1rem 4rem 1rem 4rem", ".remark-slide-content", "Slide Padding in `top right [bottom left]` format"
  10. , "background_image", NULL, ".remark-slide-content", "Background image applied to each *and every* slide. Set `title_slide_background_image = \"none\"` to remove the background image from the title slide."
  11. , "background_size", NULL, ".remark-slide-content", "Background image size, requires `background_image` to be set. If `background_image` is set, `background_size` will default to `cover` so the backround fills the screen. If both `background_image` and `background_position` are set, will default to 100 percent."
  12. , "background_position", NULL, ".remark-slide-content", "Background image position, requires `background_image` to be set, and it is recommended to adjust `background_size`."
  13. , "code_highlight_color", "rgba(255,255,0,0.5)", ".remark-code-line-highlighted", "Code Line Highlight"
  14. , "code_inline_color", "#000", ".remark-inline-code", "Inline Code Color"
  15. , "code_inline_background_color", NULL, ".remark-inline-code", "Inline Code Background Color"
  16. , "code_inline_font_size", "1em", ".remark-inline-code", "Inline Code Text Font Size"
  17. , "inverse_background_color", "#272822", ".inverse", "Inverse Background Color"
  18. , "inverse_text_color", "#d6d6d6", ".inverse", "Inverse Text Color"
  19. , "inverse_text_shadow", "{FALSE}", ".inverse", "Enables Shadow on text of inverse slides"
  20. , "inverse_header_color", "#f3f3f3", ".inverse h1, .inverse h2, .inverse h3", "Inverse Header Color"
  21. , "title_slide_text_color", "{inverse_text_color}", ".title-slide", "Title Slide Text Color"
  22. , "title_slide_background_color", "{inverse_background_color}", ".title-slide", "Title Slide Background Color"
  23. , "title_slide_background_image", NULL, ".title-slide", "Title Slide Background Image URL"
  24. , "title_slide_background_size", NULL, ".title-slide", "Title Slide Background Image Size, defaults to \"cover\" if background image is set"
  25. , "title_slide_background_position", NULL, ".title-slide", "Title Slide Background Image Position"
  26. , "footnote_color", NULL, ".footnote", "Footnote text color (if `NA`, then it will be the same color as `text_color`)"
  27. , "footnote_font_size", "0.9em", ".footnote", "Footnote font size"
  28. , "footnote_position_bottom", "3em", ".footnote", "Footnote location from bottom of screen"
  29. , "left_column_subtle_color", "#777", ".left-column h2, .left-column h3", "Left Column Text (not last)"
  30. , "left_column_selected_color", "#000", ".left-column h2:last-of-type, .left-column h3:last-child", "Left Column Current Selection"
  31. , "blockquote_left_border_color", "lightgray", "blockquote", "Blockquote Left Border Color"
  32. , "table_border_color", "#666", "table: border-top, border-bottom", "Table top/bottom border"
  33. , "table_row_border_color", "#ddd", "table thead th: border-bottom", "Table row inner bottom border"
  34. , "table_row_even_background_color", "#eee", "thead, tfoot, tr:nth-child(even)", "Table Even Row Background Color"
  35. , "text_font_size", "20px", ".remark-slide-content", "Slide Body Text Font Size"
  36. , "header_h1_font_size", "55px", ".remark-slide-content h1", "h1 Header Text Font Size"
  37. , "header_h2_font_size", "45px", ".remark-slide-content h2", "h2 Header Text Font Size"
  38. , "header_h3_font_size", "35px", ".remark-slide-content h3", "h3 Header Text Font Size"
  39. , "header_background_enable", "{FALSE}", "", "Enable Header Background Under First h1 Slide Element"
  40. , "header_background_color", "{header_color}", ".remark-slide-content h1", "Background Color for h1 Header with Background"
  41. , "header_background_text_color", "{background_color}", ".remark-slide-content h1", "Text Color for h1 Header with Background"
  42. , "header_background_padding", "2rem 4rem 1.5rem 4rem", ".remark-slide-content h1", "Padding for h1 Header with Background"
  43. , "header_background_content_padding_top", "7rem", ".remark-slide-content", "Top Padding for Content in Slide with Header with Background"
  44. , "header_background_ignore_classes", "{c('normal', 'inverse', 'title', 'middle', 'bottom')}", ".remark-slide-content", "Slide Classes Where Header with Background will not be Applied"
  45. , "text_slide_number_font_size", "0.9em", ".remark-slide-number", "Slide Number Text Font Size"
  46. , "text_font_google", NULL, "body", "Use `google_font()` to specify body font"
  47. , "text_font_family", "'Droid Serif'", "body", "Body Text Font Family"
  48. , "text_font_weight", "normal", "body", "Body Text Font Weight"
  49. , "text_font_url", "https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic", "@import url()", "Body Text Font URL(s)"
  50. , "text_font_family_fallback", "'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'", "body", "Body Text Font Fallbacks"
  51. , "text_font_base", "serif", "body", "Body Text Base Font (Total Failure Fallback)"
  52. , "header_font_google", NULL, "body", "Use `google_font()` to specify header font"
  53. , "header_font_family", "'Yanone Kaffeesatz'", "h1, h2, h3", "Header Font Family"
  54. , "header_font_weight", "normal", "h1, h2, h3", "Header Font Weight"
  55. , "header_font_url", "https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz", "@import url", "Header Font URL"
  56. , "code_font_google", NULL, "body", "Use `google_font()` to specify code font"
  57. , "code_font_family", "'Source Code Pro'", ".remark-code, .remark-inline-code", "Code Font Family"
  58. , "code_font_size", "0.9em", ".remark-inline", "Code Text Font Size"
  59. , "code_font_url", "https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700", "@import url", "Code Font URL"
  60. , "code_font_family_fallback", "'Lucida Console', Monaco", ".remark-code, .remark-inline-code", "Code Font Fallback"
  61. )
  62. set_default <- function(tv, ...) {
  63. vars <- c(...)
  64. for (var in names(vars)) {
  65. tv[tv$variable == var, 'default'] <- vars[var]
  66. }
  67. tv
  68. }
  69. template_mono_light <- tibble::tribble(
  70. ~ variable, ~ default, ~ element, ~ description
  71. , "base_color", "#23395b", "multiple", "Monotone base color, works best with a strong color"
  72. , "white_color", "{lighten_color(base_color, 0.9)}", "multiple", "Brightest color used, default is a very light version of `base_color`"
  73. , "black_color", "{darken_color(base_color, 0.3)}", "multiple", "Darkest color used, default is a very dark, version of `base_color`"
  74. )
  75. template_mono_light <- do.call('rbind', list(template_mono_light, template_variables))
  76. template_mono_light <- set_default(
  77. template_mono_light,
  78. text_color = "{black_color}",
  79. header_color = "{base_color}",
  80. background_color = "{white_color}",
  81. link_color = "{base_color}",
  82. text_bold_color = "{base_color}",
  83. text_slide_number_color = "{base_color}",
  84. code_inline_color = "{base_color}",
  85. inverse_background_color = "{base_color}",
  86. inverse_text_color = "{white_color}",
  87. inverse_header_color = "{white_color}",
  88. left_column_subtle_color = "{apply_alpha(base_color, 0.6)}",
  89. left_column_selected_color = "{base_color}",
  90. blockquote_left_border_color = "{apply_alpha(base_color, 0.5)}",
  91. table_row_even_background_color = "{lighten_color(base_color, 0.8)}")
  92. template_mono_dark <- tibble::tribble(
  93. ~ variable, ~ default, ~ element, ~ description
  94. , "base_color", "#cbf7ed", "multiple", "Monotone Base Color, works best with a light color."
  95. , "white_color", "{lighten_color(base_color, 0.8)}", "multiple", "Brightest color used, default is a very light version of `base_color`"
  96. , "black_color", "{darken_color(base_color, 0.85)}", "multiple", "Darkest color used, default is a very dark, version of `base_color`"
  97. )
  98. template_mono_dark <- do.call('rbind', list(template_mono_dark, template_variables))
  99. template_mono_dark <- set_default(
  100. template_mono_dark,
  101. text_color = "{white_color}",
  102. header_color = "{base_color}",
  103. background_color = "{black_color}",
  104. link_color = "{base_color}",
  105. text_bold_color = "{base_color}",
  106. text_slide_number_color = "{base_color}",
  107. code_inline_color = "{base_color}",
  108. inverse_background_color = "{base_color}",
  109. inverse_text_color = "{black_color}",
  110. inverse_header_color = "{black_color}",
  111. left_column_subtle_color = "{apply_alpha(base_color, 0.6)}",
  112. left_column_selected_color = "{base_color}",
  113. blockquote_left_border_color = "{apply_alpha(base_color, 0.5)}",
  114. table_row_even_background_color = "{darken_color(base_color, 0.7)}")
  115. template_mono_accent <- tibble::tribble(
  116. ~ variable, ~ default, ~ element, ~ description
  117. , "base_color", "#43418A", "multiple", "Monotone Base Color, works best with a strong color."
  118. , "white_color", "#FFFFFF", "multiple", "Brightest color used"
  119. , "black_color", "#272822", "multiple", "Darkest color used"
  120. )
  121. template_mono_accent <- do.call('rbind', list(template_mono_accent, template_variables))
  122. template_mono_accent <- set_default(
  123. template_mono_accent,
  124. text_color = "{black_color}",
  125. header_color = "{base_color}",
  126. background_color = "{white_color}",
  127. link_color = "{base_color}",
  128. text_bold_color = "{base_color}",
  129. text_slide_number_color = "{base_color}",
  130. code_inline_color = "{base_color}",
  131. inverse_background_color = "{base_color}",
  132. inverse_text_color = "{white_color}",
  133. inverse_header_color = "{white_color}",
  134. left_column_subtle_color = "{apply_alpha(base_color, 0.6)}",
  135. left_column_selected_color = "{base_color}",
  136. blockquote_left_border_color = "{apply_alpha(base_color, 0.5)}",
  137. table_row_even_background_color = "{lighten_color(base_color, 0.7)}")
  138. template_mono_accent_inverse <- tibble::tribble(
  139. ~ variable, ~ default, ~ element, ~ description
  140. , "base_color", "#3C989E", "multiple", "Monotone Base Color, works best with a light color."
  141. , "white_color", "#FFFFFF", "multiple", "Brightest color used, default is a very light version of `base_color`"
  142. , "black_color", "{darken_color(base_color, 0.9)}", "multiple", "Darkest color used, default is a very dark, version of `base_color`"
  143. )
  144. template_mono_accent_inverse <- do.call('rbind', list(template_mono_accent_inverse, template_variables))
  145. template_mono_accent_inverse <- set_default(
  146. template_mono_accent_inverse,
  147. text_color = "{white_color}",
  148. header_color = "{base_color}",
  149. background_color = "{black_color}",
  150. link_color = "{base_color}",
  151. text_bold_color = "{base_color}",
  152. text_slide_number_color = "{base_color}",
  153. code_inline_color = "{base_color}",
  154. inverse_background_color = "{base_color}",
  155. inverse_text_color = "{black_color}",
  156. inverse_header_color = "{black_color}",
  157. left_column_subtle_color = "{apply_alpha(base_color, 0.6)}",
  158. left_column_selected_color = "{base_color}",
  159. blockquote_left_border_color = "{apply_alpha(base_color, 0.5)}",
  160. table_row_even_background_color = "{darken_color(base_color, 0.7)}")
  161. template_duo_light <- tibble::tribble(
  162. ~ variable, ~ default, ~ element, ~ description
  163. , "primary_color", "#1F4257", "multiple", "Duotone Secondary Color"
  164. , "secondary_color", "#F97B64", "multiple", "Duotone Primary Color"
  165. , "white_color", "{lighten_color(primary_color, 0.99)}", "multiple", "Brightest color used, default is a very light version of `primary_color`"
  166. , "black_color", "{darken_color(secondary_color, 0.9)}", "multiple", "Darkest color used, default is a very dark version of `secondary_color`"
  167. )
  168. template_duo_light <- do.call('rbind', list(template_duo_light, template_variables))
  169. template_duo_light <- set_default(
  170. template_duo_light,
  171. text_color = "{black_color}",
  172. header_color = "{primary_color}",
  173. background_color = "{white_color}",
  174. link_color = "{secondary_color}",
  175. text_bold_color = "{secondary_color}",
  176. text_slide_number_color = "{primary_color}",
  177. code_inline_color = "{secondary_color}",
  178. inverse_background_color = "{primary_color}",
  179. inverse_text_color = "{secondary_color}",
  180. inverse_header_color = "{secondary_color}",
  181. left_column_subtle_color = "{apply_alpha(secondary_color, 0.6)}",
  182. left_column_selected_color = "{secondary_color}",
  183. blockquote_left_border_color = "{apply_alpha(secondary_color, 0.5)}",
  184. table_row_even_background_color = "{lighten_color(secondary_color, 0.7)}")
  185. template_duo <- tibble::tribble(
  186. ~ variable, ~ default, ~ element, ~ description
  187. , "primary_color", "#1F4257", "multiple", "Duotone Primary Color"
  188. , "secondary_color", "#F97B64", "multiple", "Duotone Secondary Color"
  189. )
  190. template_duo <- do.call('rbind', list(template_duo, template_variables))
  191. template_duo <- set_default(
  192. template_duo,
  193. text_color = "{choose_dark_or_light(primary_color, darken_color(primary_color, 0.9), lighten_color(secondary_color, 0.99))}",
  194. header_color = "{secondary_color}",
  195. background_color = "{primary_color}",
  196. link_color = "{secondary_color}",
  197. text_bold_color = "{secondary_color}",
  198. text_slide_number_color = "{text_color}",
  199. code_inline_color = "{secondary_color}",
  200. inverse_background_color = "{secondary_color}",
  201. inverse_text_color = "{primary_color}",
  202. inverse_header_color = "{primary_color}",
  203. title_slide_text_color = "{secondary_color}",
  204. title_slide_background_color = "{primary_color}",
  205. left_column_subtle_color = "{apply_alpha(secondary_color, 0.6)}",
  206. left_column_selected_color = "{secondary_color}",
  207. blockquote_left_border_color = "{apply_alpha(secondary_color, 0.5)}",
  208. table_row_even_background_color = "{lighten_color(primary_color, 0.3)}")
  209. template_duo_accent <- tibble::tribble(
  210. ~ variable, ~ default, ~ element, ~ description
  211. , "primary_color", "#006747", "multiple", "Duotone Primary Color"
  212. , "secondary_color", "#CFC493", "multiple", "Duotone Secondary Color"
  213. , "white_color", "#FFFFFF", "multiple", "Brightest color used"
  214. , "black_color", "#000000", "multiple", "Darkest color used"
  215. )
  216. template_duo_accent <- do.call('rbind', list(template_duo_accent, template_variables))
  217. template_duo_accent <- set_default(
  218. template_duo_accent,
  219. text_color = "{black_color}",
  220. header_color = "{primary_color}",
  221. background_color = "{white_color}",
  222. link_color = "{choose_dark_or_light(secondary_color, primary_color, secondary_color)}",
  223. text_bold_color = "{choose_dark_or_light(secondary_color, primary_color, secondary_color)}",
  224. text_slide_number_color = "{primary_color}",
  225. code_inline_color = "{choose_dark_or_light(secondary_color, primary_color, secondary_color)}",
  226. inverse_background_color = "{secondary_color}",
  227. inverse_text_color = "{choose_dark_or_light(secondary_color, black_color, white_color)}",
  228. inverse_header_color = "{choose_dark_or_light(secondary_color, black_color, white_color)}",
  229. title_slide_background_color = "{primary_color}",
  230. title_slide_text_color = "{choose_dark_or_light(primary_color, black_color, white_color)}",
  231. left_column_subtle_color = "{apply_alpha(primary_color, 0.6)}",
  232. left_column_selected_color = "{primary_color}",
  233. blockquote_left_border_color = "{apply_alpha(secondary_color, 0.5)}",
  234. table_row_even_background_color = "{lighten_color(secondary_color, 0.3)}")
  235. template_duo_accent_inverse <- set_default(
  236. template_duo_accent,
  237. text_color = "{white_color}",
  238. header_color = "{primary_color}",
  239. background_color = "{black_color}",
  240. link_color = "{choose_dark_or_light(secondary_color, secondary_color, primary_color)}",
  241. text_bold_color = "{choose_dark_or_light(secondary_color, secondary_color, primary_color)}",
  242. text_slide_number_color = "{primary_color}",
  243. code_inline_color = "{choose_dark_or_light(secondary_color, secondary_color, primary_color)}",
  244. inverse_background_color = "{secondary_color}",
  245. inverse_text_color = "{choose_dark_or_light(secondary_color, black_color, white_color)}",
  246. inverse_header_color = "{choose_dark_or_light(secondary_color, black_color, white_color)}",
  247. title_slide_background_color = "{primary_color}",
  248. title_slide_text_color = "{choose_dark_or_light(primary_color, black_color, white_color)}",
  249. left_column_subtle_color = "{apply_alpha(primary_color, 0.6)}",
  250. left_column_selected_color = "{primary_color}",
  251. blockquote_left_border_color = "{apply_alpha(secondary_color, 0.5)}",
  252. table_row_even_background_color = "{darken_color(choose_dark_or_light(primary_color, secondary_color, primary_color), 0.3)}")
  253. solarized <- list(
  254. "base03" = "#002b36",
  255. "base02" = "#073642",
  256. "base01" = "#586e75",
  257. "base00" = "#657b83",
  258. "base0" = "#839496",
  259. "base1" = "#93a1a1",
  260. "base2" = "#eee8d5",
  261. "base3" = "#fdf6e3",
  262. "yellow" = "#b58900",
  263. "orange" = "#cb4b16",
  264. "red" = "#dc322f",
  265. "magenta" = "#d33682",
  266. "violet" = "#6c71c4",
  267. "blue" = "#268bd2",
  268. "cyan" = "#2aa198",
  269. "green" = "#859900")
  270. template_solarized_light <- set_default(
  271. template_variables,
  272. text_color = solarized$base00,
  273. header_color = solarized$red,
  274. background_color = solarized$base3,
  275. link_color = solarized$yellow,
  276. text_bold_color = solarized$magenta,
  277. text_slide_number_color = solarized$base1,
  278. code_highlight_color = "#268bd240", #xaringanthemer:::apply_alpha(solarized$blue, 0.25)
  279. code_inline_color = solarized$violet,
  280. inverse_background_color = solarized$base03,
  281. inverse_text_color = solarized$base3,
  282. inverse_header_color = "{inverse_text_color}",
  283. title_slide_text_color = "{inverse_text_color}",
  284. title_slide_background_color = "{inverse_background_color}",
  285. left_column_subtle_color = solarized$base1,
  286. left_column_selected_color = solarized$base01,
  287. blockquote_left_border_color = solarized$orange,
  288. table_border_color = solarized$base0,
  289. table_row_border_color = solarized$base0,
  290. table_row_even_background_color = solarized$base2
  291. )
  292. template_solarized_dark <- set_default(
  293. template_variables,
  294. text_color = solarized$base0,
  295. header_color = solarized$red,
  296. background_color = solarized$base03,
  297. link_color = solarized$yellow,
  298. text_bold_color = solarized$magenta,
  299. text_slide_number_color = solarized$base01,
  300. code_highlight_color = "#268bd240", #xaringanthemer:::apply_alpha(solarized$blue, 0.25)
  301. code_inline_color = solarized$violet,
  302. inverse_background_color = solarized$base3,
  303. inverse_text_color = solarized$base03,
  304. inverse_header_color = "{inverse_text_color}",
  305. title_slide_text_color = "{inverse_text_color}",
  306. title_slide_background_color = "{inverse_background_color}",
  307. left_column_subtle_color = solarized$base01,
  308. left_column_selected_color = solarized$base1,
  309. blockquote_left_border_color = solarized$orange,
  310. table_border_color = solarized$base00,
  311. table_row_border_color = solarized$base00,
  312. table_row_even_background_color = solarized$base02
  313. )