@threepenny/md2pdf 0.0.0-stage → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,352 @@
1
+ /* Report: a title block from the first heading, a running header with the title, "Page N of M" footers
2
+ and sober ruled tables. Serif text with sans-serif headings. */
3
+
4
+ /* Variables a page can override, on .markdown-body itself: for all its documents, or for one with
5
+ <article class="markdown-body" style="--md2pdf-font-size: 12pt">. A value set on :root or another
6
+ ancestor doesn't reach the document. :where() gives these defaults no specificity, so the page's
7
+ rule wins wherever it comes. Every style uses the same names. */
8
+ :where(.markdown-body) {
9
+ /* Size and spacing. --md2pdf-font-size is the body text size, an absolute length such as 11pt or 15px; headings and smaller text scale with
10
+ it. --md2pdf-leading scales each line height's excess over 1, and --md2pdf-space the vertical
11
+ gaps between blocks; both are 1 as designed. */
12
+ --md2pdf-font-size: 10.5pt;
13
+ --md2pdf-leading: 1;
14
+ --md2pdf-space: 1;
15
+ /* Colors: --md2pdf-background the document's background; --md2pdf-text body text; --md2pdf-muted
16
+ secondary text; --md2pdf-accent headings, links, quotes and table headings; --md2pdf-rule rules
17
+ and table lines; --md2pdf-surface inline code, quote and table-heading backgrounds. */
18
+ --md2pdf-background: #fff;
19
+ --md2pdf-text: #1c2129;
20
+ --md2pdf-muted: #5f6b7a;
21
+ --md2pdf-accent: #1f3a5f;
22
+ --md2pdf-rule: #b9c3cf;
23
+ --md2pdf-surface: #edf1f5;
24
+ /* Fonts: --md2pdf-font body text, --md2pdf-heading-font headings, callout titles and tables,
25
+ --md2pdf-code-font code. */
26
+ --md2pdf-font: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
27
+ --md2pdf-heading-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
28
+ --md2pdf-code-font: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
29
+ }
30
+
31
+ .markdown-body {
32
+ font-family: var(--md2pdf-font);
33
+ background: var(--md2pdf-background);
34
+ font-size: var(--md2pdf-font-size);
35
+ line-height: calc(1 + 0.5 * var(--md2pdf-leading));
36
+ color: var(--md2pdf-text);
37
+ -webkit-print-color-adjust: exact;
38
+ print-color-adjust: exact;
39
+ }
40
+
41
+ .markdown-body p {
42
+ margin: 0 0 calc(0.8em * var(--md2pdf-space));
43
+ orphans: 3;
44
+ widows: 3;
45
+ }
46
+
47
+ /* Headings */
48
+
49
+ .markdown-body h1,
50
+ .markdown-body h2,
51
+ .markdown-body h3,
52
+ .markdown-body h4,
53
+ .markdown-body h5,
54
+ .markdown-body h6 {
55
+ font-family: var(--md2pdf-heading-font);
56
+ font-weight: bold;
57
+ line-height: calc(1 + 0.25 * var(--md2pdf-leading));
58
+ color: var(--md2pdf-accent);
59
+ break-after: avoid;
60
+ }
61
+
62
+ /* The first heading is the report's title block. */
63
+ .markdown-body h1:first-child {
64
+ font-size: calc(24 / 10.5 * var(--md2pdf-font-size));
65
+ letter-spacing: -0.01em;
66
+ margin: 0 0 calc(1.6em * var(--md2pdf-space));
67
+ padding: 0.6em 0 0.5em;
68
+ border-top: 6pt solid var(--md2pdf-accent);
69
+ border-bottom: 0.75pt solid var(--md2pdf-rule);
70
+ }
71
+ .markdown-body h1 {
72
+ font-size: calc(18 / 10.5 * var(--md2pdf-font-size));
73
+ margin: calc(1.8em * var(--md2pdf-space)) 0 calc(0.7em * var(--md2pdf-space));
74
+ }
75
+
76
+ .markdown-body h2 {
77
+ font-size: calc(13.5 / 10.5 * var(--md2pdf-font-size));
78
+ margin: calc(1.8em * var(--md2pdf-space)) 0 calc(0.6em * var(--md2pdf-space));
79
+ padding-bottom: 0.25em;
80
+ border-bottom: 0.75pt solid var(--md2pdf-rule);
81
+ }
82
+ .markdown-body h3 {
83
+ font-size: calc(11.5 / 10.5 * var(--md2pdf-font-size));
84
+ margin: calc(1.4em * var(--md2pdf-space)) 0 calc(0.4em * var(--md2pdf-space));
85
+ }
86
+ .markdown-body h4,
87
+ .markdown-body h5,
88
+ .markdown-body h6 {
89
+ font-size: var(--md2pdf-font-size);
90
+ color: var(--md2pdf-text);
91
+ margin: calc(1.2em * var(--md2pdf-space)) 0 calc(0.3em * var(--md2pdf-space));
92
+ }
93
+
94
+ /* Links */
95
+
96
+ .markdown-body a {
97
+ color: var(--md2pdf-accent);
98
+ text-decoration: underline;
99
+ text-decoration-thickness: 0.5pt;
100
+ text-underline-offset: 2pt;
101
+ }
102
+ .markdown-body a.header-anchor {
103
+ display: none;
104
+ }
105
+ .markdown-body .footnote-ref a {
106
+ text-decoration: none;
107
+ }
108
+
109
+ /* Lists */
110
+
111
+ .markdown-body ul,
112
+ .markdown-body ol {
113
+ margin: 0 0 calc(0.8em * var(--md2pdf-space));
114
+ padding-left: 1.6em;
115
+ }
116
+ .markdown-body li {
117
+ margin: calc(0.2em * var(--md2pdf-space)) 0;
118
+ }
119
+ .markdown-body li > ul,
120
+ .markdown-body li > ol {
121
+ margin: calc(0.2em * var(--md2pdf-space)) 0 0;
122
+ }
123
+ .markdown-body .task-list-item {
124
+ list-style-type: none;
125
+ }
126
+ .markdown-body .task-list-item input {
127
+ margin: 0 0.4em 0.2em -1.4em;
128
+ vertical-align: middle;
129
+ accent-color: var(--md2pdf-accent);
130
+ }
131
+
132
+ /* Quotes: a shaded callout. */
133
+
134
+ .markdown-body blockquote {
135
+ margin: calc(1em * var(--md2pdf-space)) 0;
136
+ padding: 0.7em 1em;
137
+ background: var(--md2pdf-surface);
138
+ border-left: 3pt solid var(--md2pdf-accent);
139
+ break-inside: avoid;
140
+ }
141
+ .markdown-body blockquote p:last-child {
142
+ margin-bottom: 0;
143
+ }
144
+
145
+ /* Callouts (GitHub alerts and Obsidian callouts): shaded like quotes, in the callout's color. */
146
+
147
+ .markdown-body .markdown-alert {
148
+ --md2pdf-callout: #2b5c9e;
149
+ margin: calc(1em * var(--md2pdf-space)) 0;
150
+ padding: 0.7em 1em;
151
+ border-left: 3pt solid var(--md2pdf-callout);
152
+ background: color-mix(in srgb, var(--md2pdf-callout) 8%, var(--md2pdf-background));
153
+ break-inside: avoid;
154
+ }
155
+ .markdown-body .markdown-alert-tip {
156
+ --md2pdf-callout: #2e6b3f;
157
+ }
158
+ .markdown-body .markdown-alert-important {
159
+ --md2pdf-callout: #5b3f8c;
160
+ }
161
+ .markdown-body .markdown-alert-warning {
162
+ --md2pdf-callout: #94600c;
163
+ }
164
+ .markdown-body .markdown-alert-caution {
165
+ --md2pdf-callout: #a32a2a;
166
+ }
167
+ .markdown-body .markdown-alert-quote {
168
+ --md2pdf-callout: var(--md2pdf-muted);
169
+ }
170
+ .markdown-body .markdown-alert-title {
171
+ margin-bottom: calc(0.4em * var(--md2pdf-space));
172
+ color: var(--md2pdf-callout);
173
+ font-family: var(--md2pdf-heading-font);
174
+ font-size: 0.8em;
175
+ font-weight: bold;
176
+ letter-spacing: 0.06em;
177
+ text-transform: uppercase;
178
+ }
179
+ .markdown-body .markdown-alert-title .octicon {
180
+ margin-right: 0.5em;
181
+ vertical-align: -0.1em;
182
+ width: 1.1em;
183
+ height: 1.1em;
184
+ fill: currentColor;
185
+ }
186
+ .markdown-body .markdown-alert > :last-child {
187
+ margin-bottom: 0;
188
+ }
189
+
190
+ /* Code */
191
+
192
+ .markdown-body code,
193
+ .markdown-body kbd {
194
+ font-family: var(--md2pdf-code-font);
195
+ font-size: 0.85em;
196
+ }
197
+ .markdown-body :not(pre) > code {
198
+ background: var(--md2pdf-surface);
199
+ padding: 0.1em 0.3em;
200
+ border-radius: 2px;
201
+ }
202
+ .markdown-body kbd {
203
+ padding: 0.05em 0.35em;
204
+ border: 0.75pt solid var(--md2pdf-rule);
205
+ border-bottom-width: 1.5pt;
206
+ border-radius: 2px;
207
+ }
208
+ .markdown-body pre {
209
+ margin: 0 0 calc(1em * var(--md2pdf-space));
210
+ padding: 0.8em 1em;
211
+ background: #f6f8fa;
212
+ border: 0.75pt solid var(--md2pdf-rule);
213
+ line-height: calc(1 + 0.45 * var(--md2pdf-leading));
214
+ white-space: pre-wrap;
215
+ word-break: break-word;
216
+ break-inside: avoid;
217
+ }
218
+ .markdown-body pre code {
219
+ font-size: calc(8.5 / 10.5 * var(--md2pdf-font-size));
220
+ }
221
+ /* A highlight.js theme on the host page styles .hljs too; keep code blocks this style's own. */
222
+ .markdown-body pre code.hljs {
223
+ display: inline;
224
+ overflow: visible;
225
+ padding: 0;
226
+ color: inherit;
227
+ background: none;
228
+ }
229
+ /* And its tokens: this outranks a theme's token rules, and this style's colors come after it. */
230
+ .markdown-body [class*="hljs-"] {
231
+ color: inherit;
232
+ background: none;
233
+ font-style: inherit;
234
+ font-weight: inherit;
235
+ text-decoration: none;
236
+ }
237
+
238
+ .markdown-body .hljs-comment,
239
+ .markdown-body .hljs-quote {
240
+ color: #6a7686;
241
+ font-style: italic;
242
+ }
243
+ .markdown-body .hljs-keyword,
244
+ .markdown-body .hljs-selector-tag,
245
+ .markdown-body .hljs-literal,
246
+ .markdown-body .hljs-doctag {
247
+ color: #1f3a5f;
248
+ font-weight: bold;
249
+ }
250
+ .markdown-body .hljs-string,
251
+ .markdown-body .hljs-regexp,
252
+ .markdown-body .hljs-addition {
253
+ color: #2f6b3b;
254
+ }
255
+ .markdown-body .hljs-number,
256
+ .markdown-body .hljs-symbol,
257
+ .markdown-body .hljs-bullet {
258
+ color: #9a4a12;
259
+ }
260
+ .markdown-body .hljs-title,
261
+ .markdown-body .hljs-section,
262
+ .markdown-body .hljs-name {
263
+ color: #0f5f8a;
264
+ }
265
+ .markdown-body .hljs-built_in,
266
+ .markdown-body .hljs-type,
267
+ .markdown-body .hljs-attr,
268
+ .markdown-body .hljs-attribute,
269
+ .markdown-body .hljs-variable,
270
+ .markdown-body .hljs-template-variable {
271
+ color: #6a3d8a;
272
+ }
273
+ .markdown-body .hljs-meta,
274
+ .markdown-body .hljs-deletion {
275
+ color: #a3271f;
276
+ }
277
+ .markdown-body .hljs-emphasis {
278
+ font-style: italic;
279
+ }
280
+ .markdown-body .hljs-strong {
281
+ font-weight: bold;
282
+ }
283
+
284
+ /* Tables: full grid, shaded header, sans-serif figures that line up. */
285
+
286
+ .markdown-body table {
287
+ width: 100%;
288
+ border-collapse: collapse;
289
+ margin: calc(1em * var(--md2pdf-space)) 0 calc(1.2em * var(--md2pdf-space));
290
+ font-family: var(--md2pdf-heading-font);
291
+ font-size: calc(9 / 10.5 * var(--md2pdf-font-size));
292
+ font-variant-numeric: tabular-nums;
293
+ }
294
+ .markdown-body th,
295
+ .markdown-body td {
296
+ padding: 0.45em 0.7em;
297
+ text-align: left;
298
+ border: 0.75pt solid var(--md2pdf-rule);
299
+ }
300
+ .markdown-body th {
301
+ background: var(--md2pdf-surface);
302
+ color: var(--md2pdf-accent);
303
+ font-weight: bold;
304
+ }
305
+ .markdown-body tr {
306
+ break-inside: avoid;
307
+ }
308
+
309
+ /* Rules, images and diagrams */
310
+
311
+ .markdown-body hr {
312
+ margin: calc(1.6em * var(--md2pdf-space)) 0;
313
+ border: 0;
314
+ border-top: 0.75pt solid var(--md2pdf-rule);
315
+ }
316
+
317
+ .markdown-body img {
318
+ display: block;
319
+ max-width: 100%;
320
+ margin: calc(1em * var(--md2pdf-space)) auto;
321
+ break-inside: avoid;
322
+ }
323
+
324
+ /* Footnotes */
325
+
326
+ .markdown-body hr.footnotes-sep {
327
+ display: none;
328
+ }
329
+ .markdown-body .footnotes {
330
+ margin-top: calc(2.4em * var(--md2pdf-space));
331
+ padding-top: 0.8em;
332
+ border-top: 0.75pt solid var(--md2pdf-rule);
333
+ font-size: calc(8.5 / 10.5 * var(--md2pdf-font-size));
334
+ color: var(--md2pdf-muted);
335
+ }
336
+ .markdown-body .footnotes ol {
337
+ padding-left: 1.3em;
338
+ }
339
+ .markdown-body .footnotes p {
340
+ margin: 0 0 calc(0.3em * var(--md2pdf-space));
341
+ }
342
+
343
+ /* An Obsidian embed (![[Other note]]) that can't be shown: a muted placeholder. */
344
+ .markdown-body .markdown-embed {
345
+ color: var(--md2pdf-muted);
346
+ font-style: italic;
347
+ }
348
+
349
+ /* <div class="page-break"></div> starts a new page. */
350
+ .markdown-body .page-break {
351
+ break-after: page;
352
+ }
@@ -0,0 +1,353 @@
1
+ /* Résumé: compact and one-page friendly. The first heading is your name, the paragraph after it your
2
+ contact line, and each h2 a ruled section divider. */
3
+
4
+ /* Variables a page can override, on .markdown-body itself: for all its documents, or for one with
5
+ <article class="markdown-body" style="--md2pdf-font-size: 12pt">. A value set on :root or another
6
+ ancestor doesn't reach the document. :where() gives these defaults no specificity, so the page's
7
+ rule wins wherever it comes. Every style uses the same names. */
8
+ :where(.markdown-body) {
9
+ /* Size and spacing. --md2pdf-font-size is the body text size, an absolute length such as 11pt or 15px; headings and smaller text scale with
10
+ it. --md2pdf-leading scales each line height's excess over 1, and --md2pdf-space the vertical
11
+ gaps between blocks; both are 1 as designed. */
12
+ --md2pdf-font-size: 10pt;
13
+ --md2pdf-leading: 1;
14
+ --md2pdf-space: 1;
15
+ /* Colors: --md2pdf-background the document's background; --md2pdf-text body text; --md2pdf-muted
16
+ secondary text; --md2pdf-accent section headings and list markers; --md2pdf-rule rules and table
17
+ lines. */
18
+ --md2pdf-background: #fff;
19
+ --md2pdf-text: #1f2328;
20
+ --md2pdf-muted: #59636e;
21
+ --md2pdf-accent: #24476b;
22
+ --md2pdf-rule: #c5ccd3;
23
+ /* Fonts: --md2pdf-font body text, --md2pdf-heading-font headings (the body font unless set),
24
+ --md2pdf-code-font code. */
25
+ --md2pdf-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
26
+ --md2pdf-heading-font: var(--md2pdf-font);
27
+ --md2pdf-code-font: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
28
+ }
29
+
30
+ .markdown-body {
31
+ font-family: var(--md2pdf-font);
32
+ background: var(--md2pdf-background);
33
+ font-size: var(--md2pdf-font-size);
34
+ line-height: calc(1 + 0.4 * var(--md2pdf-leading));
35
+ color: var(--md2pdf-text);
36
+ -webkit-print-color-adjust: exact;
37
+ print-color-adjust: exact;
38
+ }
39
+
40
+ .markdown-body p {
41
+ margin: 0 0 calc(0.45em * var(--md2pdf-space));
42
+ }
43
+
44
+ /* Name and contact line */
45
+
46
+ .markdown-body h1,
47
+ .markdown-body h2,
48
+ .markdown-body h3,
49
+ .markdown-body h4,
50
+ .markdown-body h5,
51
+ .markdown-body h6 {
52
+ font-family: var(--md2pdf-heading-font);
53
+ line-height: calc(1 + 0.2 * var(--md2pdf-leading));
54
+ break-after: avoid;
55
+ }
56
+
57
+ .markdown-body h1 {
58
+ font-size: calc(22 / 10 * var(--md2pdf-font-size));
59
+ font-weight: 300;
60
+ letter-spacing: 0.04em;
61
+ text-align: center;
62
+ margin: 0 0 calc(0.2em * var(--md2pdf-space));
63
+ }
64
+ .markdown-body h1 + p {
65
+ text-align: center;
66
+ font-size: calc(9 / 10 * var(--md2pdf-font-size));
67
+ color: var(--md2pdf-muted);
68
+ margin-bottom: calc(1em * var(--md2pdf-space));
69
+ }
70
+
71
+ /* Section dividers */
72
+
73
+ .markdown-body h2 {
74
+ font-size: calc(9.5 / 10 * var(--md2pdf-font-size));
75
+ font-weight: bold;
76
+ letter-spacing: 0.14em;
77
+ text-transform: uppercase;
78
+ color: var(--md2pdf-accent);
79
+ margin: calc(1.3em * var(--md2pdf-space)) 0 calc(0.6em * var(--md2pdf-space));
80
+ padding-bottom: 0.25em;
81
+ border-bottom: 0.75pt solid var(--md2pdf-accent);
82
+ }
83
+
84
+ /* Roles and entries: "### Job title, Company" with the dates in the line below. */
85
+ .markdown-body h3 {
86
+ font-size: calc(10.5 / 10 * var(--md2pdf-font-size));
87
+ font-weight: bold;
88
+ margin: calc(0.9em * var(--md2pdf-space)) 0 calc(0.15em * var(--md2pdf-space));
89
+ }
90
+ .markdown-body h2 + h3 {
91
+ margin-top: 0;
92
+ }
93
+ .markdown-body h3 + p {
94
+ color: var(--md2pdf-muted);
95
+ font-size: calc(9 / 10 * var(--md2pdf-font-size));
96
+ margin-bottom: calc(0.3em * var(--md2pdf-space));
97
+ }
98
+ .markdown-body h4,
99
+ .markdown-body h5,
100
+ .markdown-body h6 {
101
+ font-size: var(--md2pdf-font-size);
102
+ font-weight: bold;
103
+ color: var(--md2pdf-muted);
104
+ margin: calc(0.7em * var(--md2pdf-space)) 0 calc(0.15em * var(--md2pdf-space));
105
+ }
106
+
107
+ /* Links: plain text in print, so URLs read like the rest of the line. */
108
+
109
+ .markdown-body a {
110
+ color: inherit;
111
+ text-decoration: none;
112
+ }
113
+ .markdown-body a.header-anchor {
114
+ display: none;
115
+ }
116
+
117
+ /* Lists */
118
+
119
+ .markdown-body ul,
120
+ .markdown-body ol {
121
+ margin: 0 0 calc(0.45em * var(--md2pdf-space));
122
+ padding-left: 1.2em;
123
+ }
124
+ .markdown-body li {
125
+ margin: calc(0.08em * var(--md2pdf-space)) 0;
126
+ }
127
+ .markdown-body li > ul,
128
+ .markdown-body li > ol {
129
+ margin: calc(0.08em * var(--md2pdf-space)) 0 0;
130
+ }
131
+ .markdown-body li::marker {
132
+ color: var(--md2pdf-muted);
133
+ }
134
+ .markdown-body li > p {
135
+ margin: 0;
136
+ }
137
+ .markdown-body .task-list-item {
138
+ list-style-type: none;
139
+ }
140
+ .markdown-body .task-list-item input {
141
+ margin: 0 0.4em 0.15em -1.2em;
142
+ vertical-align: middle;
143
+ accent-color: var(--md2pdf-accent);
144
+ }
145
+
146
+ /* Quotes: e.g. a short summary or a reference. */
147
+
148
+ .markdown-body blockquote {
149
+ margin: calc(0.4em * var(--md2pdf-space)) 0 calc(0.6em * var(--md2pdf-space));
150
+ padding: 0 0 0 0.9em;
151
+ border-left: 2pt solid var(--md2pdf-rule);
152
+ color: var(--md2pdf-muted);
153
+ font-style: italic;
154
+ break-inside: avoid;
155
+ }
156
+ .markdown-body blockquote p:last-child {
157
+ margin-bottom: 0;
158
+ }
159
+
160
+ /* Callouts (GitHub alerts and Obsidian callouts): compact, with a colored rule and a small bold title. */
161
+
162
+ .markdown-body .markdown-alert {
163
+ --md2pdf-callout: #2b5c9e;
164
+ margin: calc(0.4em * var(--md2pdf-space)) 0 calc(0.6em * var(--md2pdf-space));
165
+ padding: 0.3em 0.8em;
166
+ border-left: 2pt solid var(--md2pdf-callout);
167
+ background: color-mix(in srgb, var(--md2pdf-callout) 6%, var(--md2pdf-background));
168
+ break-inside: avoid;
169
+ }
170
+ .markdown-body .markdown-alert-tip {
171
+ --md2pdf-callout: #2e6b3f;
172
+ }
173
+ .markdown-body .markdown-alert-important {
174
+ --md2pdf-callout: #5b3f8c;
175
+ }
176
+ .markdown-body .markdown-alert-warning {
177
+ --md2pdf-callout: #94600c;
178
+ }
179
+ .markdown-body .markdown-alert-caution {
180
+ --md2pdf-callout: #a32a2a;
181
+ }
182
+ .markdown-body .markdown-alert-quote {
183
+ --md2pdf-callout: var(--md2pdf-muted);
184
+ }
185
+ .markdown-body .markdown-alert-title {
186
+ margin-bottom: calc(0.15em * var(--md2pdf-space));
187
+ color: var(--md2pdf-callout);
188
+ font-weight: bold;
189
+ }
190
+ .markdown-body .markdown-alert-title .octicon {
191
+ margin-right: 0.4em;
192
+ vertical-align: -0.1em;
193
+ width: 0.9em;
194
+ height: 0.9em;
195
+ fill: currentColor;
196
+ }
197
+ .markdown-body .markdown-alert > :last-child {
198
+ margin-bottom: 0;
199
+ }
200
+
201
+ /* Code */
202
+
203
+ .markdown-body code,
204
+ .markdown-body kbd {
205
+ font-family: var(--md2pdf-code-font);
206
+ font-size: 0.86em;
207
+ }
208
+ .markdown-body kbd {
209
+ padding: 0 0.3em;
210
+ border: 0.75pt solid var(--md2pdf-rule);
211
+ border-radius: 2px;
212
+ }
213
+ .markdown-body pre {
214
+ margin: 0 0 calc(0.6em * var(--md2pdf-space));
215
+ padding: 0.5em 0.8em;
216
+ background: #f6f8fa;
217
+ border-radius: 3px;
218
+ line-height: calc(1 + 0.35 * var(--md2pdf-leading));
219
+ white-space: pre-wrap;
220
+ word-break: break-word;
221
+ break-inside: avoid;
222
+ }
223
+ .markdown-body pre code {
224
+ font-size: calc(8 / 10 * var(--md2pdf-font-size));
225
+ }
226
+ /* A highlight.js theme on the host page styles .hljs too; keep code blocks this style's own. */
227
+ .markdown-body pre code.hljs {
228
+ display: inline;
229
+ overflow: visible;
230
+ padding: 0;
231
+ color: inherit;
232
+ background: none;
233
+ }
234
+ /* And its tokens: this outranks a theme's token rules, and this style's colors come after it. */
235
+ .markdown-body [class*="hljs-"] {
236
+ color: inherit;
237
+ background: none;
238
+ font-style: inherit;
239
+ font-weight: inherit;
240
+ text-decoration: none;
241
+ }
242
+
243
+ .markdown-body .hljs-comment,
244
+ .markdown-body .hljs-quote {
245
+ color: #6e7781;
246
+ font-style: italic;
247
+ }
248
+ .markdown-body .hljs-keyword,
249
+ .markdown-body .hljs-selector-tag,
250
+ .markdown-body .hljs-literal,
251
+ .markdown-body .hljs-doctag {
252
+ color: #24476b;
253
+ font-weight: bold;
254
+ }
255
+ .markdown-body .hljs-string,
256
+ .markdown-body .hljs-regexp,
257
+ .markdown-body .hljs-addition {
258
+ color: #2f6b3b;
259
+ }
260
+ .markdown-body .hljs-number,
261
+ .markdown-body .hljs-symbol,
262
+ .markdown-body .hljs-bullet,
263
+ .markdown-body .hljs-meta,
264
+ .markdown-body .hljs-deletion {
265
+ color: #9a4a12;
266
+ }
267
+ .markdown-body .hljs-title,
268
+ .markdown-body .hljs-section,
269
+ .markdown-body .hljs-name,
270
+ .markdown-body .hljs-built_in,
271
+ .markdown-body .hljs-type {
272
+ color: #5b3a8a;
273
+ }
274
+ .markdown-body .hljs-emphasis {
275
+ font-style: italic;
276
+ }
277
+ .markdown-body .hljs-strong {
278
+ font-weight: bold;
279
+ }
280
+
281
+ /* Tables: e.g. skills or certifications laid out in columns. */
282
+
283
+ .markdown-body table {
284
+ width: 100%;
285
+ border-collapse: collapse;
286
+ margin: calc(0.3em * var(--md2pdf-space)) 0 calc(0.6em * var(--md2pdf-space));
287
+ font-size: calc(9.5 / 10 * var(--md2pdf-font-size));
288
+ }
289
+ .markdown-body th,
290
+ .markdown-body td {
291
+ padding: 0.2em 0.6em 0.2em 0;
292
+ text-align: left;
293
+ vertical-align: top;
294
+ }
295
+ .markdown-body th {
296
+ font-weight: bold;
297
+ border-bottom: 0.75pt solid var(--md2pdf-rule);
298
+ }
299
+ .markdown-body tr {
300
+ break-inside: avoid;
301
+ }
302
+
303
+ /* Rules, images and diagrams */
304
+
305
+ .markdown-body hr {
306
+ margin: calc(0.8em * var(--md2pdf-space)) 0;
307
+ border: 0;
308
+ border-top: 0.75pt solid var(--md2pdf-rule);
309
+ }
310
+
311
+ .markdown-body img {
312
+ display: block;
313
+ max-width: 100%;
314
+ margin: calc(0.6em * var(--md2pdf-space)) auto;
315
+ break-inside: avoid;
316
+ }
317
+
318
+ .markdown-body .mermaid-diagram {
319
+ margin: calc(0.6em * var(--md2pdf-space)) 0;
320
+ }
321
+
322
+ /* Footnotes */
323
+
324
+ .markdown-body hr.footnotes-sep {
325
+ display: none;
326
+ }
327
+ .markdown-body .footnotes {
328
+ margin-top: calc(1.2em * var(--md2pdf-space));
329
+ padding-top: 0.4em;
330
+ border-top: 0.75pt solid var(--md2pdf-rule);
331
+ font-size: calc(8 / 10 * var(--md2pdf-font-size));
332
+ color: var(--md2pdf-muted);
333
+ }
334
+ .markdown-body .footnotes ol {
335
+ padding-left: 1.2em;
336
+ }
337
+ .markdown-body .footnotes p {
338
+ margin: 0;
339
+ }
340
+ .markdown-body .footnote-backref {
341
+ display: none;
342
+ }
343
+
344
+ /* An Obsidian embed (![[Other note]]) that can't be shown: a muted placeholder. */
345
+ .markdown-body .markdown-embed {
346
+ color: var(--md2pdf-muted);
347
+ font-style: italic;
348
+ }
349
+
350
+ /* <div class="page-break"></div> starts a new page. */
351
+ .markdown-body .page-break {
352
+ break-after: page;
353
+ }