😎 Give your xaringan slides some style
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

314 lines
18KB

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