printdown 1.0.0 → 1.1.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.
- package/README.md +73 -0
- package/dist/{chunk-HX2CR2SJ.js → chunk-FFA5GXRD.js} +247 -2
- package/dist/chunk-FFA5GXRD.js.map +1 -0
- package/dist/{chunk-INBZBWSZ.js → chunk-YBTWG5UP.js} +100 -1
- package/dist/chunk-YBTWG5UP.js.map +1 -0
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/themes/default/index.d.ts +5 -2
- package/dist/themes/default/index.js +3 -1
- package/dist/themes/default/style.css +95 -0
- package/package.json +1 -1
- package/dist/chunk-HX2CR2SJ.js.map +0 -1
- package/dist/chunk-INBZBWSZ.js.map +0 -1
|
@@ -241,6 +241,56 @@ var typographyCss = `.printdown h1,
|
|
|
241
241
|
border-bottom: 1px solid var(--printdown-border-light);
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
+
.printdown h1.printdown-no-border,
|
|
245
|
+
.printdown h1.printdown-no-underline,
|
|
246
|
+
.printdown h1.no-border,
|
|
247
|
+
.printdown h1.no-underline,
|
|
248
|
+
.printdown h1.plain,
|
|
249
|
+
.printdown h1[no-border],
|
|
250
|
+
.printdown h1[no-underline],
|
|
251
|
+
.printdown h2.printdown-no-border,
|
|
252
|
+
.printdown h2.printdown-no-underline,
|
|
253
|
+
.printdown h2.no-border,
|
|
254
|
+
.printdown h2.no-underline,
|
|
255
|
+
.printdown h2.plain,
|
|
256
|
+
.printdown h2[no-border],
|
|
257
|
+
.printdown h2[no-underline],
|
|
258
|
+
.printdown h3.printdown-no-border,
|
|
259
|
+
.printdown h3.printdown-no-underline,
|
|
260
|
+
.printdown h3.no-border,
|
|
261
|
+
.printdown h3.no-underline,
|
|
262
|
+
.printdown h3.plain,
|
|
263
|
+
.printdown h3[no-border],
|
|
264
|
+
.printdown h3[no-underline],
|
|
265
|
+
.printdown h4.printdown-no-border,
|
|
266
|
+
.printdown h4.printdown-no-underline,
|
|
267
|
+
.printdown h4.no-border,
|
|
268
|
+
.printdown h4.no-underline,
|
|
269
|
+
.printdown h4.plain,
|
|
270
|
+
.printdown h4[no-border],
|
|
271
|
+
.printdown h4[no-underline],
|
|
272
|
+
.printdown h5.printdown-no-border,
|
|
273
|
+
.printdown h5.printdown-no-underline,
|
|
274
|
+
.printdown h5.no-border,
|
|
275
|
+
.printdown h5.no-underline,
|
|
276
|
+
.printdown h5.plain,
|
|
277
|
+
.printdown h5[no-border],
|
|
278
|
+
.printdown h5[no-underline],
|
|
279
|
+
.printdown h6.printdown-no-border,
|
|
280
|
+
.printdown h6.printdown-no-underline,
|
|
281
|
+
.printdown h6.no-border,
|
|
282
|
+
.printdown h6.no-underline,
|
|
283
|
+
.printdown h6.plain,
|
|
284
|
+
.printdown h6[no-border],
|
|
285
|
+
.printdown h6[no-underline],
|
|
286
|
+
.printdown .printdown-no-border,
|
|
287
|
+
.printdown .printdown-no-underline,
|
|
288
|
+
.printdown .no-border,
|
|
289
|
+
.printdown .no-underline {
|
|
290
|
+
border-bottom: none !important;
|
|
291
|
+
padding-bottom: 0 !important;
|
|
292
|
+
}
|
|
293
|
+
|
|
244
294
|
.printdown h2 {
|
|
245
295
|
font-size: var(--printdown-text-2xl);
|
|
246
296
|
font-weight: var(--printdown-font-weight-bold);
|
|
@@ -765,6 +815,52 @@ var kbdCss = `/* Keyboard Key (Kbd) */
|
|
|
765
815
|
}
|
|
766
816
|
`;
|
|
767
817
|
|
|
818
|
+
// src/themes/default/center.ts
|
|
819
|
+
var centerCss = `/* Center Alignment */
|
|
820
|
+
.printdown center,
|
|
821
|
+
.printdown .printdown-center,
|
|
822
|
+
.printdown .text-center,
|
|
823
|
+
.printdown [align="center"] {
|
|
824
|
+
text-align: center;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
.printdown div.printdown-center,
|
|
828
|
+
.printdown center {
|
|
829
|
+
display: block;
|
|
830
|
+
text-align: center;
|
|
831
|
+
margin-top: 0;
|
|
832
|
+
margin-bottom: 1rem;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
.printdown div.printdown-center > *:first-child,
|
|
836
|
+
.printdown center > *:first-child {
|
|
837
|
+
margin-top: 0;
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
.printdown div.printdown-center > *:last-child,
|
|
841
|
+
.printdown center > *:last-child {
|
|
842
|
+
margin-bottom: 0;
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
.printdown span.printdown-center {
|
|
846
|
+
display: inline-block;
|
|
847
|
+
text-align: center;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
.printdown .printdown-center img,
|
|
851
|
+
.printdown center img {
|
|
852
|
+
display: inline-block;
|
|
853
|
+
margin-left: auto;
|
|
854
|
+
margin-right: auto;
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
.printdown .printdown-center table,
|
|
858
|
+
.printdown center table {
|
|
859
|
+
margin-left: auto;
|
|
860
|
+
margin-right: auto;
|
|
861
|
+
}
|
|
862
|
+
`;
|
|
863
|
+
|
|
768
864
|
// src/themes/default/print.ts
|
|
769
865
|
var printCss = `/* Print and PDF Layout */
|
|
770
866
|
@page {
|
|
@@ -830,6 +926,7 @@ var defaultThemeCssParts = {
|
|
|
830
926
|
highlight: highlightCss,
|
|
831
927
|
badge: badgeCss,
|
|
832
928
|
kbd: kbdCss,
|
|
929
|
+
center: centerCss,
|
|
833
930
|
print: printCss
|
|
834
931
|
};
|
|
835
932
|
var defaultThemeCss = [
|
|
@@ -842,6 +939,7 @@ var defaultThemeCss = [
|
|
|
842
939
|
highlightCss,
|
|
843
940
|
badgeCss,
|
|
844
941
|
kbdCss,
|
|
942
|
+
centerCss,
|
|
845
943
|
printCss
|
|
846
944
|
].join("\n\n");
|
|
847
945
|
var defaultTheme = {
|
|
@@ -860,9 +958,10 @@ export {
|
|
|
860
958
|
highlightCss,
|
|
861
959
|
badgeCss,
|
|
862
960
|
kbdCss,
|
|
961
|
+
centerCss,
|
|
863
962
|
printCss,
|
|
864
963
|
defaultThemeCssParts,
|
|
865
964
|
defaultThemeCss,
|
|
866
965
|
defaultTheme
|
|
867
966
|
};
|
|
868
|
-
//# sourceMappingURL=chunk-
|
|
967
|
+
//# sourceMappingURL=chunk-YBTWG5UP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/themes/default/fonts.ts","../src/themes/default/variables.ts","../src/themes/default/base.ts","../src/themes/default/typography.ts","../src/themes/default/markdown.ts","../src/themes/default/code.ts","../src/themes/default/highlight.ts","../src/themes/default/badge.ts","../src/themes/default/kbd.ts","../src/themes/default/center.ts","../src/themes/default/print.ts","../src/themes/default/index.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport url from \"node:url\";\n\nfunction tryResolveFontCss(specifier: string): string {\n try {\n const resolvedUrl = import.meta.resolve(specifier);\n const filePath = url.fileURLToPath(resolvedUrl);\n if (fs.existsSync(filePath)) {\n return fs.readFileSync(filePath, \"utf-8\");\n }\n } catch {\n // Fallback if import.meta.resolve is unavailable\n }\n return \"\";\n}\n\nexport function getFontDir(specifier: string): string {\n try {\n const resolvedUrl = import.meta.resolve(specifier);\n const filePath = url.fileURLToPath(resolvedUrl);\n return path.dirname(filePath);\n } catch {\n return \"\";\n }\n}\n\nfunction buildNpmFontsCss(): string {\n const parts: string[] = [];\n\n // 1. @fontsource-variable/inter\n const interRaw = tryResolveFontCss(\"@fontsource-variable/inter/index.css\");\n if (interRaw) {\n parts.push(interRaw.replace(/url\\(\\.\\/files\\//g, \"url(https://printdown.local/fonts/inter/\"));\n }\n\n // 2. @fontsource-variable/noto-sans-jp\n const notoRaw = tryResolveFontCss(\"@fontsource-variable/noto-sans-jp/index.css\");\n if (notoRaw) {\n parts.push(\n notoRaw.replace(/url\\(\\.\\/files\\//g, \"url(https://printdown.local/fonts/noto-sans-jp/\"),\n );\n }\n\n // 3. @fontsource-variable/jetbrains-mono\n const jbRaw = tryResolveFontCss(\"@fontsource-variable/jetbrains-mono/index.css\");\n if (jbRaw) {\n parts.push(\n jbRaw.replace(/url\\(\\.\\/files\\//g, \"url(https://printdown.local/fonts/jetbrains-mono/\"),\n );\n }\n\n // 4. gen-interface-jp\n const gen500 = tryResolveFontCss(\"gen-interface-jp/500.css\");\n const gen600 = tryResolveFontCss(\"gen-interface-jp/600.css\");\n const gen700 = tryResolveFontCss(\"gen-interface-jp/700.css\");\n if (gen500 || gen600 || gen700) {\n const genCss = [gen500, gen600, gen700]\n .join(\"\\n\")\n .replace(/url\\([\"']?\\.\\/w\\//g, 'url(\"https://printdown.local/fonts/gen-interface-jp/w/');\n parts.push(genCss);\n }\n\n // CDN fallbacks for standalone web/HTML environments\n parts.push(`/* CDN Fallback for Standalone HTML */\n@import url('https://cdn.jsdelivr.net/npm/gen-interface-jp@0.8.0/500.css');\n@import url('https://cdn.jsdelivr.net/npm/gen-interface-jp@0.8.0/600.css');\n@import url('https://cdn.jsdelivr.net/npm/gen-interface-jp@0.8.0/700.css');\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');\n`);\n\n parts.push(`:root {\n --printdown-font-fallback:\n 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic', 'Meiryo',\n -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;\n\n --printdown-font-sans:\n 'Gen Interface JP', 'Inter Variable', 'Inter', 'Noto Sans JP Variable', 'Noto Sans JP', var(--printdown-font-fallback);\n\n --printdown-font-mono:\n 'JetBrains Mono Variable', 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Monaco,\n Consolas, 'Liberation Mono', 'Courier New', monospace;\n}\n`);\n\n return parts.join(\"\\n\\n\");\n}\n\nexport const fontsCss = buildNpmFontsCss();\n","export const variablesCss = `:root {\n /* Primary brand color - Deep Blue */\n --printdown-primary: oklch(37.9% 0.146 265.522);\n\n /* Blue scale */\n --printdown-blue-50: oklch(0.97 0.014 254.604);\n --printdown-blue-100: oklch(0.932 0.032 255.585);\n --printdown-blue-200: oklch(0.882 0.059 254.128);\n --printdown-blue-300: oklch(0.809 0.105 251.813);\n --printdown-blue-400: oklch(0.707 0.165 254.624);\n --printdown-blue-500: oklch(0.623 0.214 259.815);\n --printdown-blue-600: oklch(0.546 0.245 262.881);\n --printdown-blue-700: oklch(0.488 0.243 264.376);\n --printdown-blue-800: oklch(0.424 0.199 265.638);\n --printdown-blue-900: oklch(0.379 0.146 265.522);\n --printdown-blue-950: oklch(0.282 0.091 267.935);\n\n /* Amber scale */\n --printdown-amber-50: oklch(0.987 0.022 95.277);\n --printdown-amber-100: oklch(0.962 0.059 95.617);\n --printdown-amber-200: oklch(0.924 0.12 95.746);\n --printdown-amber-300: oklch(0.879 0.169 91.605);\n --printdown-amber-400: oklch(0.828 0.189 84.429);\n --printdown-amber-500: oklch(0.769 0.188 70.08);\n --printdown-amber-600: oklch(0.666 0.179 58.318);\n --printdown-amber-700: oklch(0.555 0.163 48.998);\n --printdown-amber-800: oklch(0.473 0.137 46.201);\n --printdown-amber-900: oklch(0.414 0.112 45.904);\n --printdown-amber-950: oklch(0.279 0.077 45.635);\n\n /* Neutral scale */\n --printdown-neutral-50: oklch(0.985 0 0);\n --printdown-neutral-100: oklch(0.97 0 0);\n --printdown-neutral-200: oklch(0.922 0 0);\n --printdown-neutral-300: oklch(0.87 0 0);\n --printdown-neutral-400: oklch(0.708 0 0);\n --printdown-neutral-500: oklch(0.556 0 0);\n --printdown-neutral-600: oklch(0.439 0 0);\n --printdown-neutral-700: oklch(0.371 0 0);\n --printdown-neutral-800: oklch(0.269 0 0);\n --printdown-neutral-900: oklch(0.205 0 0);\n --printdown-neutral-950: oklch(0.145 0 0);\n\n /* Gray scale */\n --printdown-gray-50: oklch(0.985 0.002 247.839);\n --printdown-gray-100: oklch(0.967 0.003 264.542);\n --printdown-gray-200: oklch(0.928 0.006 264.531);\n --printdown-gray-300: oklch(0.872 0.01 258.338);\n --printdown-gray-400: oklch(0.707 0.022 261.325);\n --printdown-gray-500: oklch(0.551 0.027 264.364);\n --printdown-gray-600: oklch(0.446 0.03 256.802);\n --printdown-gray-700: oklch(0.373 0.034 259.733);\n --printdown-gray-800: oklch(0.278 0.033 256.848);\n --printdown-gray-900: oklch(0.21 0.034 264.665);\n --printdown-gray-950: oklch(0.13 0.028 261.692);\n\n /* Semantic Theme Colors */\n --printdown-bg: #ffffff;\n --printdown-text: var(--printdown-neutral-800);\n --printdown-text-strong: var(--printdown-neutral-950);\n --printdown-text-muted: var(--printdown-neutral-600);\n --printdown-border: var(--printdown-gray-200);\n --printdown-border-light: var(--printdown-gray-100);\n\n /* Spacing scale */\n --printdown-size-1: 0.25rem;\n --printdown-size-2: 0.5rem;\n --printdown-size-3: 0.75rem;\n --printdown-size-4: 1rem;\n --printdown-size-5: 1.25rem;\n --printdown-size-6: 1.5rem;\n --printdown-size-8: 2rem;\n --printdown-size-10: 2.5rem;\n --printdown-size-12: 3rem;\n\n /* Typography scale */\n --printdown-text-xs: 0.75rem;\n --printdown-text-sm: 0.875rem;\n --printdown-text-base: 1rem;\n --printdown-text-lg: 1.125rem;\n --printdown-text-xl: 1.25rem;\n --printdown-text-2xl: 1.5rem;\n --printdown-text-3xl: 1.875rem;\n --printdown-text-4xl: 2.25rem;\n\n /* Line heights */\n --printdown-leading-none: 1;\n --printdown-leading-tight: 1.25;\n --printdown-leading-snug: 1.375;\n --printdown-leading-normal: 1.5;\n --printdown-leading-relaxed: 1.65;\n --printdown-leading-loose: 2;\n\n /* Font weights */\n --printdown-font-weight-normal: 400;\n --printdown-font-weight-medium: 500;\n --printdown-font-weight-semibold: 600;\n --printdown-font-weight-bold: 700;\n}\n`;\n","export const baseCss = `*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-size: 16px;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: var(--printdown-bg);\n color: var(--printdown-text);\n font-family: var(--printdown-font-sans);\n font-size: var(--printdown-text-base);\n font-weight: var(--printdown-font-weight-normal);\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown {\n font-family: var(--printdown-font-sans);\n color: var(--printdown-text);\n font-size: var(--printdown-text-base);\n font-weight: var(--printdown-font-weight-normal);\n line-height: var(--printdown-leading-relaxed);\n max-width: 820px;\n margin: 0 auto;\n padding: 2.5rem 2rem;\n background-color: var(--printdown-bg);\n}\n`;\n","export const typographyCss = `.printdown h1,\n.printdown h2,\n.printdown h3,\n.printdown h4,\n.printdown h5,\n.printdown h6 {\n color: var(--printdown-text-strong);\n margin-top: 2rem;\n margin-bottom: 0.75rem;\n font-weight: var(--printdown-font-weight-bold);\n line-height: var(--printdown-leading-tight);\n}\n\n.printdown h1:first-child,\n.printdown h2:first-child,\n.printdown h3:first-child {\n margin-top: 0;\n}\n\n.printdown h1 {\n font-size: var(--printdown-text-3xl);\n font-weight: var(--printdown-font-weight-bold);\n letter-spacing: -0.025em;\n margin-top: 2.25rem;\n margin-bottom: 1rem;\n padding-bottom: 0.5rem;\n border-bottom: 1px solid var(--printdown-border-light);\n}\n\n.printdown h1.printdown-no-border,\n.printdown h1.printdown-no-underline,\n.printdown h1.no-border,\n.printdown h1.no-underline,\n.printdown h1.plain,\n.printdown h1[no-border],\n.printdown h1[no-underline],\n.printdown h2.printdown-no-border,\n.printdown h2.printdown-no-underline,\n.printdown h2.no-border,\n.printdown h2.no-underline,\n.printdown h2.plain,\n.printdown h2[no-border],\n.printdown h2[no-underline],\n.printdown h3.printdown-no-border,\n.printdown h3.printdown-no-underline,\n.printdown h3.no-border,\n.printdown h3.no-underline,\n.printdown h3.plain,\n.printdown h3[no-border],\n.printdown h3[no-underline],\n.printdown h4.printdown-no-border,\n.printdown h4.printdown-no-underline,\n.printdown h4.no-border,\n.printdown h4.no-underline,\n.printdown h4.plain,\n.printdown h4[no-border],\n.printdown h4[no-underline],\n.printdown h5.printdown-no-border,\n.printdown h5.printdown-no-underline,\n.printdown h5.no-border,\n.printdown h5.no-underline,\n.printdown h5.plain,\n.printdown h5[no-border],\n.printdown h5[no-underline],\n.printdown h6.printdown-no-border,\n.printdown h6.printdown-no-underline,\n.printdown h6.no-border,\n.printdown h6.no-underline,\n.printdown h6.plain,\n.printdown h6[no-border],\n.printdown h6[no-underline],\n.printdown .printdown-no-border,\n.printdown .printdown-no-underline,\n.printdown .no-border,\n.printdown .no-underline {\n border-bottom: none !important;\n padding-bottom: 0 !important;\n}\n\n.printdown h2 {\n font-size: var(--printdown-text-2xl);\n font-weight: var(--printdown-font-weight-bold);\n letter-spacing: -0.015em;\n margin-top: 2rem;\n margin-bottom: 0.75rem;\n}\n\n.printdown h3 {\n font-size: var(--printdown-text-xl);\n font-weight: var(--printdown-font-weight-semibold);\n letter-spacing: -0.01em;\n margin-top: 1.5rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h4 {\n font-size: var(--printdown-text-lg);\n font-weight: var(--printdown-font-weight-semibold);\n margin-top: 1.25rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h5 {\n font-size: var(--printdown-text-base);\n font-weight: var(--printdown-font-weight-semibold);\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h6 {\n font-size: var(--printdown-text-sm);\n font-weight: var(--printdown-font-weight-semibold);\n color: var(--printdown-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown p {\n margin-top: 0;\n margin-bottom: 1rem;\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown p:last-child {\n margin-bottom: 0;\n}\n\n.printdown strong,\n.printdown b {\n font-weight: var(--printdown-font-weight-bold);\n color: var(--printdown-text-strong);\n}\n\n.printdown em,\n.printdown i {\n font-style: italic;\n}\n\n.printdown del,\n.printdown s {\n text-decoration: line-through;\n color: var(--printdown-text-muted);\n}\n\n.printdown small {\n font-size: var(--printdown-text-sm);\n color: var(--printdown-text-muted);\n}\n\n.printdown a {\n color: var(--printdown-primary);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 2.5px;\n}\n\n.printdown hr {\n border: 0;\n border-top: 1px solid var(--printdown-border);\n margin: 2rem 0;\n}\n`;\n","export const markdownCss = `/* Lists */\n.printdown ul,\n.printdown ol {\n padding-left: 1.5rem;\n margin-top: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.printdown ul {\n list-style-type: disc;\n}\n\n.printdown ol {\n list-style-type: decimal;\n}\n\n.printdown li {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown li > ul,\n.printdown li > ol {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n/* Task Lists */\n.printdown ul.printdown-task-list {\n list-style: none;\n padding-left: 0;\n}\n\n.printdown .printdown-task-list-item {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n margin-top: 0.35rem;\n margin-bottom: 0.35rem;\n}\n\n.printdown .printdown-task-list-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 1.05em;\n height: 1.05em;\n margin-top: 0.3em;\n flex-shrink: 0;\n border-radius: 2px;\n border: 1.5px solid var(--printdown-neutral-400);\n background-color: transparent;\n position: relative;\n cursor: default;\n}\n\n.printdown .printdown-task-list-checkbox:checked {\n background-color: var(--printdown-blue-900);\n border-color: var(--printdown-blue-900);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n background-size: 80% 80%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n/* Blockquote */\n.printdown blockquote {\n position: relative;\n margin: 1.25rem 0;\n padding: 0.25rem 0 0.25rem 1rem;\n border-left: 3px solid var(--printdown-primary);\n background: transparent;\n color: var(--printdown-neutral-700);\n font-size: var(--printdown-text-base);\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown blockquote > *:first-child {\n margin-top: 0;\n}\n\n.printdown blockquote > *:last-child {\n margin-bottom: 0;\n}\n\n/* Tables */\n.printdown table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n font-size: var(--printdown-text-sm);\n line-height: var(--printdown-leading-normal);\n}\n\n.printdown th,\n.printdown td {\n padding: 0.625rem 0.75rem;\n text-align: left;\n vertical-align: top;\n}\n\n.printdown th {\n font-weight: var(--printdown-font-weight-semibold);\n color: var(--printdown-text-strong);\n border-bottom: 2px solid var(--printdown-gray-300);\n}\n\n.printdown td {\n border-bottom: 1px solid var(--printdown-gray-200);\n color: var(--printdown-text);\n}\n\n.printdown tr:last-child td {\n border-bottom: 1px solid var(--printdown-gray-200);\n}\n\n/* Images */\n.printdown img {\n max-width: 100%;\n height: auto;\n display: block;\n margin: 1.25rem auto;\n border-radius: 4px;\n}\n`;\n","export const codeCss = `/* Inline Code */\n.printdown :not(pre) > code {\n font-family: var(--printdown-font-mono);\n background-color: var(--printdown-neutral-200);\n color: var(--printdown-neutral-900);\n padding: 0.15em 0.35em;\n border-radius: 4px;\n font-size: 0.875em;\n font-weight: 400;\n vertical-align: baseline;\n}\n\n/* Code Blocks */\n.printdown pre.printdown-code,\n.printdown pre.shiki {\n font-family: var(--printdown-font-mono);\n font-size: 0.85rem;\n line-height: 1.55;\n padding: 1rem 1.25rem;\n border-radius: 6px;\n margin: 1.25rem 0;\n overflow-x: auto;\n tab-size: 2;\n background-color: #1a1b26;\n color: #c0caf5;\n}\n\n.printdown pre.printdown-code code,\n.printdown pre.shiki code {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n background: transparent;\n padding: 0;\n border-radius: 0;\n color: inherit;\n}\n`;\n","export const highlightCss = `/* Marker Pen / Highlight */\n.printdown mark,\n.printdown .printdown-highlight {\n --highlight-ink: color-mix(in oklch, var(--printdown-blue-300) 42%, transparent);\n\n display: inline;\n padding: 0 0.15em;\n margin: 0;\n border-radius: 0;\n font-size: inherit;\n font-weight: inherit;\n font-family: inherit;\n line-height: inherit;\n color: inherit;\n vertical-align: baseline;\n background-color: transparent;\n background-image: linear-gradient(\n to top,\n var(--highlight-ink) 0%,\n var(--highlight-ink) 58%,\n transparent 58%\n );\n box-decoration-break: clone;\n -webkit-box-decoration-break: clone;\n}\n\n.printdown .printdown-highlight--blue {\n --highlight-ink: color-mix(in oklch, var(--printdown-blue-300) 42%, transparent);\n}\n\n.printdown .printdown-highlight--amber {\n --highlight-ink: color-mix(in oklch, var(--printdown-amber-400) 48%, transparent);\n}\n\n/* Inline code inside highlight — transparent wrapper, marker stroke on code */\n.printdown mark:has(> code),\n.printdown .printdown-highlight:has(> code) {\n display: contents;\n padding: 0;\n background-image: none;\n background-color: transparent;\n}\n\n.printdown mark > code,\n.printdown .printdown-highlight > code {\n --highlight-ink: color-mix(in oklch, var(--printdown-blue-300) 42%, transparent);\n\n display: inline;\n padding: 0 0.25em;\n border-radius: 0;\n font-size: inherit;\n font-weight: inherit;\n font-family: inherit;\n line-height: inherit;\n vertical-align: baseline;\n background-color: transparent;\n background-image: linear-gradient(\n to top,\n var(--highlight-ink) 0%,\n var(--highlight-ink) 58%,\n transparent 58%\n );\n box-decoration-break: clone;\n -webkit-box-decoration-break: clone;\n}\n\n.printdown .printdown-highlight--amber > code {\n --highlight-ink: color-mix(in oklch, var(--printdown-amber-400) 48%, transparent);\n}\n`;\n","export const badgeCss = `/* Badges */\n.printdown .printdown-badge,\n.printdown badge,\n.printdown Badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.12em 0.5em;\n margin: 0 0.2em;\n border-radius: 4px;\n font-size: 0.75em;\n font-weight: var(--printdown-font-weight-medium);\n font-family: var(--printdown-font-sans);\n line-height: 1.3;\n letter-spacing: 0.02em;\n vertical-align: 0.08em;\n white-space: nowrap;\n box-sizing: border-box;\n}\n\n/* Headings adjustment - keep badge proportional and vertically centered */\n.printdown h1 .printdown-badge,\n.printdown h2 .printdown-badge,\n.printdown h3 .printdown-badge,\n.printdown h4 .printdown-badge {\n font-size: 0.55em;\n vertical-align: 0.15em;\n}\n\n/* Solid Variants (Default) */\n.printdown .printdown-badge--solid,\n.printdown .printdown-badge--solid.printdown-badge--blue {\n background-color: var(--printdown-blue-900);\n color: #ffffff;\n}\n\n.printdown .printdown-badge--solid.printdown-badge--amber {\n background-color: var(--printdown-amber-700);\n color: #ffffff;\n}\n\n.printdown .printdown-badge--solid.printdown-badge--neutral,\n.printdown .printdown-badge--solid.printdown-badge--gray {\n background-color: var(--printdown-neutral-800);\n color: #ffffff;\n}\n\n/* Soft Variants */\n.printdown .printdown-badge--soft,\n.printdown .printdown-badge--soft.printdown-badge--blue {\n background-color: var(--printdown-blue-100);\n color: var(--printdown-blue-900);\n}\n\n.printdown .printdown-badge--soft.printdown-badge--amber {\n background-color: var(--printdown-amber-100);\n color: var(--printdown-amber-900);\n}\n\n.printdown .printdown-badge--soft.printdown-badge--neutral,\n.printdown .printdown-badge--soft.printdown-badge--gray {\n background-color: var(--printdown-neutral-200);\n color: var(--printdown-neutral-900);\n}\n\n/* Outline Variants */\n.printdown .printdown-badge--outline,\n.printdown .printdown-badge--outline.printdown-badge--blue {\n background-color: transparent;\n color: var(--printdown-blue-900);\n box-shadow: inset 0 0 0 1px var(--printdown-blue-900);\n}\n\n.printdown .printdown-badge--outline.printdown-badge--amber {\n background-color: transparent;\n color: var(--printdown-amber-700);\n box-shadow: inset 0 0 0 1px var(--printdown-amber-600);\n}\n\n.printdown .printdown-badge--outline.printdown-badge--neutral,\n.printdown .printdown-badge--outline.printdown-badge--gray {\n background-color: transparent;\n color: var(--printdown-neutral-700);\n box-shadow: inset 0 0 0 1px var(--printdown-neutral-400);\n}\n`;\n","export const kbdCss = `/* Keyboard Key (Kbd) */\n.printdown kbd,\n.printdown .printdown-kbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 1.5em;\n height: 1.6em;\n padding: 0 0.45em 2px; /* Compensate for 2px bottom shadow to center on key surface */\n margin: 0 0.25em;\n border-radius: 4px;\n background-color: var(--printdown-neutral-50);\n color: var(--printdown-blue-900);\n font-family: var(--printdown-font-sans);\n font-size: 0.8em;\n font-weight: var(--printdown-font-weight-semibold);\n line-height: 1;\n text-align: center;\n vertical-align: middle;\n white-space: nowrap;\n box-sizing: border-box;\n border: 1px solid var(--printdown-gray-300);\n box-shadow: inset 0 -2px 0 0 var(--printdown-gray-200), 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n\n/* Headings adjustment */\n.printdown h1 kbd,\n.printdown h1 .printdown-kbd,\n.printdown h2 kbd,\n.printdown h2 .printdown-kbd,\n.printdown h3 kbd,\n.printdown h3 .printdown-kbd {\n font-size: 0.6em;\n height: 1.6em;\n vertical-align: middle;\n}\n\n/* Kbd Icons */\n.printdown .printdown-kbd-icon {\n display: inline-block;\n width: 1.1em;\n height: 1.1em;\n background-color: currentColor;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n}\n\n.printdown .printdown-kbd-icon + span,\n.printdown .printdown-kbd-icon + text {\n margin-left: 0.25em;\n}\n\n/* Command Icon */\n.printdown .printdown-kbd-icon--command,\n.printdown .printdown-kbd-icon--cmd {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3z'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3z'/%3E%3C/svg%3E\");\n}\n\n/* Arrow Icons */\n.printdown .printdown-kbd-icon--arrow-up,\n.printdown .printdown-kbd-icon--up {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\");\n}\n\n.printdown .printdown-kbd-icon--arrow-down,\n.printdown .printdown-kbd-icon--down {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E\");\n}\n\n.printdown .printdown-kbd-icon--arrow-left,\n.printdown .printdown-kbd-icon--left {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E\");\n}\n\n.printdown .printdown-kbd-icon--arrow-right,\n.printdown .printdown-kbd-icon--right {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E\");\n}\n\n/* Option / Alt Icon */\n.printdown .printdown-kbd-icon--option,\n.printdown .printdown-kbd-icon--alt {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h6l6 18h6'/%3E%3Cpath d='M14 3h7'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h6l6 18h6'/%3E%3Cpath d='M14 3h7'/%3E%3C/svg%3E\");\n}\n\n/* Shift Icon */\n.printdown .printdown-kbd-icon--shift {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-8 8h5v10h6V11h5z'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-8 8h5v10h6V11h5z'/%3E%3C/svg%3E\");\n}\n\n/* Enter Icon */\n.printdown .printdown-kbd-icon--enter,\n.printdown .printdown-kbd-icon--return {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 10 4 15 9 20'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 10 4 15 9 20'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E\");\n}\n`;\n","export const centerCss = `/* Center Alignment */\n.printdown center,\n.printdown .printdown-center,\n.printdown .text-center,\n.printdown [align=\"center\"] {\n text-align: center;\n}\n\n.printdown div.printdown-center,\n.printdown center {\n display: block;\n text-align: center;\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\n.printdown div.printdown-center > *:first-child,\n.printdown center > *:first-child {\n margin-top: 0;\n}\n\n.printdown div.printdown-center > *:last-child,\n.printdown center > *:last-child {\n margin-bottom: 0;\n}\n\n.printdown span.printdown-center {\n display: inline-block;\n text-align: center;\n}\n\n.printdown .printdown-center img,\n.printdown center img {\n display: inline-block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.printdown .printdown-center table,\n.printdown center table {\n margin-left: auto;\n margin-right: auto;\n}\n`;\n","export const printCss = `/* Print and PDF Layout */\n@page {\n size: A4;\n margin: 20mm 18mm;\n}\n\n@media print {\n html,\n body {\n background-color: #ffffff;\n font-size: 15px;\n }\n\n .printdown {\n max-width: 100%;\n margin: 0;\n padding: 0;\n }\n\n /* Prevent awkward page breaks */\n .printdown h1,\n .printdown h2,\n .printdown h3,\n .printdown h4,\n .printdown h5,\n .printdown h6 {\n break-after: avoid;\n page-break-after: avoid;\n }\n\n .printdown pre.printdown-code,\n .printdown pre.shiki,\n .printdown blockquote,\n .printdown table,\n .printdown tr,\n .printdown img,\n .printdown .printdown-task-list-item {\n break-inside: avoid;\n page-break-inside: avoid;\n }\n\n .printdown p {\n orphans: 3;\n widows: 3;\n }\n\n .printdown .printdown-page-break {\n break-before: page;\n page-break-before: always;\n }\n}\n`;\n","import { fontsCss } from \"./fonts.js\";\nimport { variablesCss } from \"./variables.js\";\nimport { baseCss } from \"./base.js\";\nimport { typographyCss } from \"./typography.js\";\nimport { markdownCss } from \"./markdown.js\";\nimport { codeCss } from \"./code.js\";\nimport { highlightCss } from \"./highlight.js\";\nimport { badgeCss } from \"./badge.js\";\nimport { kbdCss } from \"./kbd.js\";\nimport { centerCss } from \"./center.js\";\nimport { printCss } from \"./print.js\";\n\nexport {\n fontsCss,\n variablesCss,\n baseCss,\n typographyCss,\n markdownCss,\n codeCss,\n highlightCss,\n badgeCss,\n kbdCss,\n centerCss,\n printCss,\n};\n\nexport const defaultThemeCssParts = {\n fonts: fontsCss,\n variables: variablesCss,\n base: baseCss,\n typography: typographyCss,\n markdown: markdownCss,\n code: codeCss,\n highlight: highlightCss,\n badge: badgeCss,\n kbd: kbdCss,\n center: centerCss,\n print: printCss,\n};\n\nexport const defaultThemeCss = [\n fontsCss,\n variablesCss,\n baseCss,\n typographyCss,\n markdownCss,\n codeCss,\n highlightCss,\n badgeCss,\n kbdCss,\n centerCss,\n printCss,\n].join(\"\\n\\n\");\n\nexport interface Theme {\n name: string;\n css: string;\n}\n\nexport const defaultTheme: Theme = {\n name: \"default\",\n css: defaultThemeCss,\n};\n"],"mappings":";AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,SAAS;AAEhB,SAAS,kBAAkB,WAA2B;AACpD,MAAI;AACF,UAAM,cAAc,YAAY,QAAQ,SAAS;AACjD,UAAM,WAAW,IAAI,cAAc,WAAW;AAC9C,QAAI,GAAG,WAAW,QAAQ,GAAG;AAC3B,aAAO,GAAG,aAAa,UAAU,OAAO;AAAA,IAC1C;AAAA,EACF,QAAQ;AAAA,EAER;AACA,SAAO;AACT;AAEO,SAAS,WAAW,WAA2B;AACpD,MAAI;AACF,UAAM,cAAc,YAAY,QAAQ,SAAS;AACjD,UAAM,WAAW,IAAI,cAAc,WAAW;AAC9C,WAAO,KAAK,QAAQ,QAAQ;AAAA,EAC9B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,mBAA2B;AAClC,QAAM,QAAkB,CAAC;AAGzB,QAAM,WAAW,kBAAkB,sCAAsC;AACzE,MAAI,UAAU;AACZ,UAAM,KAAK,SAAS,QAAQ,qBAAqB,0CAA0C,CAAC;AAAA,EAC9F;AAGA,QAAM,UAAU,kBAAkB,6CAA6C;AAC/E,MAAI,SAAS;AACX,UAAM;AAAA,MACJ,QAAQ,QAAQ,qBAAqB,iDAAiD;AAAA,IACxF;AAAA,EACF;AAGA,QAAM,QAAQ,kBAAkB,+CAA+C;AAC/E,MAAI,OAAO;AACT,UAAM;AAAA,MACJ,MAAM,QAAQ,qBAAqB,mDAAmD;AAAA,IACxF;AAAA,EACF;AAGA,QAAM,SAAS,kBAAkB,0BAA0B;AAC3D,QAAM,SAAS,kBAAkB,0BAA0B;AAC3D,QAAM,SAAS,kBAAkB,0BAA0B;AAC3D,MAAI,UAAU,UAAU,QAAQ;AAC9B,UAAM,SAAS,CAAC,QAAQ,QAAQ,MAAM,EACnC,KAAK,IAAI,EACT,QAAQ,sBAAsB,wDAAwD;AACzF,UAAM,KAAK,MAAM;AAAA,EACnB;AAGA,QAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,CAKZ;AAEC,QAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAaZ;AAEC,SAAO,MAAM,KAAK,MAAM;AAC1B;AAEO,IAAM,WAAW,iBAAiB;;;ACzFlC,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACArB,IAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAhB,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAtB,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACApB,IAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAhB,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACArB,IAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAjB,IAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAf,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAlB,IAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC0BjB,IAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AACT;AAEO,IAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,MAAM;AAON,IAAM,eAAsB;AAAA,EACjC,MAAM;AAAA,EACN,KAAK;AACP;","names":[]}
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
renderFile
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-FFA5GXRD.js";
|
|
5
|
+
import "./chunk-YBTWG5UP.js";
|
|
6
6
|
|
|
7
7
|
// src/cli.ts
|
|
8
8
|
import path from "path";
|
|
@@ -66,6 +66,6 @@ cli.command("<file>", "Render markdown file to PDF, PNG, JPEG, or WebP").option(
|
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
cli.help();
|
|
69
|
-
cli.version("1.
|
|
69
|
+
cli.version("1.1.0");
|
|
70
70
|
cli.parse();
|
|
71
71
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport path from \"node:path\";\nimport { cac } from \"cac\";\nimport { renderFile } from \"./index.js\";\nimport type { OutputFormat } from \"./types.js\";\n\nconst cli = cac(\"printdown\");\n\ncli\n .command(\"<file>\", \"Render markdown file to PDF, PNG, JPEG, or WebP\")\n .option(\"-o, --output <path>\", \"Output file path (e.g., output.pdf, output.png, output.webp)\")\n .option(\"-f, --format <format>\", \"Output format (pdf, png, jpeg, webp)\")\n .option(\"-c, --css <path>\", \"Path to custom CSS file or inline CSS string\")\n .option(\"-t, --theme <theme>\", \"Theme to use (default: 'default', 'false' to disable)\")\n .option(\"-p, --pages\", \"Export multiple page images matching PDF/A4 page size\", {\n default: false,\n })\n .option(\"-s, --scale <scale>\", \"Image resolution scale multiplier (e.g., 1, 2, 3)\", {\n default: undefined,\n })\n .option(\"--device-scale-factor <factor>\", \"Device scale factor for screenshots\", {\n default: undefined,\n })\n .option(\"--width <width>\", \"Viewport width in pixels\", { default: undefined })\n .option(\"--page-height <height>\", \"Page height in pixels for pages mode\", { default: undefined })\n .option(\"--margin-top <margin>\", \"Top margin in pixels for pages mode\", { default: undefined })\n .option(\"--margin-bottom <margin>\", \"Bottom margin in pixels for pages mode\", {\n default: undefined,\n })\n .option(\"--quality <quality>\", \"JPEG / WebP image quality (0-100)\", { default: 90 })\n .action(async (file: string, options) => {\n try {\n const inputPath = path.resolve(file);\n const ext = path.extname(inputPath);\n const baseName = path.basename(inputPath, ext);\n\n let format: OutputFormat | undefined = undefined;\n if (options.format) {\n const fmt = options.format.toLowerCase();\n if (fmt === \"pdf\" || fmt === \"png\" || fmt === \"jpeg\" || fmt === \"jpg\" || fmt === \"webp\") {\n format = fmt === \"jpg\" ? \"jpeg\" : (fmt as OutputFormat);\n } else {\n console.error(\n `Error: Unsupported format \"${options.format}\". Use pdf, png, jpeg, or webp.`,\n );\n process.exit(1);\n }\n }\n\n let outputPath = options.output;\n if (!outputPath) {\n const targetFormat = format || \"pdf\";\n outputPath = path.join(path.dirname(inputPath), `${baseName}.${targetFormat}`);\n }\n\n const themeOption =\n options.theme === \"false\" || options.theme === false ? false : options.theme || \"default\";\n\n const width = options.width ? Number(options.width) : undefined;\n const pageHeight = options.pageHeight ? Number(options.pageHeight) : undefined;\n const pageMarginTop = options.marginTop ? Number(options.marginTop) : undefined;\n const pageMarginBottom = options.marginBottom ? Number(options.marginBottom) : undefined;\n const quality = options.quality ? Number(options.quality) : 90;\n const scale = options.scale\n ? Number(options.scale)\n : options.deviceScaleFactor\n ? Number(options.deviceScaleFactor)\n : undefined;\n const pages = Boolean(options.pages);\n\n await renderFile(inputPath, {\n output: outputPath,\n format,\n theme: themeOption,\n css: options.css,\n width,\n pageHeight,\n pageMarginTop,\n pageMarginBottom,\n quality,\n scale,\n pages,\n });\n\n console.log(`Successfully generated: ${outputPath}`);\n } catch (err: unknown) {\n console.error(\"Error generating document:\", err instanceof Error ? err.message : err);\n process.exit(1);\n }\n });\n\ncli.help();\ncli.version(\"1.
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport path from \"node:path\";\nimport { cac } from \"cac\";\nimport { renderFile } from \"./index.js\";\nimport type { OutputFormat } from \"./types.js\";\n\nconst cli = cac(\"printdown\");\n\ncli\n .command(\"<file>\", \"Render markdown file to PDF, PNG, JPEG, or WebP\")\n .option(\"-o, --output <path>\", \"Output file path (e.g., output.pdf, output.png, output.webp)\")\n .option(\"-f, --format <format>\", \"Output format (pdf, png, jpeg, webp)\")\n .option(\"-c, --css <path>\", \"Path to custom CSS file or inline CSS string\")\n .option(\"-t, --theme <theme>\", \"Theme to use (default: 'default', 'false' to disable)\")\n .option(\"-p, --pages\", \"Export multiple page images matching PDF/A4 page size\", {\n default: false,\n })\n .option(\"-s, --scale <scale>\", \"Image resolution scale multiplier (e.g., 1, 2, 3)\", {\n default: undefined,\n })\n .option(\"--device-scale-factor <factor>\", \"Device scale factor for screenshots\", {\n default: undefined,\n })\n .option(\"--width <width>\", \"Viewport width in pixels\", { default: undefined })\n .option(\"--page-height <height>\", \"Page height in pixels for pages mode\", { default: undefined })\n .option(\"--margin-top <margin>\", \"Top margin in pixels for pages mode\", { default: undefined })\n .option(\"--margin-bottom <margin>\", \"Bottom margin in pixels for pages mode\", {\n default: undefined,\n })\n .option(\"--quality <quality>\", \"JPEG / WebP image quality (0-100)\", { default: 90 })\n .action(async (file: string, options) => {\n try {\n const inputPath = path.resolve(file);\n const ext = path.extname(inputPath);\n const baseName = path.basename(inputPath, ext);\n\n let format: OutputFormat | undefined = undefined;\n if (options.format) {\n const fmt = options.format.toLowerCase();\n if (fmt === \"pdf\" || fmt === \"png\" || fmt === \"jpeg\" || fmt === \"jpg\" || fmt === \"webp\") {\n format = fmt === \"jpg\" ? \"jpeg\" : (fmt as OutputFormat);\n } else {\n console.error(\n `Error: Unsupported format \"${options.format}\". Use pdf, png, jpeg, or webp.`,\n );\n process.exit(1);\n }\n }\n\n let outputPath = options.output;\n if (!outputPath) {\n const targetFormat = format || \"pdf\";\n outputPath = path.join(path.dirname(inputPath), `${baseName}.${targetFormat}`);\n }\n\n const themeOption =\n options.theme === \"false\" || options.theme === false ? false : options.theme || \"default\";\n\n const width = options.width ? Number(options.width) : undefined;\n const pageHeight = options.pageHeight ? Number(options.pageHeight) : undefined;\n const pageMarginTop = options.marginTop ? Number(options.marginTop) : undefined;\n const pageMarginBottom = options.marginBottom ? Number(options.marginBottom) : undefined;\n const quality = options.quality ? Number(options.quality) : 90;\n const scale = options.scale\n ? Number(options.scale)\n : options.deviceScaleFactor\n ? Number(options.deviceScaleFactor)\n : undefined;\n const pages = Boolean(options.pages);\n\n await renderFile(inputPath, {\n output: outputPath,\n format,\n theme: themeOption,\n css: options.css,\n width,\n pageHeight,\n pageMarginTop,\n pageMarginBottom,\n quality,\n scale,\n pages,\n });\n\n console.log(`Successfully generated: ${outputPath}`);\n } catch (err: unknown) {\n console.error(\"Error generating document:\", err instanceof Error ? err.message : err);\n process.exit(1);\n }\n });\n\ncli.help();\ncli.version(\"1.1.0\");\n\ncli.parse();\n"],"mappings":";;;;;;;AACA,OAAO,UAAU;AACjB,SAAS,WAAW;AAIpB,IAAM,MAAM,IAAI,WAAW;AAE3B,IACG,QAAQ,UAAU,iDAAiD,EACnE,OAAO,uBAAuB,8DAA8D,EAC5F,OAAO,yBAAyB,sCAAsC,EACtE,OAAO,oBAAoB,8CAA8C,EACzE,OAAO,uBAAuB,uDAAuD,EACrF,OAAO,eAAe,yDAAyD;AAAA,EAC9E,SAAS;AACX,CAAC,EACA,OAAO,uBAAuB,qDAAqD;AAAA,EAClF,SAAS;AACX,CAAC,EACA,OAAO,kCAAkC,uCAAuC;AAAA,EAC/E,SAAS;AACX,CAAC,EACA,OAAO,mBAAmB,4BAA4B,EAAE,SAAS,OAAU,CAAC,EAC5E,OAAO,0BAA0B,wCAAwC,EAAE,SAAS,OAAU,CAAC,EAC/F,OAAO,yBAAyB,uCAAuC,EAAE,SAAS,OAAU,CAAC,EAC7F,OAAO,4BAA4B,0CAA0C;AAAA,EAC5E,SAAS;AACX,CAAC,EACA,OAAO,uBAAuB,qCAAqC,EAAE,SAAS,GAAG,CAAC,EAClF,OAAO,OAAO,MAAc,YAAY;AACvC,MAAI;AACF,UAAM,YAAY,KAAK,QAAQ,IAAI;AACnC,UAAM,MAAM,KAAK,QAAQ,SAAS;AAClC,UAAM,WAAW,KAAK,SAAS,WAAW,GAAG;AAE7C,QAAI,SAAmC;AACvC,QAAI,QAAQ,QAAQ;AAClB,YAAM,MAAM,QAAQ,OAAO,YAAY;AACvC,UAAI,QAAQ,SAAS,QAAQ,SAAS,QAAQ,UAAU,QAAQ,SAAS,QAAQ,QAAQ;AACvF,iBAAS,QAAQ,QAAQ,SAAU;AAAA,MACrC,OAAO;AACL,gBAAQ;AAAA,UACN,8BAA8B,QAAQ,MAAM;AAAA,QAC9C;AACA,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF;AAEA,QAAI,aAAa,QAAQ;AACzB,QAAI,CAAC,YAAY;AACf,YAAM,eAAe,UAAU;AAC/B,mBAAa,KAAK,KAAK,KAAK,QAAQ,SAAS,GAAG,GAAG,QAAQ,IAAI,YAAY,EAAE;AAAA,IAC/E;AAEA,UAAM,cACJ,QAAQ,UAAU,WAAW,QAAQ,UAAU,QAAQ,QAAQ,QAAQ,SAAS;AAElF,UAAM,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,KAAK,IAAI;AACtD,UAAM,aAAa,QAAQ,aAAa,OAAO,QAAQ,UAAU,IAAI;AACrE,UAAM,gBAAgB,QAAQ,YAAY,OAAO,QAAQ,SAAS,IAAI;AACtE,UAAM,mBAAmB,QAAQ,eAAe,OAAO,QAAQ,YAAY,IAAI;AAC/E,UAAM,UAAU,QAAQ,UAAU,OAAO,QAAQ,OAAO,IAAI;AAC5D,UAAM,QAAQ,QAAQ,QAClB,OAAO,QAAQ,KAAK,IACpB,QAAQ,oBACN,OAAO,QAAQ,iBAAiB,IAChC;AACN,UAAM,QAAQ,QAAQ,QAAQ,KAAK;AAEnC,UAAM,WAAW,WAAW;AAAA,MAC1B,QAAQ;AAAA,MACR;AAAA,MACA,OAAO;AAAA,MACP,KAAK,QAAQ;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,YAAQ,IAAI,2BAA2B,UAAU,EAAE;AAAA,EACrD,SAAS,KAAc;AACrB,YAAQ,MAAM,8BAA8B,eAAe,QAAQ,IAAI,UAAU,GAAG;AACpF,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF,CAAC;AAEH,IAAI,KAAK;AACT,IAAI,QAAQ,OAAO;AAEnB,IAAI,MAAM;","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
renderHtmlToPageBuffers,
|
|
8
8
|
renderPages,
|
|
9
9
|
renderToHtml
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-FFA5GXRD.js";
|
|
11
11
|
import {
|
|
12
12
|
defaultTheme,
|
|
13
13
|
defaultThemeCss,
|
|
14
14
|
defaultThemeCssParts
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YBTWG5UP.js";
|
|
16
16
|
export {
|
|
17
17
|
BrowserRenderer,
|
|
18
18
|
createMarkdownRenderer,
|
|
@@ -4,7 +4,7 @@ declare const variablesCss = ":root {\n /* Primary brand color - Deep Blue */\n
|
|
|
4
4
|
|
|
5
5
|
declare const baseCss = "*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-size: 16px;\n}\n\nbody {\n margin: 0;\n padding: 0;\n background-color: var(--printdown-bg);\n color: var(--printdown-text);\n font-family: var(--printdown-font-sans);\n font-size: var(--printdown-text-base);\n font-weight: var(--printdown-font-weight-normal);\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown {\n font-family: var(--printdown-font-sans);\n color: var(--printdown-text);\n font-size: var(--printdown-text-base);\n font-weight: var(--printdown-font-weight-normal);\n line-height: var(--printdown-leading-relaxed);\n max-width: 820px;\n margin: 0 auto;\n padding: 2.5rem 2rem;\n background-color: var(--printdown-bg);\n}\n";
|
|
6
6
|
|
|
7
|
-
declare const typographyCss = ".printdown h1,\n.printdown h2,\n.printdown h3,\n.printdown h4,\n.printdown h5,\n.printdown h6 {\n color: var(--printdown-text-strong);\n margin-top: 2rem;\n margin-bottom: 0.75rem;\n font-weight: var(--printdown-font-weight-bold);\n line-height: var(--printdown-leading-tight);\n}\n\n.printdown h1:first-child,\n.printdown h2:first-child,\n.printdown h3:first-child {\n margin-top: 0;\n}\n\n.printdown h1 {\n font-size: var(--printdown-text-3xl);\n font-weight: var(--printdown-font-weight-bold);\n letter-spacing: -0.025em;\n margin-top: 2.25rem;\n margin-bottom: 1rem;\n padding-bottom: 0.5rem;\n border-bottom: 1px solid var(--printdown-border-light);\n}\n\n.printdown h2 {\n font-size: var(--printdown-text-2xl);\n font-weight: var(--printdown-font-weight-bold);\n letter-spacing: -0.015em;\n margin-top: 2rem;\n margin-bottom: 0.75rem;\n}\n\n.printdown h3 {\n font-size: var(--printdown-text-xl);\n font-weight: var(--printdown-font-weight-semibold);\n letter-spacing: -0.01em;\n margin-top: 1.5rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h4 {\n font-size: var(--printdown-text-lg);\n font-weight: var(--printdown-font-weight-semibold);\n margin-top: 1.25rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h5 {\n font-size: var(--printdown-text-base);\n font-weight: var(--printdown-font-weight-semibold);\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h6 {\n font-size: var(--printdown-text-sm);\n font-weight: var(--printdown-font-weight-semibold);\n color: var(--printdown-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown p {\n margin-top: 0;\n margin-bottom: 1rem;\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown p:last-child {\n margin-bottom: 0;\n}\n\n.printdown strong,\n.printdown b {\n font-weight: var(--printdown-font-weight-bold);\n color: var(--printdown-text-strong);\n}\n\n.printdown em,\n.printdown i {\n font-style: italic;\n}\n\n.printdown del,\n.printdown s {\n text-decoration: line-through;\n color: var(--printdown-text-muted);\n}\n\n.printdown small {\n font-size: var(--printdown-text-sm);\n color: var(--printdown-text-muted);\n}\n\n.printdown a {\n color: var(--printdown-primary);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 2.5px;\n}\n\n.printdown hr {\n border: 0;\n border-top: 1px solid var(--printdown-border);\n margin: 2rem 0;\n}\n";
|
|
7
|
+
declare const typographyCss = ".printdown h1,\n.printdown h2,\n.printdown h3,\n.printdown h4,\n.printdown h5,\n.printdown h6 {\n color: var(--printdown-text-strong);\n margin-top: 2rem;\n margin-bottom: 0.75rem;\n font-weight: var(--printdown-font-weight-bold);\n line-height: var(--printdown-leading-tight);\n}\n\n.printdown h1:first-child,\n.printdown h2:first-child,\n.printdown h3:first-child {\n margin-top: 0;\n}\n\n.printdown h1 {\n font-size: var(--printdown-text-3xl);\n font-weight: var(--printdown-font-weight-bold);\n letter-spacing: -0.025em;\n margin-top: 2.25rem;\n margin-bottom: 1rem;\n padding-bottom: 0.5rem;\n border-bottom: 1px solid var(--printdown-border-light);\n}\n\n.printdown h1.printdown-no-border,\n.printdown h1.printdown-no-underline,\n.printdown h1.no-border,\n.printdown h1.no-underline,\n.printdown h1.plain,\n.printdown h1[no-border],\n.printdown h1[no-underline],\n.printdown h2.printdown-no-border,\n.printdown h2.printdown-no-underline,\n.printdown h2.no-border,\n.printdown h2.no-underline,\n.printdown h2.plain,\n.printdown h2[no-border],\n.printdown h2[no-underline],\n.printdown h3.printdown-no-border,\n.printdown h3.printdown-no-underline,\n.printdown h3.no-border,\n.printdown h3.no-underline,\n.printdown h3.plain,\n.printdown h3[no-border],\n.printdown h3[no-underline],\n.printdown h4.printdown-no-border,\n.printdown h4.printdown-no-underline,\n.printdown h4.no-border,\n.printdown h4.no-underline,\n.printdown h4.plain,\n.printdown h4[no-border],\n.printdown h4[no-underline],\n.printdown h5.printdown-no-border,\n.printdown h5.printdown-no-underline,\n.printdown h5.no-border,\n.printdown h5.no-underline,\n.printdown h5.plain,\n.printdown h5[no-border],\n.printdown h5[no-underline],\n.printdown h6.printdown-no-border,\n.printdown h6.printdown-no-underline,\n.printdown h6.no-border,\n.printdown h6.no-underline,\n.printdown h6.plain,\n.printdown h6[no-border],\n.printdown h6[no-underline],\n.printdown .printdown-no-border,\n.printdown .printdown-no-underline,\n.printdown .no-border,\n.printdown .no-underline {\n border-bottom: none !important;\n padding-bottom: 0 !important;\n}\n\n.printdown h2 {\n font-size: var(--printdown-text-2xl);\n font-weight: var(--printdown-font-weight-bold);\n letter-spacing: -0.015em;\n margin-top: 2rem;\n margin-bottom: 0.75rem;\n}\n\n.printdown h3 {\n font-size: var(--printdown-text-xl);\n font-weight: var(--printdown-font-weight-semibold);\n letter-spacing: -0.01em;\n margin-top: 1.5rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h4 {\n font-size: var(--printdown-text-lg);\n font-weight: var(--printdown-font-weight-semibold);\n margin-top: 1.25rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h5 {\n font-size: var(--printdown-text-base);\n font-weight: var(--printdown-font-weight-semibold);\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown h6 {\n font-size: var(--printdown-text-sm);\n font-weight: var(--printdown-font-weight-semibold);\n color: var(--printdown-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-top: 1rem;\n margin-bottom: 0.5rem;\n}\n\n.printdown p {\n margin-top: 0;\n margin-bottom: 1rem;\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown p:last-child {\n margin-bottom: 0;\n}\n\n.printdown strong,\n.printdown b {\n font-weight: var(--printdown-font-weight-bold);\n color: var(--printdown-text-strong);\n}\n\n.printdown em,\n.printdown i {\n font-style: italic;\n}\n\n.printdown del,\n.printdown s {\n text-decoration: line-through;\n color: var(--printdown-text-muted);\n}\n\n.printdown small {\n font-size: var(--printdown-text-sm);\n color: var(--printdown-text-muted);\n}\n\n.printdown a {\n color: var(--printdown-primary);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 2.5px;\n}\n\n.printdown hr {\n border: 0;\n border-top: 1px solid var(--printdown-border);\n margin: 2rem 0;\n}\n";
|
|
8
8
|
|
|
9
9
|
declare const markdownCss = "/* Lists */\n.printdown ul,\n.printdown ol {\n padding-left: 1.5rem;\n margin-top: 0.5rem;\n margin-bottom: 1rem;\n}\n\n.printdown ul {\n list-style-type: disc;\n}\n\n.printdown ol {\n list-style-type: decimal;\n}\n\n.printdown li {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown li > ul,\n.printdown li > ol {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n/* Task Lists */\n.printdown ul.printdown-task-list {\n list-style: none;\n padding-left: 0;\n}\n\n.printdown .printdown-task-list-item {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n margin-top: 0.35rem;\n margin-bottom: 0.35rem;\n}\n\n.printdown .printdown-task-list-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 1.05em;\n height: 1.05em;\n margin-top: 0.3em;\n flex-shrink: 0;\n border-radius: 2px;\n border: 1.5px solid var(--printdown-neutral-400);\n background-color: transparent;\n position: relative;\n cursor: default;\n}\n\n.printdown .printdown-task-list-checkbox:checked {\n background-color: var(--printdown-blue-900);\n border-color: var(--printdown-blue-900);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n background-size: 80% 80%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n/* Blockquote */\n.printdown blockquote {\n position: relative;\n margin: 1.25rem 0;\n padding: 0.25rem 0 0.25rem 1rem;\n border-left: 3px solid var(--printdown-primary);\n background: transparent;\n color: var(--printdown-neutral-700);\n font-size: var(--printdown-text-base);\n line-height: var(--printdown-leading-relaxed);\n}\n\n.printdown blockquote > *:first-child {\n margin-top: 0;\n}\n\n.printdown blockquote > *:last-child {\n margin-bottom: 0;\n}\n\n/* Tables */\n.printdown table {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n font-size: var(--printdown-text-sm);\n line-height: var(--printdown-leading-normal);\n}\n\n.printdown th,\n.printdown td {\n padding: 0.625rem 0.75rem;\n text-align: left;\n vertical-align: top;\n}\n\n.printdown th {\n font-weight: var(--printdown-font-weight-semibold);\n color: var(--printdown-text-strong);\n border-bottom: 2px solid var(--printdown-gray-300);\n}\n\n.printdown td {\n border-bottom: 1px solid var(--printdown-gray-200);\n color: var(--printdown-text);\n}\n\n.printdown tr:last-child td {\n border-bottom: 1px solid var(--printdown-gray-200);\n}\n\n/* Images */\n.printdown img {\n max-width: 100%;\n height: auto;\n display: block;\n margin: 1.25rem auto;\n border-radius: 4px;\n}\n";
|
|
10
10
|
|
|
@@ -16,6 +16,8 @@ declare const badgeCss = "/* Badges */\n.printdown .printdown-badge,\n.printdown
|
|
|
16
16
|
|
|
17
17
|
declare const kbdCss = "/* Keyboard Key (Kbd) */\n.printdown kbd,\n.printdown .printdown-kbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 1.5em;\n height: 1.6em;\n padding: 0 0.45em 2px; /* Compensate for 2px bottom shadow to center on key surface */\n margin: 0 0.25em;\n border-radius: 4px;\n background-color: var(--printdown-neutral-50);\n color: var(--printdown-blue-900);\n font-family: var(--printdown-font-sans);\n font-size: 0.8em;\n font-weight: var(--printdown-font-weight-semibold);\n line-height: 1;\n text-align: center;\n vertical-align: middle;\n white-space: nowrap;\n box-sizing: border-box;\n border: 1px solid var(--printdown-gray-300);\n box-shadow: inset 0 -2px 0 0 var(--printdown-gray-200), 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n\n/* Headings adjustment */\n.printdown h1 kbd,\n.printdown h1 .printdown-kbd,\n.printdown h2 kbd,\n.printdown h2 .printdown-kbd,\n.printdown h3 kbd,\n.printdown h3 .printdown-kbd {\n font-size: 0.6em;\n height: 1.6em;\n vertical-align: middle;\n}\n\n/* Kbd Icons */\n.printdown .printdown-kbd-icon {\n display: inline-block;\n width: 1.1em;\n height: 1.1em;\n background-color: currentColor;\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n}\n\n.printdown .printdown-kbd-icon + span,\n.printdown .printdown-kbd-icon + text {\n margin-left: 0.25em;\n}\n\n/* Command Icon */\n.printdown .printdown-kbd-icon--command,\n.printdown .printdown-kbd-icon--cmd {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3z'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3z'/%3E%3C/svg%3E\");\n}\n\n/* Arrow Icons */\n.printdown .printdown-kbd-icon--arrow-up,\n.printdown .printdown-kbd-icon--up {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7'/%3E%3Cpath d='M12 19V5'/%3E%3C/svg%3E\");\n}\n\n.printdown .printdown-kbd-icon--arrow-down,\n.printdown .printdown-kbd-icon--down {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E\");\n}\n\n.printdown .printdown-kbd-icon--arrow-left,\n.printdown .printdown-kbd-icon--left {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E\");\n}\n\n.printdown .printdown-kbd-icon--arrow-right,\n.printdown .printdown-kbd-icon--right {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E\");\n}\n\n/* Option / Alt Icon */\n.printdown .printdown-kbd-icon--option,\n.printdown .printdown-kbd-icon--alt {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h6l6 18h6'/%3E%3Cpath d='M14 3h7'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h6l6 18h6'/%3E%3Cpath d='M14 3h7'/%3E%3C/svg%3E\");\n}\n\n/* Shift Icon */\n.printdown .printdown-kbd-icon--shift {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-8 8h5v10h6V11h5z'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-8 8h5v10h6V11h5z'/%3E%3C/svg%3E\");\n}\n\n/* Enter Icon */\n.printdown .printdown-kbd-icon--enter,\n.printdown .printdown-kbd-icon--return {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 10 4 15 9 20'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 10 4 15 9 20'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E\");\n}\n";
|
|
18
18
|
|
|
19
|
+
declare const centerCss = "/* Center Alignment */\n.printdown center,\n.printdown .printdown-center,\n.printdown .text-center,\n.printdown [align=\"center\"] {\n text-align: center;\n}\n\n.printdown div.printdown-center,\n.printdown center {\n display: block;\n text-align: center;\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\n.printdown div.printdown-center > *:first-child,\n.printdown center > *:first-child {\n margin-top: 0;\n}\n\n.printdown div.printdown-center > *:last-child,\n.printdown center > *:last-child {\n margin-bottom: 0;\n}\n\n.printdown span.printdown-center {\n display: inline-block;\n text-align: center;\n}\n\n.printdown .printdown-center img,\n.printdown center img {\n display: inline-block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.printdown .printdown-center table,\n.printdown center table {\n margin-left: auto;\n margin-right: auto;\n}\n";
|
|
20
|
+
|
|
19
21
|
declare const printCss = "/* Print and PDF Layout */\n@page {\n size: A4;\n margin: 20mm 18mm;\n}\n\n@media print {\n html,\n body {\n background-color: #ffffff;\n font-size: 15px;\n }\n\n .printdown {\n max-width: 100%;\n margin: 0;\n padding: 0;\n }\n\n /* Prevent awkward page breaks */\n .printdown h1,\n .printdown h2,\n .printdown h3,\n .printdown h4,\n .printdown h5,\n .printdown h6 {\n break-after: avoid;\n page-break-after: avoid;\n }\n\n .printdown pre.printdown-code,\n .printdown pre.shiki,\n .printdown blockquote,\n .printdown table,\n .printdown tr,\n .printdown img,\n .printdown .printdown-task-list-item {\n break-inside: avoid;\n page-break-inside: avoid;\n }\n\n .printdown p {\n orphans: 3;\n widows: 3;\n }\n\n .printdown .printdown-page-break {\n break-before: page;\n page-break-before: always;\n }\n}\n";
|
|
20
22
|
|
|
21
23
|
declare const defaultThemeCssParts: {
|
|
@@ -28,6 +30,7 @@ declare const defaultThemeCssParts: {
|
|
|
28
30
|
highlight: string;
|
|
29
31
|
badge: string;
|
|
30
32
|
kbd: string;
|
|
33
|
+
center: string;
|
|
31
34
|
print: string;
|
|
32
35
|
};
|
|
33
36
|
declare const defaultThemeCss: string;
|
|
@@ -37,4 +40,4 @@ interface Theme {
|
|
|
37
40
|
}
|
|
38
41
|
declare const defaultTheme: Theme;
|
|
39
42
|
|
|
40
|
-
export { type Theme, badgeCss, baseCss, codeCss, defaultTheme, defaultThemeCss, defaultThemeCssParts, fontsCss, highlightCss, kbdCss, markdownCss, printCss, typographyCss, variablesCss };
|
|
43
|
+
export { type Theme, badgeCss, baseCss, centerCss, codeCss, defaultTheme, defaultThemeCss, defaultThemeCssParts, fontsCss, highlightCss, kbdCss, markdownCss, printCss, typographyCss, variablesCss };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
badgeCss,
|
|
3
3
|
baseCss,
|
|
4
|
+
centerCss,
|
|
4
5
|
codeCss,
|
|
5
6
|
defaultTheme,
|
|
6
7
|
defaultThemeCss,
|
|
@@ -12,10 +13,11 @@ import {
|
|
|
12
13
|
printCss,
|
|
13
14
|
typographyCss,
|
|
14
15
|
variablesCss
|
|
15
|
-
} from "../../chunk-
|
|
16
|
+
} from "../../chunk-YBTWG5UP.js";
|
|
16
17
|
export {
|
|
17
18
|
badgeCss,
|
|
18
19
|
baseCss,
|
|
20
|
+
centerCss,
|
|
19
21
|
codeCss,
|
|
20
22
|
defaultTheme,
|
|
21
23
|
defaultThemeCss,
|
|
@@ -1561,6 +1561,56 @@ body {
|
|
|
1561
1561
|
border-bottom: 1px solid var(--printdown-border-light);
|
|
1562
1562
|
}
|
|
1563
1563
|
|
|
1564
|
+
.printdown h1.printdown-no-border,
|
|
1565
|
+
.printdown h1.printdown-no-underline,
|
|
1566
|
+
.printdown h1.no-border,
|
|
1567
|
+
.printdown h1.no-underline,
|
|
1568
|
+
.printdown h1.plain,
|
|
1569
|
+
.printdown h1[no-border],
|
|
1570
|
+
.printdown h1[no-underline],
|
|
1571
|
+
.printdown h2.printdown-no-border,
|
|
1572
|
+
.printdown h2.printdown-no-underline,
|
|
1573
|
+
.printdown h2.no-border,
|
|
1574
|
+
.printdown h2.no-underline,
|
|
1575
|
+
.printdown h2.plain,
|
|
1576
|
+
.printdown h2[no-border],
|
|
1577
|
+
.printdown h2[no-underline],
|
|
1578
|
+
.printdown h3.printdown-no-border,
|
|
1579
|
+
.printdown h3.printdown-no-underline,
|
|
1580
|
+
.printdown h3.no-border,
|
|
1581
|
+
.printdown h3.no-underline,
|
|
1582
|
+
.printdown h3.plain,
|
|
1583
|
+
.printdown h3[no-border],
|
|
1584
|
+
.printdown h3[no-underline],
|
|
1585
|
+
.printdown h4.printdown-no-border,
|
|
1586
|
+
.printdown h4.printdown-no-underline,
|
|
1587
|
+
.printdown h4.no-border,
|
|
1588
|
+
.printdown h4.no-underline,
|
|
1589
|
+
.printdown h4.plain,
|
|
1590
|
+
.printdown h4[no-border],
|
|
1591
|
+
.printdown h4[no-underline],
|
|
1592
|
+
.printdown h5.printdown-no-border,
|
|
1593
|
+
.printdown h5.printdown-no-underline,
|
|
1594
|
+
.printdown h5.no-border,
|
|
1595
|
+
.printdown h5.no-underline,
|
|
1596
|
+
.printdown h5.plain,
|
|
1597
|
+
.printdown h5[no-border],
|
|
1598
|
+
.printdown h5[no-underline],
|
|
1599
|
+
.printdown h6.printdown-no-border,
|
|
1600
|
+
.printdown h6.printdown-no-underline,
|
|
1601
|
+
.printdown h6.no-border,
|
|
1602
|
+
.printdown h6.no-underline,
|
|
1603
|
+
.printdown h6.plain,
|
|
1604
|
+
.printdown h6[no-border],
|
|
1605
|
+
.printdown h6[no-underline],
|
|
1606
|
+
.printdown .printdown-no-border,
|
|
1607
|
+
.printdown .printdown-no-underline,
|
|
1608
|
+
.printdown .no-border,
|
|
1609
|
+
.printdown .no-underline {
|
|
1610
|
+
border-bottom: none !important;
|
|
1611
|
+
padding-bottom: 0 !important;
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1564
1614
|
.printdown h2 {
|
|
1565
1615
|
font-size: var(--printdown-text-2xl);
|
|
1566
1616
|
font-weight: var(--printdown-font-weight-bold);
|
|
@@ -2080,6 +2130,51 @@ body {
|
|
|
2080
2130
|
}
|
|
2081
2131
|
|
|
2082
2132
|
|
|
2133
|
+
/* Center Alignment */
|
|
2134
|
+
.printdown center,
|
|
2135
|
+
.printdown .printdown-center,
|
|
2136
|
+
.printdown .text-center,
|
|
2137
|
+
.printdown [align="center"] {
|
|
2138
|
+
text-align: center;
|
|
2139
|
+
}
|
|
2140
|
+
|
|
2141
|
+
.printdown div.printdown-center,
|
|
2142
|
+
.printdown center {
|
|
2143
|
+
display: block;
|
|
2144
|
+
text-align: center;
|
|
2145
|
+
margin-top: 0;
|
|
2146
|
+
margin-bottom: 1rem;
|
|
2147
|
+
}
|
|
2148
|
+
|
|
2149
|
+
.printdown div.printdown-center > *:first-child,
|
|
2150
|
+
.printdown center > *:first-child {
|
|
2151
|
+
margin-top: 0;
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
.printdown div.printdown-center > *:last-child,
|
|
2155
|
+
.printdown center > *:last-child {
|
|
2156
|
+
margin-bottom: 0;
|
|
2157
|
+
}
|
|
2158
|
+
|
|
2159
|
+
.printdown span.printdown-center {
|
|
2160
|
+
display: inline-block;
|
|
2161
|
+
text-align: center;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
.printdown .printdown-center img,
|
|
2165
|
+
.printdown center img {
|
|
2166
|
+
display: inline-block;
|
|
2167
|
+
margin-left: auto;
|
|
2168
|
+
margin-right: auto;
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
.printdown .printdown-center table,
|
|
2172
|
+
.printdown center table {
|
|
2173
|
+
margin-left: auto;
|
|
2174
|
+
margin-right: auto;
|
|
2175
|
+
}
|
|
2176
|
+
|
|
2177
|
+
|
|
2083
2178
|
/* Print and PDF Layout */
|
|
2084
2179
|
@page {
|
|
2085
2180
|
size: A4;
|