@@ -31,105 +31,141 @@ classic_style <- function(
31
31
... ,
32
32
ltr = TRUE
33
33
) {
34
- base <- base_style(family = body_font , size = base_size , ... )
35
- style_set(
36
- base = base ,
37
- body = style(margin = skip_inherit(trbl(0 ))),
38
- ul = style(
39
- padding = if (ltr ) trbl(0 , 0 , 0 , em(2 )) else trbl(0 , em(2 ), 0 , 0 ),
40
- background = NA ,
41
- border = NA
42
- ),
43
- ol = style(
44
- padding = if (ltr ) trbl(0 , 0 , 0 , em(2 )) else trbl(0 , em(2 ), 0 , 0 ),
45
- background = NA ,
46
- border = NA
47
- ),
48
- li = style(padding = trbl(0 ), background = NA , border = NA ),
49
- hr = style(
50
- padding = trbl(0 , 0 , rem(1 / 8 )),
51
- border = " #eeeeee" ,
52
- border_size = trbl(0 , 0 , rem(1 / 16 ))
53
- ),
54
- h1 = style(
55
- family = header_font ,
56
- size = relative(2.25 ),
57
- weight = " bold" ,
58
- lineheight = 1.2 ,
59
- margin = trbl(em(1 ), NULL , NULL , NULL ),
60
- padding = trbl(0 , 0 , em(0.3 )),
61
- border = " #eeeeee" ,
62
- border_size = trbl(0 , 0 , rem(1 / 16 ))
63
- ),
64
- h2 = style(
65
- family = header_font ,
66
- size = relative(1.75 ),
67
- weight = " bold" ,
68
- lineheight = 1.225 ,
69
- margin = trbl(em(1 ), NULL , NULL , NULL ),
70
- padding = trbl(0 , 0 , em(0.3 )),
71
- border = " #eeeeee" ,
72
- border_size = trbl(0 , 0 , rem(1 / 16 ))
73
- ),
74
- h3 = style(
75
- family = header_font ,
76
- size = relative(1.5 ),
77
- weight = " bold" ,
78
- lineheight = 1.43 ,
79
- margin = trbl(em(1 ), NULL , NULL , NULL )
80
- ),
81
- h4 = style(
82
- family = header_font ,
83
- size = relative(1.25 ),
84
- weight = " bold" ,
85
- lineheight = 1.4 ,
86
- margin = trbl(em(1 ), NULL , NULL , NULL )
87
- ),
88
- h5 = style(
89
- family = header_font ,
90
- weight = " bold" ,
91
- lineheight = 1.4 ,
92
- margin = trbl(em(1 ), NULL , NULL , NULL )
93
- ),
94
- h6 = style(
95
- family = header_font ,
96
- weight = " bold" ,
97
- lineheight = 1.4 ,
98
- margin = trbl(em(1 ), NULL , NULL , NULL ),
99
- color = " #777777"
100
- ),
101
- cb = style(
102
- family = code_font ,
103
- size = relative(0.85 ),
104
- lineheight = 1.45 ,
105
- padding = trbl(rem(1 )),
106
- background = " #f7f7f7" ,
107
- border_radius = rem(3 / 16 )
108
- ),
109
- p = style(padding = trbl(0 ), background = NA , border = NA ),
110
- qb = style(
111
- color = " #777777" ,
112
- padding = if (ltr ) trbl(em(0.2 ), 0 , em(0.2 ), em(1 )) else
113
- trbl(em(0.2 ), em(1 ), em(0.2 ), 0 ),
114
- border = " #dddddd" ,
115
- border_size = if (ltr ) trbl(0 , 0 , 0 , rem(0.25 )) else
116
- trbl(0 , rem(0.25 ), 0 , 0 )
117
- ),
118
- em = style(italic = TRUE ),
119
- str = style(weight = " bold" ),
120
- a = style(color = " #4078c0" ),
121
- code = style(
122
- family = code_font ,
123
- size = relative(0.85 ),
124
- background = " #0000000A" ,
125
- padding = trbl(em(0.2 ), em(0.1 )),
126
- border_radius = rem(3 / 16 )
127
- ),
128
- u = style(underline = TRUE ),
129
- del = style(strikethrough = TRUE ),
130
- img = style(align = " center" , border = NA ),
131
- sub = style(size = em(0.5 ), baseline = em(- 0.2 )),
132
- sup = style(size = em(0.5 ), baseline = em(1 )),
133
- out = style(color = " #ffffff" , outline = " #000000" )
34
+ settings <- list2(
35
+ base_size = base_size ,
36
+ body_font = body_font ,
37
+ header_font = header_font ,
38
+ code_font = code_font ,
39
+ ... ,
40
+ ltr = ltr
134
41
)
42
+ settings <- lapply(settings , function (x ) {
43
+ if (is_list(x ) && ! is_bare_list(x )) {
44
+ list (x )
45
+ } else {
46
+ x
47
+ }
48
+ })
49
+ settings <- vctrs :: vec_recycle_common(!!! settings )
50
+ styles <- lapply(seq_along(settings $ base_size ), function (i ) {
51
+ set <- lapply(settings , function (x ) x [[i ]])
52
+ base_size <- set $ base_size
53
+ set $ base_size <- NULL
54
+ body_font <- set $ body_font
55
+ set $ body_font <- NULL
56
+ header_font <- set $ header_font
57
+ set $ header_font <- NULL
58
+ code_font <- set $ code_font
59
+ set $ code_font <- NULL
60
+ ltr <- set $ ltr
61
+ set $ ltr <- NULL
62
+ base <- inject(base_style(family = body_font , size = base_size , !!! set ))
63
+ style_set(
64
+ base = base ,
65
+ body = style(margin = skip_inherit(trbl(0 ))),
66
+ ul = style(
67
+ padding = if (ltr ) trbl(0 , 0 , 0 , em(2 )) else trbl(0 , em(2 ), 0 , 0 ),
68
+ background = NA ,
69
+ border = NA
70
+ ),
71
+ ol = style(
72
+ padding = if (ltr ) trbl(0 , 0 , 0 , em(2 )) else trbl(0 , em(2 ), 0 , 0 ),
73
+ background = NA ,
74
+ border = NA
75
+ ),
76
+ li = style(padding = trbl(0 ), background = NA , border = NA ),
77
+ hr = style(
78
+ padding = trbl(0 , 0 , rem(1 / 8 )),
79
+ border = " #eeeeee" ,
80
+ border_size = trbl(0 , 0 , rem(1 / 16 ))
81
+ ),
82
+ h1 = style(
83
+ family = header_font ,
84
+ size = relative(2.25 ),
85
+ weight = " bold" ,
86
+ lineheight = 1.2 ,
87
+ margin = trbl(em(1 ), NULL , NULL , NULL ),
88
+ padding = trbl(0 , 0 , em(0.3 )),
89
+ border = " #eeeeee" ,
90
+ border_size = trbl(0 , 0 , rem(1 / 16 ))
91
+ ),
92
+ h2 = style(
93
+ family = header_font ,
94
+ size = relative(1.75 ),
95
+ weight = " bold" ,
96
+ lineheight = 1.225 ,
97
+ margin = trbl(em(1 ), NULL , NULL , NULL ),
98
+ padding = trbl(0 , 0 , em(0.3 )),
99
+ border = " #eeeeee" ,
100
+ border_size = trbl(0 , 0 , rem(1 / 16 ))
101
+ ),
102
+ h3 = style(
103
+ family = header_font ,
104
+ size = relative(1.5 ),
105
+ weight = " bold" ,
106
+ lineheight = 1.43 ,
107
+ margin = trbl(em(1 ), NULL , NULL , NULL )
108
+ ),
109
+ h4 = style(
110
+ family = header_font ,
111
+ size = relative(1.25 ),
112
+ weight = " bold" ,
113
+ lineheight = 1.4 ,
114
+ margin = trbl(em(1 ), NULL , NULL , NULL )
115
+ ),
116
+ h5 = style(
117
+ family = header_font ,
118
+ weight = " bold" ,
119
+ lineheight = 1.4 ,
120
+ margin = trbl(em(1 ), NULL , NULL , NULL )
121
+ ),
122
+ h6 = style(
123
+ family = header_font ,
124
+ weight = " bold" ,
125
+ lineheight = 1.4 ,
126
+ margin = trbl(em(1 ), NULL , NULL , NULL ),
127
+ color = " #777777"
128
+ ),
129
+ cb = style(
130
+ family = code_font ,
131
+ size = relative(0.85 ),
132
+ lineheight = 1.45 ,
133
+ padding = trbl(rem(1 )),
134
+ background = " #f7f7f7" ,
135
+ border_radius = rem(3 / 16 )
136
+ ),
137
+ p = style(padding = trbl(0 ), background = NA , border = NA ),
138
+ qb = style(
139
+ color = " #777777" ,
140
+ padding = if (ltr ) {
141
+ trbl(em(0.2 ), 0 , em(0.2 ), em(1 ))
142
+ } else {
143
+ trbl(em(0.2 ), em(1 ), em(0.2 ), 0 )
144
+ },
145
+ border = " #dddddd" ,
146
+ border_size = if (ltr ) {
147
+ trbl(0 , 0 , 0 , rem(0.25 ))
148
+ } else {
149
+ trbl(0 , rem(0.25 ), 0 , 0 )
150
+ }
151
+ ),
152
+ em = style(italic = TRUE ),
153
+ str = style(weight = " bold" ),
154
+ a = style(color = " #4078c0" ),
155
+ code = style(
156
+ family = code_font ,
157
+ size = relative(0.85 ),
158
+ background = " #0000000A" ,
159
+ padding = trbl(em(0.2 ), em(0.1 )),
160
+ border_radius = rem(3 / 16 )
161
+ ),
162
+ u = style(underline = TRUE ),
163
+ del = style(strikethrough = TRUE ),
164
+ img = style(align = " center" , border = NA ),
165
+ sub = style(size = em(0.5 ), baseline = em(- 0.2 )),
166
+ sup = style(size = em(0.5 ), baseline = em(1 )),
167
+ out = style(color = " #ffffff" , outline = " #000000" )
168
+ )
169
+ })
170
+ vctrs :: vec_c(!!! styles )
135
171
}
0 commit comments