@liustack/pagepress 0.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.
@@ -0,0 +1,316 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>{{title}}</title>
8
+ <style>
9
+ /* ===== GitHub Markdown Style ===== */
10
+ :root {
11
+ --color-fg-default: #1f2328;
12
+ --color-fg-muted: #636c76;
13
+ --color-canvas-default: #ffffff;
14
+ --color-canvas-subtle: #f6f8fa;
15
+ --color-border-default: #d0d7de;
16
+ --color-border-muted: #d8dee4;
17
+ --color-accent-fg: #0969da;
18
+ }
19
+
20
+ @page {
21
+ size: A4;
22
+ margin: 18mm 20mm;
23
+ }
24
+
25
+ * {
26
+ box-sizing: border-box;
27
+ }
28
+
29
+ body {
30
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
31
+ font-size: 16px;
32
+ line-height: 1.8;
33
+ color: var(--color-fg-default);
34
+ background: var(--color-canvas-default);
35
+ margin: 0;
36
+ -webkit-print-color-adjust: exact;
37
+ print-color-adjust: exact;
38
+ }
39
+
40
+ .document {
41
+ max-width: 860px;
42
+ margin: 0 auto;
43
+ padding: 72px 64px 100px;
44
+ }
45
+
46
+ /* Headings */
47
+ h1,
48
+ h2,
49
+ h3,
50
+ h4,
51
+ h5,
52
+ h6 {
53
+ margin-top: 32px;
54
+ margin-bottom: 18px;
55
+ font-weight: 600;
56
+ line-height: 1.25;
57
+ }
58
+
59
+ h1 {
60
+ font-size: 2em;
61
+ padding-bottom: 0.3em;
62
+ border-bottom: 1px solid var(--color-border-muted);
63
+ }
64
+
65
+ h2 {
66
+ font-size: 1.5em;
67
+ padding-bottom: 0.3em;
68
+ border-bottom: 1px solid var(--color-border-muted);
69
+ }
70
+
71
+ h3 {
72
+ font-size: 1.25em;
73
+ }
74
+
75
+ h4 {
76
+ font-size: 1em;
77
+ }
78
+
79
+ /* Paragraph */
80
+ p {
81
+ margin-top: 0;
82
+ margin-bottom: 20px;
83
+ }
84
+
85
+ /* Links */
86
+ a {
87
+ color: var(--color-accent-fg);
88
+ text-decoration: none;
89
+ }
90
+
91
+ a:hover {
92
+ text-decoration: underline;
93
+ }
94
+
95
+ /* Lists */
96
+ ul,
97
+ ol {
98
+ margin-top: 0;
99
+ margin-bottom: 16px;
100
+ padding-left: 2em;
101
+ }
102
+
103
+ li {
104
+ margin-top: 0.25em;
105
+ }
106
+
107
+ li+li {
108
+ margin-top: 0.25em;
109
+ }
110
+
111
+ /* Code */
112
+ code {
113
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
114
+ font-size: 85%;
115
+ background: var(--color-canvas-subtle);
116
+ padding: 0.2em 0.4em;
117
+ border-radius: 6px;
118
+ }
119
+
120
+ pre {
121
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
122
+ font-size: 85%;
123
+ line-height: 1.45;
124
+ background: var(--color-canvas-subtle);
125
+ border-radius: 6px;
126
+ padding: 16px;
127
+ overflow: auto;
128
+ margin: 0 0 16px;
129
+ }
130
+
131
+ pre code {
132
+ background: transparent;
133
+ padding: 0;
134
+ font-size: 100%;
135
+ }
136
+
137
+ /* Syntax Highlighting */
138
+ pre .comment,
139
+ pre .c,
140
+ pre .ch,
141
+ pre .cm,
142
+ pre .c1,
143
+ pre .cs {
144
+ color: #6e7781;
145
+ font-style: italic;
146
+ }
147
+
148
+ pre .keyword,
149
+ pre .k,
150
+ pre .kc,
151
+ pre .kd,
152
+ pre .kn,
153
+ pre .kp,
154
+ pre .kr,
155
+ pre .kt {
156
+ color: #cf222e;
157
+ font-weight: 600;
158
+ }
159
+
160
+ pre .string,
161
+ pre .s,
162
+ pre .s1,
163
+ pre .s2,
164
+ pre .sa,
165
+ pre .sb,
166
+ pre .sc,
167
+ pre .sd,
168
+ pre .se,
169
+ pre .sh,
170
+ pre .si,
171
+ pre .sr,
172
+ pre .ss,
173
+ pre .sx {
174
+ color: #0a3069;
175
+ }
176
+
177
+ pre .function,
178
+ pre .nf,
179
+ pre .fm {
180
+ color: #8250df;
181
+ }
182
+
183
+ pre .number,
184
+ pre .mi,
185
+ pre .mf,
186
+ pre .mh,
187
+ pre .mo,
188
+ pre .mb,
189
+ pre .il {
190
+ color: #0550ae;
191
+ }
192
+
193
+ pre .class,
194
+ pre .nc,
195
+ pre .nd,
196
+ pre .ne {
197
+ color: #953800;
198
+ }
199
+
200
+ pre .operator,
201
+ pre .o,
202
+ pre .ow {
203
+ color: #cf222e;
204
+ }
205
+
206
+ pre .builtin,
207
+ pre .bp {
208
+ color: #0550ae;
209
+ }
210
+
211
+ pre .decorator,
212
+ pre .at {
213
+ color: #953800;
214
+ }
215
+
216
+ /* Blockquote */
217
+ blockquote {
218
+ margin: 0 0 16px;
219
+ padding: 0 1em;
220
+ color: var(--color-fg-muted);
221
+ border-left: 0.25em solid var(--color-border-default);
222
+ }
223
+
224
+ blockquote> :first-child {
225
+ margin-top: 0;
226
+ }
227
+
228
+ blockquote> :last-child {
229
+ margin-bottom: 0;
230
+ }
231
+
232
+ /* Table */
233
+ table {
234
+ width: 100%;
235
+ border-spacing: 0;
236
+ border-collapse: collapse;
237
+ margin-bottom: 16px;
238
+ }
239
+
240
+ th,
241
+ td {
242
+ padding: 6px 13px;
243
+ border: 1px solid var(--color-border-default);
244
+ }
245
+
246
+ th {
247
+ font-weight: 600;
248
+ background: var(--color-canvas-subtle);
249
+ }
250
+
251
+ tr:nth-child(2n) {
252
+ background: var(--color-canvas-subtle);
253
+ }
254
+
255
+ /* Divider */
256
+ hr {
257
+ height: 0.25em;
258
+ padding: 0;
259
+ margin: 24px 0;
260
+ background-color: var(--color-border-default);
261
+ border: 0;
262
+ }
263
+
264
+ /* Images */
265
+ img {
266
+ max-width: 100%;
267
+ box-sizing: content-box;
268
+ }
269
+
270
+ /* Print Styles */
271
+ @media print {
272
+ body {
273
+ background: white;
274
+ }
275
+
276
+ .document {
277
+ max-width: none;
278
+ margin: 0 auto;
279
+ padding: 0;
280
+ }
281
+
282
+ h1,
283
+ h2,
284
+ h3,
285
+ h4 {
286
+ page-break-after: avoid;
287
+ }
288
+
289
+ pre,
290
+ blockquote,
291
+ table,
292
+ figure {
293
+ page-break-inside: avoid;
294
+ }
295
+
296
+ pre {
297
+ background: var(--color-canvas-subtle) !important;
298
+ -webkit-print-color-adjust: exact;
299
+ print-color-adjust: exact;
300
+ }
301
+ }
302
+ </style>
303
+ {{styles}}
304
+ </head>
305
+
306
+ <body>
307
+ <main class="document">
308
+ <article class="markdown-body">
309
+ {{body}}
310
+ </article>
311
+ </main>
312
+
313
+
314
+ </body>
315
+
316
+ </html>