@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,379 @@
1
+ /* Classic: book-like serif typography using fonts that ship with macOS. */
2
+
3
+ /* Variables a page can override, on .markdown-body itself: for all its documents, or for one with
4
+ <article class="markdown-body" style="--md2pdf-font-size: 12pt">. A value set on :root or another
5
+ ancestor doesn't reach the document. :where() gives these defaults no specificity, so the page's
6
+ rule wins wherever it comes. Every style uses the same names. */
7
+ :where(.markdown-body) {
8
+ /* 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
9
+ it. --md2pdf-leading scales each line height's excess over 1, and --md2pdf-space the vertical
10
+ gaps between blocks; both are 1 as designed. */
11
+ --md2pdf-font-size: 11pt;
12
+ --md2pdf-leading: 1;
13
+ --md2pdf-space: 1;
14
+ /* Colors: --md2pdf-background the document's background; --md2pdf-text body text; --md2pdf-muted
15
+ secondary text; --md2pdf-accent headings, links and list markers; --md2pdf-rule thin rules and
16
+ borders; --md2pdf-surface code and quote backgrounds. */
17
+ --md2pdf-background: #fff;
18
+ --md2pdf-text: #1f1d1a;
19
+ --md2pdf-muted: #6b645b;
20
+ --md2pdf-accent: #7a2e2a;
21
+ --md2pdf-rule: #cfc5b4;
22
+ --md2pdf-surface: #f7f4ee;
23
+ /* Fonts: --md2pdf-font body text, --md2pdf-heading-font headings (the body font unless set),
24
+ --md2pdf-code-font code. */
25
+ --md2pdf-font: "Iowan Old Style", Charter, Palatino, Georgia, serif;
26
+ --md2pdf-heading-font: var(--md2pdf-font);
27
+ --md2pdf-code-font: "SF Mono", Menlo, 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.55 * var(--md2pdf-leading));
35
+ color: var(--md2pdf-text);
36
+ font-variant-numeric: oldstyle-nums proportional-nums;
37
+ font-kerning: normal;
38
+ -webkit-print-color-adjust: exact;
39
+ print-color-adjust: exact;
40
+ }
41
+
42
+ .markdown-body p,
43
+ .markdown-body li {
44
+ text-align: justify;
45
+ hyphens: auto;
46
+ orphans: 3;
47
+ widows: 3;
48
+ }
49
+
50
+ .markdown-body p {
51
+ margin: 0 0 calc(0.75em * var(--md2pdf-space));
52
+ }
53
+
54
+ /* Headings */
55
+
56
+ .markdown-body h1,
57
+ .markdown-body h2,
58
+ .markdown-body h3,
59
+ .markdown-body h4,
60
+ .markdown-body h5,
61
+ .markdown-body h6 {
62
+ font-family: var(--md2pdf-heading-font);
63
+ font-weight: normal;
64
+ line-height: calc(1 + 0.25 * var(--md2pdf-leading));
65
+ break-after: avoid;
66
+ font-variant-numeric: lining-nums;
67
+ }
68
+
69
+ .markdown-body h1 {
70
+ font-size: calc(24 / 11 * var(--md2pdf-font-size));
71
+ text-align: center;
72
+ letter-spacing: 0.01em;
73
+ margin: 0 0 calc(1.4em * var(--md2pdf-space));
74
+ }
75
+ .markdown-body h1::after {
76
+ content: "";
77
+ display: block;
78
+ width: 3em;
79
+ margin: calc(0.55em * var(--md2pdf-space)) auto 0;
80
+ border-bottom: 1px solid var(--md2pdf-accent);
81
+ }
82
+ /* Any later h1 starts a new section with a bit more air. */
83
+ .markdown-body h1:not(:first-child) {
84
+ margin-top: calc(2em * var(--md2pdf-space));
85
+ }
86
+
87
+ .markdown-body h2 {
88
+ font-size: calc(13 / 11 * var(--md2pdf-font-size));
89
+ font-variant: small-caps;
90
+ letter-spacing: 0.08em;
91
+ color: var(--md2pdf-accent);
92
+ margin: calc(1.8em * var(--md2pdf-space)) 0 calc(0.6em * var(--md2pdf-space));
93
+ }
94
+
95
+ .markdown-body h3 {
96
+ font-size: calc(12 / 11 * var(--md2pdf-font-size));
97
+ font-style: italic;
98
+ margin: calc(1.4em * var(--md2pdf-space)) 0 calc(0.4em * var(--md2pdf-space));
99
+ }
100
+
101
+ .markdown-body h4,
102
+ .markdown-body h5,
103
+ .markdown-body h6 {
104
+ font-size: var(--md2pdf-font-size);
105
+ font-weight: bold;
106
+ margin: calc(1.2em * var(--md2pdf-space)) 0 calc(0.3em * var(--md2pdf-space));
107
+ }
108
+
109
+ /* Links */
110
+
111
+ .markdown-body a {
112
+ color: var(--md2pdf-accent);
113
+ text-decoration: none;
114
+ }
115
+ .markdown-body a.header-anchor {
116
+ display: none;
117
+ }
118
+
119
+ /* Lists */
120
+
121
+ .markdown-body ul,
122
+ .markdown-body ol {
123
+ margin: 0 0 calc(0.75em * var(--md2pdf-space));
124
+ padding-left: 1.6em;
125
+ }
126
+ .markdown-body li {
127
+ margin: calc(0.15em * var(--md2pdf-space)) 0;
128
+ }
129
+ .markdown-body li > ul,
130
+ .markdown-body li > ol {
131
+ margin: calc(0.15em * var(--md2pdf-space)) 0 0;
132
+ }
133
+ .markdown-body li::marker {
134
+ color: var(--md2pdf-muted);
135
+ }
136
+ .markdown-body .task-list-item {
137
+ list-style-type: none;
138
+ }
139
+ .markdown-body .task-list-item input {
140
+ margin: 0 0.4em 0.2em -1.4em;
141
+ vertical-align: middle;
142
+ accent-color: var(--md2pdf-accent);
143
+ }
144
+
145
+ /* Quotes */
146
+
147
+ .markdown-body blockquote {
148
+ margin: calc(1.1em * var(--md2pdf-space)) 2em;
149
+ padding: 0 0 0 1em;
150
+ border-left: 2px solid var(--md2pdf-rule);
151
+ font-style: italic;
152
+ color: #4a4540;
153
+ break-inside: avoid;
154
+ }
155
+ .markdown-body blockquote p {
156
+ text-align: left;
157
+ }
158
+
159
+ /* Callouts (GitHub alerts and Obsidian callouts): a ruled box on paper, its title in small caps. */
160
+
161
+ .markdown-body .markdown-alert {
162
+ --md2pdf-callout: #3d5a78;
163
+ margin: calc(1.1em * var(--md2pdf-space)) 0;
164
+ padding: 0.55em 1em 0.6em;
165
+ border-left: 2px solid var(--md2pdf-callout);
166
+ background: var(--md2pdf-surface);
167
+ break-inside: avoid;
168
+ }
169
+ .markdown-body .markdown-alert-tip {
170
+ --md2pdf-callout: #4a6a3a;
171
+ }
172
+ .markdown-body .markdown-alert-important {
173
+ --md2pdf-callout: #6a4775;
174
+ }
175
+ .markdown-body .markdown-alert-warning {
176
+ --md2pdf-callout: #8a6416;
177
+ }
178
+ .markdown-body .markdown-alert-caution {
179
+ --md2pdf-callout: var(--md2pdf-accent);
180
+ }
181
+ .markdown-body .markdown-alert-quote {
182
+ --md2pdf-callout: var(--md2pdf-muted);
183
+ }
184
+ .markdown-body .markdown-alert-title {
185
+ margin-bottom: calc(0.3em * var(--md2pdf-space));
186
+ color: var(--md2pdf-callout);
187
+ font-variant: small-caps;
188
+ font-weight: 600;
189
+ letter-spacing: 0.04em;
190
+ text-align: left;
191
+ hyphens: manual;
192
+ }
193
+ .markdown-body .markdown-alert-title .octicon {
194
+ margin-right: 0.45em;
195
+ vertical-align: -0.1em;
196
+ width: 0.85em;
197
+ height: 0.85em;
198
+ fill: currentColor;
199
+ }
200
+ .markdown-body .markdown-alert > :last-child {
201
+ margin-bottom: 0;
202
+ }
203
+
204
+ /* Code */
205
+
206
+ .markdown-body code,
207
+ .markdown-body kbd {
208
+ font-family: var(--md2pdf-code-font);
209
+ font-size: 0.82em;
210
+ font-variant-numeric: normal;
211
+ }
212
+ .markdown-body :not(pre) > code {
213
+ background: var(--md2pdf-surface);
214
+ padding: 0.1em 0.3em;
215
+ border-radius: 3px;
216
+ }
217
+ .markdown-body kbd {
218
+ padding: 0.05em 0.35em;
219
+ border: 1px solid var(--md2pdf-rule);
220
+ border-bottom-width: 2px;
221
+ border-radius: 3px;
222
+ background: var(--md2pdf-background);
223
+ }
224
+ .markdown-body pre {
225
+ background: var(--md2pdf-surface);
226
+ border: 1px solid #e8e1d4;
227
+ border-radius: 4px;
228
+ padding: 0.9em 1.1em;
229
+ margin: 0 0 calc(1em * var(--md2pdf-space));
230
+ line-height: calc(1 + 0.45 * var(--md2pdf-leading));
231
+ white-space: pre-wrap;
232
+ word-break: break-word;
233
+ break-inside: avoid;
234
+ }
235
+ .markdown-body pre code {
236
+ font-size: calc(8.5 / 11 * var(--md2pdf-font-size));
237
+ }
238
+ /* A highlight.js theme on the host page styles .hljs too; keep code blocks this style's own. */
239
+ .markdown-body pre code.hljs {
240
+ display: inline;
241
+ overflow: visible;
242
+ padding: 0;
243
+ color: inherit;
244
+ background: none;
245
+ }
246
+ /* And its tokens: this outranks a theme's token rules, and this style's colors come after it. */
247
+ .markdown-body [class*="hljs-"] {
248
+ color: inherit;
249
+ background: none;
250
+ font-style: inherit;
251
+ font-weight: inherit;
252
+ text-decoration: none;
253
+ }
254
+
255
+ /* Muted syntax colors to suit the page. */
256
+ .markdown-body .hljs-comment,
257
+ .markdown-body .hljs-quote {
258
+ color: #8a8279;
259
+ font-style: italic;
260
+ }
261
+ .markdown-body .hljs-keyword,
262
+ .markdown-body .hljs-selector-tag,
263
+ .markdown-body .hljs-literal,
264
+ .markdown-body .hljs-doctag {
265
+ color: #a3372f;
266
+ }
267
+ .markdown-body .hljs-string,
268
+ .markdown-body .hljs-regexp,
269
+ .markdown-body .hljs-addition {
270
+ color: #4d6b3c;
271
+ }
272
+ .markdown-body .hljs-number,
273
+ .markdown-body .hljs-symbol,
274
+ .markdown-body .hljs-bullet {
275
+ color: #8a5a00;
276
+ }
277
+ .markdown-body .hljs-title,
278
+ .markdown-body .hljs-section,
279
+ .markdown-body .hljs-name {
280
+ color: #2c4a6e;
281
+ }
282
+ .markdown-body .hljs-built_in,
283
+ .markdown-body .hljs-type,
284
+ .markdown-body .hljs-attr,
285
+ .markdown-body .hljs-attribute,
286
+ .markdown-body .hljs-variable,
287
+ .markdown-body .hljs-template-variable {
288
+ color: #6b4c7a;
289
+ }
290
+ .markdown-body .hljs-meta,
291
+ .markdown-body .hljs-deletion {
292
+ color: #9a3b2f;
293
+ }
294
+ .markdown-body .hljs-emphasis {
295
+ font-style: italic;
296
+ }
297
+ .markdown-body .hljs-strong {
298
+ font-weight: bold;
299
+ }
300
+
301
+ /* Tables: horizontal rules only, like a well-set book. */
302
+
303
+ .markdown-body table {
304
+ border-collapse: collapse;
305
+ margin: calc(1.2em * var(--md2pdf-space)) auto;
306
+ border-top: 1.5px solid var(--md2pdf-text);
307
+ border-bottom: 1.5px solid var(--md2pdf-text);
308
+ font-variant-numeric: lining-nums tabular-nums;
309
+ }
310
+ .markdown-body th,
311
+ .markdown-body td {
312
+ padding: 0.35em 0.9em;
313
+ text-align: left;
314
+ }
315
+ .markdown-body th {
316
+ font-weight: normal;
317
+ font-variant: small-caps;
318
+ letter-spacing: 0.05em;
319
+ border-bottom: 0.75px solid var(--md2pdf-text);
320
+ }
321
+ .markdown-body tr {
322
+ break-inside: avoid;
323
+ }
324
+
325
+ /* Rules and images */
326
+
327
+ .markdown-body hr {
328
+ border: 0;
329
+ text-align: center;
330
+ margin: calc(1.6em * var(--md2pdf-space)) 0;
331
+ }
332
+ .markdown-body hr::after {
333
+ content: "⁂";
334
+ color: var(--md2pdf-muted);
335
+ font-size: calc(12 / 11 * var(--md2pdf-font-size));
336
+ }
337
+
338
+ .markdown-body img {
339
+ display: block;
340
+ max-width: 100%;
341
+ margin: calc(1em * var(--md2pdf-space)) auto;
342
+ break-inside: avoid;
343
+ }
344
+
345
+ /* Footnotes */
346
+
347
+ .markdown-body hr.footnotes-sep {
348
+ display: none;
349
+ }
350
+ .markdown-body .footnotes {
351
+ margin-top: calc(2.5em * var(--md2pdf-space));
352
+ font-size: calc(9 / 11 * var(--md2pdf-font-size));
353
+ color: var(--md2pdf-muted);
354
+ }
355
+ .markdown-body .footnotes::before {
356
+ content: "";
357
+ display: block;
358
+ width: 30%;
359
+ border-top: 0.75px solid var(--md2pdf-rule);
360
+ margin-bottom: calc(0.8em * var(--md2pdf-space));
361
+ }
362
+ .markdown-body .footnotes ol {
363
+ padding-left: 1.2em;
364
+ }
365
+ .markdown-body .footnote-ref a,
366
+ .markdown-body .footnote-backref {
367
+ color: var(--md2pdf-accent);
368
+ }
369
+
370
+ /* An Obsidian embed (![[Other note]]) that can't be shown: a muted placeholder. */
371
+ .markdown-body .markdown-embed {
372
+ color: var(--md2pdf-muted);
373
+ font-style: italic;
374
+ }
375
+
376
+ /* <div class="page-break"></div> starts a new page. */
377
+ .markdown-body .page-break {
378
+ break-after: page;
379
+ }
@@ -0,0 +1,322 @@
1
+ /* GitHub: GitHub's Markdown look, layered on top of github-markdown-css, with highlight.js's GitHub theme. */
2
+
3
+ /* Variables a page can override, on .markdown-body itself: for all its documents, or for one with
4
+ <article class="markdown-body" style="--md2pdf-font-size: 12pt">. A value set on :root or another
5
+ ancestor doesn't reach the document. :where() gives these defaults no specificity, so the page's
6
+ rule wins wherever it comes. Every style uses the same names. */
7
+ :where(.markdown-body) {
8
+ /* 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
9
+ it. --md2pdf-leading scales each line height's excess over 1, and --md2pdf-space the vertical
10
+ gaps between blocks; both are 1 as designed. */
11
+ --md2pdf-font-size: 11pt;
12
+ --md2pdf-leading: 1;
13
+ --md2pdf-space: 1;
14
+ /* Colors: --md2pdf-background the document's background; --md2pdf-text body text; --md2pdf-muted
15
+ quotes, footnotes and secondary text; --md2pdf-accent links. */
16
+ --md2pdf-background: #fff;
17
+ --md2pdf-text: #1f2328;
18
+ --md2pdf-muted: #59636e;
19
+ --md2pdf-accent: #0969da;
20
+ /* Fonts: --md2pdf-font body text, --md2pdf-heading-font headings (the body font unless set),
21
+ --md2pdf-code-font code. */
22
+ --md2pdf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
23
+ --md2pdf-heading-font: var(--md2pdf-font);
24
+ --md2pdf-code-font: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
25
+ }
26
+
27
+ /* highlight.js's GitHub theme, limited to the document. From highlight.js 11.12.0.
28
+ On .hljs itself, :where() keeps each selector's specificity what it is in the theme, so the rules
29
+ below still override it. The token rules take .markdown-body's specificity, to outrank a theme on
30
+ the host page.
31
+
32
+ BSD 3-Clause License
33
+
34
+ Copyright (c) 2006, Ivan Sagalaev.
35
+ All rights reserved.
36
+
37
+ Redistribution and use in source and binary forms, with or without
38
+ modification, are permitted provided that the following conditions are met:
39
+
40
+ * Redistributions of source code must retain the above copyright notice, this
41
+ list of conditions and the following disclaimer.
42
+
43
+ * Redistributions in binary form must reproduce the above copyright notice,
44
+ this list of conditions and the following disclaimer in the documentation
45
+ and/or other materials provided with the distribution.
46
+
47
+ * Neither the name of the copyright holder nor the names of its
48
+ contributors may be used to endorse or promote products derived from
49
+ this software without specific prior written permission.
50
+
51
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
52
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
53
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
55
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
56
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
57
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
58
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
59
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
60
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
61
+ :where(.markdown-body) pre code.hljs {
62
+ display: block;
63
+ overflow-x: auto;
64
+ padding: 1em;
65
+ }
66
+ :where(.markdown-body) code.hljs {
67
+ padding: 3px 5px;
68
+ }
69
+ :where(.markdown-body) .hljs {
70
+ color: #24292e;
71
+ background: #ffffff;
72
+ }
73
+ /* A highlight.js theme on the host page styles .hljs and its tokens too. This outranks a theme's token
74
+ rules, and the token colors below come after it. */
75
+ .markdown-body [class*="hljs-"] {
76
+ color: inherit;
77
+ background: none;
78
+ font-style: inherit;
79
+ font-weight: inherit;
80
+ text-decoration: none;
81
+ }
82
+ .markdown-body .hljs-doctag,
83
+ .markdown-body .hljs-keyword,
84
+ .markdown-body .hljs-meta .hljs-keyword,
85
+ .markdown-body .hljs-template-tag,
86
+ .markdown-body .hljs-template-variable,
87
+ .markdown-body .hljs-type,
88
+ .markdown-body .hljs-variable.language_ {
89
+ color: #d73a49;
90
+ }
91
+ .markdown-body .hljs-title,
92
+ .markdown-body .hljs-title.class_,
93
+ .markdown-body .hljs-title.class_.inherited__,
94
+ .markdown-body .hljs-title.function_ {
95
+ color: #6f42c1;
96
+ }
97
+ .markdown-body .hljs-attr,
98
+ .markdown-body .hljs-attribute,
99
+ .markdown-body .hljs-literal,
100
+ .markdown-body .hljs-meta,
101
+ .markdown-body .hljs-number,
102
+ .markdown-body .hljs-operator,
103
+ .markdown-body .hljs-variable,
104
+ .markdown-body .hljs-selector-attr,
105
+ .markdown-body .hljs-selector-class,
106
+ .markdown-body .hljs-selector-id {
107
+ color: #005cc5;
108
+ }
109
+ .markdown-body .hljs-regexp,
110
+ .markdown-body .hljs-string,
111
+ .markdown-body .hljs-meta .hljs-string {
112
+ color: #032f62;
113
+ }
114
+ .markdown-body .hljs-built_in,
115
+ .markdown-body .hljs-symbol {
116
+ color: #e36209;
117
+ }
118
+ .markdown-body .hljs-comment,
119
+ .markdown-body .hljs-code,
120
+ .markdown-body .hljs-formula {
121
+ color: #6a737d;
122
+ }
123
+ .markdown-body .hljs-name,
124
+ .markdown-body .hljs-quote,
125
+ .markdown-body .hljs-selector-tag,
126
+ .markdown-body .hljs-selector-pseudo {
127
+ color: #22863a;
128
+ }
129
+ .markdown-body .hljs-subst {
130
+ color: #24292e;
131
+ }
132
+ .markdown-body .hljs-section {
133
+ color: #005cc5;
134
+ font-weight: bold;
135
+ }
136
+ .markdown-body .hljs-bullet {
137
+ color: #735c0f;
138
+ }
139
+ .markdown-body .hljs-emphasis {
140
+ color: #24292e;
141
+ font-style: italic;
142
+ }
143
+ .markdown-body .hljs-strong {
144
+ color: #24292e;
145
+ font-weight: bold;
146
+ }
147
+ .markdown-body .hljs-addition {
148
+ color: #22863a;
149
+ background-color: #f0fff4;
150
+ }
151
+ .markdown-body .hljs-deletion {
152
+ color: #b31d28;
153
+ background-color: #ffeef0;
154
+ }
155
+
156
+ .markdown-body {
157
+ box-sizing: border-box;
158
+ font-family: var(--md2pdf-font);
159
+ font-size: var(--md2pdf-font-size);
160
+ color: var(--md2pdf-text);
161
+ background-color: var(--md2pdf-background);
162
+ -webkit-print-color-adjust: exact;
163
+ print-color-adjust: exact;
164
+ }
165
+
166
+ /* github-markdown-css sets these colors and fonts directly, so they're restated with the variables. */
167
+ .markdown-body a {
168
+ color: var(--md2pdf-accent);
169
+ }
170
+ .markdown-body h1,
171
+ .markdown-body h2,
172
+ .markdown-body h3,
173
+ .markdown-body h4,
174
+ .markdown-body h5,
175
+ .markdown-body h6 {
176
+ font-family: var(--md2pdf-heading-font);
177
+ }
178
+ .markdown-body h6,
179
+ .markdown-body blockquote,
180
+ .markdown-body .footnotes {
181
+ color: var(--md2pdf-muted);
182
+ }
183
+ .markdown-body tt,
184
+ .markdown-body code,
185
+ .markdown-body kbd,
186
+ .markdown-body pre,
187
+ .markdown-body samp {
188
+ font-family: var(--md2pdf-code-font);
189
+ }
190
+
191
+ /* github-markdown-css sets line heights in px and gaps in rem (12pt here), so they're restated with the
192
+ spacing variables applied, and the gaps as multiples of the text size so they follow it rather than
193
+ the page's root font size. */
194
+ .markdown-body {
195
+ line-height: calc(1 + 0.5 * var(--md2pdf-leading));
196
+ }
197
+ .markdown-body h1,
198
+ .markdown-body h2,
199
+ .markdown-body h3,
200
+ .markdown-body h4,
201
+ .markdown-body h5,
202
+ .markdown-body h6 {
203
+ margin-top: calc(18 / 11 * var(--md2pdf-font-size) * var(--md2pdf-space));
204
+ margin-bottom: calc(12 / 11 * var(--md2pdf-font-size) * var(--md2pdf-space));
205
+ line-height: calc(1 + 0.25 * var(--md2pdf-leading));
206
+ }
207
+ .markdown-body p,
208
+ .markdown-body blockquote,
209
+ .markdown-body ul,
210
+ .markdown-body ol,
211
+ .markdown-body dl,
212
+ .markdown-body table,
213
+ .markdown-body pre,
214
+ .markdown-body details,
215
+ .markdown-body .markdown-alert {
216
+ margin-bottom: calc(12 / 11 * var(--md2pdf-font-size) * var(--md2pdf-space));
217
+ }
218
+ .markdown-body li > p {
219
+ margin-top: calc(12 / 11 * var(--md2pdf-font-size) * var(--md2pdf-space));
220
+ }
221
+ .markdown-body li + li {
222
+ margin-top: calc(0.25em * var(--md2pdf-space));
223
+ }
224
+ .markdown-body .task-list-item + .task-list-item {
225
+ margin-top: calc(3 / 11 * var(--md2pdf-font-size) * var(--md2pdf-space));
226
+ }
227
+ .markdown-body hr {
228
+ margin: calc(18 / 11 * var(--md2pdf-font-size) * var(--md2pdf-space)) 0;
229
+ }
230
+ .markdown-body pre {
231
+ line-height: calc(1 + 0.45 * var(--md2pdf-leading));
232
+ }
233
+
234
+ /* Wrap long code lines instead of clipping them at the page edge. */
235
+ .markdown-body pre,
236
+ .markdown-body pre code {
237
+ white-space: pre-wrap;
238
+ word-break: break-word;
239
+ overflow: visible;
240
+ }
241
+
242
+ /* Keep headings with the content that follows them. */
243
+ .markdown-body h1,
244
+ .markdown-body h2,
245
+ .markdown-body h3,
246
+ .markdown-body h4,
247
+ .markdown-body h5,
248
+ .markdown-body h6 {
249
+ break-after: avoid;
250
+ }
251
+
252
+ .markdown-body pre,
253
+ .markdown-body blockquote,
254
+ .markdown-body .markdown-alert,
255
+ .markdown-body tr,
256
+ .markdown-body img {
257
+ break-inside: avoid;
258
+ }
259
+
260
+ .markdown-body img {
261
+ max-width: 100%;
262
+ }
263
+
264
+ /* Header anchor links are only useful on screen. */
265
+ .markdown-body a.header-anchor {
266
+ display: none;
267
+ }
268
+
269
+ /* Task list checkboxes: drop the bullet, like GitHub. */
270
+ .markdown-body .task-list-item {
271
+ list-style-type: none;
272
+ }
273
+ .markdown-body .task-list-item input {
274
+ margin: 0 0.35em 0.25em -1.4em;
275
+ vertical-align: middle;
276
+ }
277
+
278
+ /* github-markdown-css colors GitHub's five alert types. Its flex title would drop the spaces around
279
+ formatting in an Obsidian title, so the icon sits inline instead. Quote is ours. */
280
+ .markdown-body .markdown-alert .markdown-alert-title {
281
+ display: block;
282
+ line-height: inherit;
283
+ }
284
+ .markdown-body .markdown-alert-title .octicon {
285
+ margin-right: calc(6 / 11 * var(--md2pdf-font-size));
286
+ }
287
+ .markdown-body .markdown-alert.markdown-alert-quote {
288
+ border-left-color: var(--md2pdf-muted);
289
+ }
290
+ .markdown-body .markdown-alert.markdown-alert-quote .markdown-alert-title {
291
+ color: var(--md2pdf-muted);
292
+ }
293
+
294
+ /* highlight.js's theme, or one on the host page, adds its own box; GitHub's <pre> already has one. */
295
+ .markdown-body pre code.hljs {
296
+ display: block;
297
+ overflow: visible;
298
+ padding: 0;
299
+ color: #24292e;
300
+ background: transparent;
301
+ }
302
+
303
+ /* github-markdown-css paints table rows white. */
304
+ .markdown-body table tr {
305
+ background-color: var(--md2pdf-background);
306
+ }
307
+
308
+ /* GitHub's footnotes section has its own top border; drop the plugin's extra <hr>. */
309
+ .markdown-body hr.footnotes-sep {
310
+ display: none;
311
+ }
312
+
313
+ /* An Obsidian embed (![[Other note]]) that can't be shown: a muted placeholder. */
314
+ .markdown-body .markdown-embed {
315
+ color: var(--md2pdf-muted);
316
+ font-style: italic;
317
+ }
318
+
319
+ /* <div class="page-break"></div> starts a new page. */
320
+ .markdown-body .page-break {
321
+ break-after: page;
322
+ }