😎 Give your xaringan slides some style
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

317 Zeilen
19KB

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