😎 Give your xaringan slides some style
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

360 lines
24KB

  1. #' Monotone Light Theme
  2. #'
  3. #' @param base_color Monotone base color, works best with a strong color, defaults to #23395b
  4. #' @param white_color Brightest color used, default is a very light version of `base_color`, defaults to `lighten_color(base_color, 0.9)`
  5. #' @param black_color Darkest color used, default is a very dark, version of `base_color`, defaults to `darken_color(base_color, 0.3)`
  6. #' @param text_color Text Color, defaults to `black_color`
  7. #' @param header_color Header Color, defaults to `base_color`
  8. #' @param background_color Slide Background Color, defaults to `white_color`
  9. #' @param link_color Link Color, defaults to `base_color`
  10. #' @param text_bold_color Bold Text Color, defaults to `base_color`
  11. #' @param text_slide_number_color Slide Number Color, defaults to `base_color`
  12. #' @param code_highlight_color Code Line Highlight, defaults to #ffff88
  13. #' @param code_inline_color Inline Code Color, defaults to `base_color`
  14. #' @param code_inline_background_color Inline Code Background Color, defaults to NA
  15. #' @param inverse_background_color Inverse Background Color, defaults to `base_color`
  16. #' @param inverse_text_color Inverse Text Color, defaults to `white_color`
  17. #' @param inverse_text_shadow Enables Shadow on text of inverse slides, defaults to `FALSE`
  18. #' @param inverse_header_color Inverse Header Color, defaults to `white_color`
  19. #' @param title_slide_text_color Title Slide Text Color, defaults to `inverse_text_color`
  20. #' @param title_slide_background_color Title Slide Background Color, defaults to `inverse_background_color`
  21. #' @param title_slide_background_image Title Slide Background Image URL, defaults to NA
  22. #' @param left_column_subtle_color Left Column Text (not last), defaults to `lighten_color(base_color, 0.5)`
  23. #' @param left_column_selected_color Left Column Current Selection, defaults to `base_color`
  24. #' @param blockquote_left_color Blockquote Left Border Color, defaults to `lighten_color(base_color, 0.5)`
  25. #' @param table_border_color Table top/bottom border, defaults to #666
  26. #' @param table_row_border_color Table row inner bottom border, defaults to #ddd
  27. #' @param table_row_even_background_color Table Even Row Background Color, defaults to `lighten_color(base_color, 0.8)`
  28. #' @param text_font_google Use `google_font()` to specify body font, defaults to `NULL`
  29. #' @param text_font_family Body Text Font Family, defaults to 'Droid Serif'
  30. #' @param text_font_weight Body Text Font Weight, defaults to normal
  31. #' @param text_font_url Body Text Font URL(s), defaults to https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic
  32. #' @param text_font_family_fallback Body Text Font Fallbacks, defaults to 'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'
  33. #' @param text_font_base Body Text Base Font (Total Failure Fallback), defaults to serif
  34. #' @param header_font_google Use `google_font()` to specify header font, defaults to `NULL`
  35. #' @param header_font_family Header Font Family, defaults to 'Yanone Kaffeesatz'
  36. #' @param header_font_weight Header Font Weight, defaults to normal
  37. #' @param header_font_url Header Font URL, defaults to https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz
  38. #' @param code_font_google Use `google_font()` to specify code font, defaults to `NULL`
  39. #' @param code_font_family Code Font Family, defaults to 'Source Code Pro'
  40. #' @param code_font_url Code Font URL, defaults to https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700
  41. #' @param code_font_family_fallback Code Font Fallback, defaults to 'Lucida Console', Monaco
  42. #' @param outfile Customized xaringan CSS output file name
  43. #' @family Monotone themes
  44. #' @export
  45. mono_light <- function(
  46. base_color = "#23395b",
  47. white_color = lighten_color(base_color, 0.9),
  48. black_color = darken_color(base_color, 0.3),
  49. text_color = black_color,
  50. header_color = base_color,
  51. background_color = white_color,
  52. link_color = base_color,
  53. text_bold_color = base_color,
  54. text_slide_number_color = base_color,
  55. code_highlight_color = "#ffff88",
  56. code_inline_color = base_color,
  57. code_inline_background_color = NA,
  58. inverse_background_color = base_color,
  59. inverse_text_color = white_color,
  60. inverse_text_shadow = FALSE,
  61. inverse_header_color = white_color,
  62. title_slide_text_color = inverse_text_color,
  63. title_slide_background_color = inverse_background_color,
  64. title_slide_background_image = NA,
  65. left_column_subtle_color = lighten_color(base_color, 0.5),
  66. left_column_selected_color = base_color,
  67. blockquote_left_color = lighten_color(base_color, 0.5),
  68. table_border_color = "#666",
  69. table_row_border_color = "#ddd",
  70. table_row_even_background_color = lighten_color(base_color, 0.8),
  71. text_font_google = NULL,
  72. text_font_family = "'Droid Serif'",
  73. text_font_weight = "normal",
  74. text_font_url = "https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic",
  75. text_font_family_fallback = "'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'",
  76. text_font_base = "serif",
  77. header_font_google = NULL,
  78. header_font_family = "'Yanone Kaffeesatz'",
  79. header_font_weight = "normal",
  80. header_font_url = "https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz",
  81. code_font_google = NULL,
  82. code_font_family = "'Source Code Pro'",
  83. code_font_url = "https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700",
  84. code_font_family_fallback = "'Lucida Console', Monaco",
  85. outfile = "xaringan-themed.css"
  86. ) {
  87. eval(parse(text = call_write_xaringan_theme()))
  88. }
  89. # generator: setup_theme_function("mono_light", template_mono_light, "#' @family Monotone themes", "#' @export", body = " eval(parse(text = call_write_xaringan_theme()))")
  90. #' Monotone Dark Theme
  91. #'
  92. #' @param base_color Monotone Base Color, works best with a light color., defaults to #cbf7ed
  93. #' @param white_color Brightest color used, default is a very light version of `base_color`, defaults to `lighten_color(base_color, 0.8)`
  94. #' @param black_color Darkest color used, default is a very dark, version of `base_color`, defaults to `darken_color(base_color, 0.85)`
  95. #' @param text_color Text Color, defaults to `white_color`
  96. #' @param header_color Header Color, defaults to `base_color`
  97. #' @param background_color Slide Background Color, defaults to `black_color`
  98. #' @param link_color Link Color, defaults to `base_color`
  99. #' @param text_bold_color Bold Text Color, defaults to `base_color`
  100. #' @param text_slide_number_color Slide Number Color, defaults to `base_color`
  101. #' @param code_highlight_color Code Line Highlight, defaults to #ffff88
  102. #' @param code_inline_color Inline Code Color, defaults to `base_color`
  103. #' @param code_inline_background_color Inline Code Background Color, defaults to NA
  104. #' @param inverse_background_color Inverse Background Color, defaults to `base_color`
  105. #' @param inverse_text_color Inverse Text Color, defaults to `black_color`
  106. #' @param inverse_text_shadow Enables Shadow on text of inverse slides, defaults to `FALSE`
  107. #' @param inverse_header_color Inverse Header Color, defaults to `black_color`
  108. #' @param title_slide_text_color Title Slide Text Color, defaults to `inverse_text_color`
  109. #' @param title_slide_background_color Title Slide Background Color, defaults to `inverse_background_color`
  110. #' @param title_slide_background_image Title Slide Background Image URL, defaults to NA
  111. #' @param left_column_subtle_color Left Column Text (not last), defaults to `darken_color(base_color, 0.5)`
  112. #' @param left_column_selected_color Left Column Current Selection, defaults to `base_color`
  113. #' @param blockquote_left_color Blockquote Left Border Color, defaults to `darken_color(base_color, 0.5)`
  114. #' @param table_border_color Table top/bottom border, defaults to #666
  115. #' @param table_row_border_color Table row inner bottom border, defaults to #ddd
  116. #' @param table_row_even_background_color Table Even Row Background Color, defaults to `darken_color(base_color, 0.7)`
  117. #' @param text_font_google Use `google_font()` to specify body font, defaults to `NULL`
  118. #' @param text_font_family Body Text Font Family, defaults to 'Droid Serif'
  119. #' @param text_font_weight Body Text Font Weight, defaults to normal
  120. #' @param text_font_url Body Text Font URL(s), defaults to https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic
  121. #' @param text_font_family_fallback Body Text Font Fallbacks, defaults to 'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'
  122. #' @param text_font_base Body Text Base Font (Total Failure Fallback), defaults to serif
  123. #' @param header_font_google Use `google_font()` to specify header font, defaults to `NULL`
  124. #' @param header_font_family Header Font Family, defaults to 'Yanone Kaffeesatz'
  125. #' @param header_font_weight Header Font Weight, defaults to normal
  126. #' @param header_font_url Header Font URL, defaults to https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz
  127. #' @param code_font_google Use `google_font()` to specify code font, defaults to `NULL`
  128. #' @param code_font_family Code Font Family, defaults to 'Source Code Pro'
  129. #' @param code_font_url Code Font URL, defaults to https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700
  130. #' @param code_font_family_fallback Code Font Fallback, defaults to 'Lucida Console', Monaco
  131. #' @param outfile Customized xaringan CSS output file name
  132. #' @family Monotone themes
  133. #' @export
  134. mono_dark <- function(
  135. base_color = "#cbf7ed",
  136. white_color = lighten_color(base_color, 0.8),
  137. black_color = darken_color(base_color, 0.85),
  138. text_color = white_color,
  139. header_color = base_color,
  140. background_color = black_color,
  141. link_color = base_color,
  142. text_bold_color = base_color,
  143. text_slide_number_color = base_color,
  144. code_highlight_color = "#ffff88",
  145. code_inline_color = base_color,
  146. code_inline_background_color = NA,
  147. inverse_background_color = base_color,
  148. inverse_text_color = black_color,
  149. inverse_text_shadow = FALSE,
  150. inverse_header_color = black_color,
  151. title_slide_text_color = inverse_text_color,
  152. title_slide_background_color = inverse_background_color,
  153. title_slide_background_image = NA,
  154. left_column_subtle_color = darken_color(base_color, 0.5),
  155. left_column_selected_color = base_color,
  156. blockquote_left_color = darken_color(base_color, 0.5),
  157. table_border_color = "#666",
  158. table_row_border_color = "#ddd",
  159. table_row_even_background_color = darken_color(base_color, 0.7),
  160. text_font_google = NULL,
  161. text_font_family = "'Droid Serif'",
  162. text_font_weight = "normal",
  163. text_font_url = "https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic",
  164. text_font_family_fallback = "'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'",
  165. text_font_base = "serif",
  166. header_font_google = NULL,
  167. header_font_family = "'Yanone Kaffeesatz'",
  168. header_font_weight = "normal",
  169. header_font_url = "https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz",
  170. code_font_google = NULL,
  171. code_font_family = "'Source Code Pro'",
  172. code_font_url = "https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700",
  173. code_font_family_fallback = "'Lucida Console', Monaco",
  174. outfile = "xaringan-themed.css"
  175. ) {
  176. eval(parse(text = call_write_xaringan_theme()))
  177. }
  178. # setup_theme_function("mono_dark", template_mono_dark, "#' @family Monotone themes", "#' @export", body = " eval(parse(text = call_write_xaringan_theme()))")
  179. #' Monotone Accent Theme
  180. #'
  181. #' @param base_color Monotone Base Color, works best with a strong color., defaults to #23395b
  182. #' @param white_color Brightest color used, defaults to #FFFFFF
  183. #' @param black_color Darkest color used, defaults to #272822
  184. #' @param text_color Text Color, defaults to `black_color`
  185. #' @param header_color Header Color, defaults to `base_color`
  186. #' @param background_color Slide Background Color, defaults to `white_color`
  187. #' @param link_color Link Color, defaults to `base_color`
  188. #' @param text_bold_color Bold Text Color, defaults to `base_color`
  189. #' @param text_slide_number_color Slide Number Color, defaults to `base_color`
  190. #' @param code_highlight_color Code Line Highlight, defaults to #ffff88
  191. #' @param code_inline_color Inline Code Color, defaults to `base_color`
  192. #' @param code_inline_background_color Inline Code Background Color, defaults to NA
  193. #' @param inverse_background_color Inverse Background Color, defaults to `base_color`
  194. #' @param inverse_text_color Inverse Text Color, defaults to `white_color`
  195. #' @param inverse_text_shadow Enables Shadow on text of inverse slides, defaults to `FALSE`
  196. #' @param inverse_header_color Inverse Header Color, defaults to `white_color`
  197. #' @param title_slide_text_color Title Slide Text Color, defaults to `inverse_text_color`
  198. #' @param title_slide_background_color Title Slide Background Color, defaults to `inverse_background_color`
  199. #' @param title_slide_background_image Title Slide Background Image URL, defaults to NA
  200. #' @param left_column_subtle_color Left Column Text (not last), defaults to `lighten_color(base_color, 0.5)`
  201. #' @param left_column_selected_color Left Column Current Selection, defaults to `base_color`
  202. #' @param blockquote_left_color Blockquote Left Border Color, defaults to `lighten_color(base_color, 0.5)`
  203. #' @param table_border_color Table top/bottom border, defaults to #666
  204. #' @param table_row_border_color Table row inner bottom border, defaults to #ddd
  205. #' @param table_row_even_background_color Table Even Row Background Color, defaults to `lighten_color(base_color, 0.7)`
  206. #' @param text_font_google Use `google_font()` to specify body font, defaults to `NULL`
  207. #' @param text_font_family Body Text Font Family, defaults to 'Droid Serif'
  208. #' @param text_font_weight Body Text Font Weight, defaults to normal
  209. #' @param text_font_url Body Text Font URL(s), defaults to https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic
  210. #' @param text_font_family_fallback Body Text Font Fallbacks, defaults to 'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'
  211. #' @param text_font_base Body Text Base Font (Total Failure Fallback), defaults to serif
  212. #' @param header_font_google Use `google_font()` to specify header font, defaults to `NULL`
  213. #' @param header_font_family Header Font Family, defaults to 'Yanone Kaffeesatz'
  214. #' @param header_font_weight Header Font Weight, defaults to normal
  215. #' @param header_font_url Header Font URL, defaults to https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz
  216. #' @param code_font_google Use `google_font()` to specify code font, defaults to `NULL`
  217. #' @param code_font_family Code Font Family, defaults to 'Source Code Pro'
  218. #' @param code_font_url Code Font URL, defaults to https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700
  219. #' @param code_font_family_fallback Code Font Fallback, defaults to 'Lucida Console', Monaco
  220. #' @param outfile Customized xaringan CSS output file name
  221. #' @family Monotone themes
  222. #' @export
  223. mono_accent <- function(
  224. base_color = "#23395b",
  225. white_color = "#FFFFFF",
  226. black_color = "#272822",
  227. text_color = black_color,
  228. header_color = base_color,
  229. background_color = white_color,
  230. link_color = base_color,
  231. text_bold_color = base_color,
  232. text_slide_number_color = base_color,
  233. code_highlight_color = "#ffff88",
  234. code_inline_color = base_color,
  235. code_inline_background_color = NA,
  236. inverse_background_color = base_color,
  237. inverse_text_color = white_color,
  238. inverse_text_shadow = FALSE,
  239. inverse_header_color = white_color,
  240. title_slide_text_color = inverse_text_color,
  241. title_slide_background_color = inverse_background_color,
  242. title_slide_background_image = NA,
  243. left_column_subtle_color = lighten_color(base_color, 0.5),
  244. left_column_selected_color = base_color,
  245. blockquote_left_color = lighten_color(base_color, 0.5),
  246. table_border_color = "#666",
  247. table_row_border_color = "#ddd",
  248. table_row_even_background_color = lighten_color(base_color, 0.7),
  249. text_font_google = NULL,
  250. text_font_family = "'Droid Serif'",
  251. text_font_weight = "normal",
  252. text_font_url = "https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic",
  253. text_font_family_fallback = "'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'",
  254. text_font_base = "serif",
  255. header_font_google = NULL,
  256. header_font_family = "'Yanone Kaffeesatz'",
  257. header_font_weight = "normal",
  258. header_font_url = "https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz",
  259. code_font_google = NULL,
  260. code_font_family = "'Source Code Pro'",
  261. code_font_url = "https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700",
  262. code_font_family_fallback = "'Lucida Console', Monaco",
  263. outfile = "xaringan-themed.css"
  264. ) {
  265. eval(parse(text = call_write_xaringan_theme()))
  266. }
  267. # setup_theme_function("mono_accent", template_mono_accent, "#' @family Monotone themes", "#' @export", body = " eval(parse(text = call_write_xaringan_theme()))")
  268. #' Monotone Accent Inverse Theme
  269. #'
  270. #' @param base_color Monotone Base Color, works best with a light color., defaults to #cbf7ed
  271. #' @param white_color Brightest color used, default is a very light version of `base_color`, defaults to #FFFFFF
  272. #' @param black_color Darkest color used, default is a very dark, version of `base_color`, defaults to `darken_color(base_color, 0.9)`
  273. #' @param text_color Text Color, defaults to `white_color`
  274. #' @param header_color Header Color, defaults to `base_color`
  275. #' @param background_color Slide Background Color, defaults to `black_color`
  276. #' @param link_color Link Color, defaults to `base_color`
  277. #' @param text_bold_color Bold Text Color, defaults to `base_color`
  278. #' @param text_slide_number_color Slide Number Color, defaults to `base_color`
  279. #' @param code_highlight_color Code Line Highlight, defaults to #ffff88
  280. #' @param code_inline_color Inline Code Color, defaults to `base_color`
  281. #' @param code_inline_background_color Inline Code Background Color, defaults to NA
  282. #' @param inverse_background_color Inverse Background Color, defaults to `base_color`
  283. #' @param inverse_text_color Inverse Text Color, defaults to `black_color`
  284. #' @param inverse_text_shadow Enables Shadow on text of inverse slides, defaults to `FALSE`
  285. #' @param inverse_header_color Inverse Header Color, defaults to `black_color`
  286. #' @param title_slide_text_color Title Slide Text Color, defaults to `inverse_text_color`
  287. #' @param title_slide_background_color Title Slide Background Color, defaults to `inverse_background_color`
  288. #' @param title_slide_background_image Title Slide Background Image URL, defaults to NA
  289. #' @param left_column_subtle_color Left Column Text (not last), defaults to `darken_color(base_color, 0.5)`
  290. #' @param left_column_selected_color Left Column Current Selection, defaults to `base_color`
  291. #' @param blockquote_left_color Blockquote Left Border Color, defaults to `darken_color(base_color, 0.5)`
  292. #' @param table_border_color Table top/bottom border, defaults to #666
  293. #' @param table_row_border_color Table row inner bottom border, defaults to #ddd
  294. #' @param table_row_even_background_color Table Even Row Background Color, defaults to `darken_color(base_color, 0.7)`
  295. #' @param text_font_google Use `google_font()` to specify body font, defaults to `NULL`
  296. #' @param text_font_family Body Text Font Family, defaults to 'Droid Serif'
  297. #' @param text_font_weight Body Text Font Weight, defaults to normal
  298. #' @param text_font_url Body Text Font URL(s), defaults to https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic
  299. #' @param text_font_family_fallback Body Text Font Fallbacks, defaults to 'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'
  300. #' @param text_font_base Body Text Base Font (Total Failure Fallback), defaults to serif
  301. #' @param header_font_google Use `google_font()` to specify header font, defaults to `NULL`
  302. #' @param header_font_family Header Font Family, defaults to 'Yanone Kaffeesatz'
  303. #' @param header_font_weight Header Font Weight, defaults to normal
  304. #' @param header_font_url Header Font URL, defaults to https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz
  305. #' @param code_font_google Use `google_font()` to specify code font, defaults to `NULL`
  306. #' @param code_font_family Code Font Family, defaults to 'Source Code Pro'
  307. #' @param code_font_url Code Font URL, defaults to https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700
  308. #' @param code_font_family_fallback Code Font Fallback, defaults to 'Lucida Console', Monaco
  309. #' @param outfile Customized xaringan CSS output file name
  310. #' @family Monotone themes
  311. #' @export
  312. mono_accent_inverse <- function(
  313. base_color = "#cbf7ed",
  314. white_color = "#FFFFFF",
  315. black_color = darken_color(base_color, 0.9),
  316. text_color = white_color,
  317. header_color = base_color,
  318. background_color = black_color,
  319. link_color = base_color,
  320. text_bold_color = base_color,
  321. text_slide_number_color = base_color,
  322. code_highlight_color = "#ffff88",
  323. code_inline_color = base_color,
  324. code_inline_background_color = NA,
  325. inverse_background_color = base_color,
  326. inverse_text_color = black_color,
  327. inverse_text_shadow = FALSE,
  328. inverse_header_color = black_color,
  329. title_slide_text_color = inverse_text_color,
  330. title_slide_background_color = inverse_background_color,
  331. title_slide_background_image = NA,
  332. left_column_subtle_color = darken_color(base_color, 0.5),
  333. left_column_selected_color = base_color,
  334. blockquote_left_color = darken_color(base_color, 0.5),
  335. table_border_color = "#666",
  336. table_row_border_color = "#ddd",
  337. table_row_even_background_color = darken_color(base_color, 0.7),
  338. text_font_google = NULL,
  339. text_font_family = "'Droid Serif'",
  340. text_font_weight = "normal",
  341. text_font_url = "https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic",
  342. text_font_family_fallback = "'Palatino Linotype', 'Book Antiqua', Palatino, 'Microsoft YaHei', 'Songti SC'",
  343. text_font_base = "serif",
  344. header_font_google = NULL,
  345. header_font_family = "'Yanone Kaffeesatz'",
  346. header_font_weight = "normal",
  347. header_font_url = "https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz",
  348. code_font_google = NULL,
  349. code_font_family = "'Source Code Pro'",
  350. code_font_url = "https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700",
  351. code_font_family_fallback = "'Lucida Console', Monaco",
  352. outfile = "xaringan-themed.css"
  353. ) {
  354. eval(parse(text = call_write_xaringan_theme()))
  355. }
  356. # setup_theme_function("mono_accent_inverse", template_mono_accent_inverse, "#' @family Monotone themes", "#' @export", body = " eval(parse(text = call_write_xaringan_theme()))")