gutterpress 0.11.22 → 0.11.23-alpha.2

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.
Files changed (76) hide show
  1. package/README.md +23 -24
  2. package/dist/{README-3nj919rm.md → README-8ef336pp.md} +1 -1
  3. package/dist/api/index.d.ts +4 -4
  4. package/dist/api/index.js +16 -22
  5. package/dist/{build-53bw14h7.js → build-encgnv0c.js} +9 -10
  6. package/dist/{chapter-01-rkpyvjna.md → chapter-01-gsbjt584.md} +1 -1
  7. package/dist/chapter-01-s71xrf5q.md +69 -0
  8. package/dist/{chapter-01-7jwqg1ct.md → chapter-01-wgjfz4w6.md} +1 -1
  9. package/dist/checks/source/character-table.d.ts +12 -6
  10. package/dist/{cli-habkc5ng.js → cli-a35w7wzg.js} +5 -4
  11. package/dist/{cli-kx4hbnx2.js → cli-aqh6brew.js} +1 -1
  12. package/dist/{cli-1hxxwbaq.js → cli-evg8sbht.js} +1 -1
  13. package/dist/{cli-cjftezxr.js → cli-kh8v4vvw.js} +2 -1
  14. package/dist/{cli-ntwqmdnw.js → cli-pwwfxdgb.js} +846 -13
  15. package/dist/{cli-8kg0wjdt.js → cli-pz4bn98t.js} +185 -9
  16. package/dist/{cli-zj5xaepv.js → cli-sdmv4bba.js} +57 -117
  17. package/dist/{cli-ke86zsz6.js → cli-xq6djqbj.js} +51 -54
  18. package/dist/{index-r7jcsk6h.js → cli-y28j019d.js} +19 -10
  19. package/dist/cli.js +12 -12
  20. package/dist/{doctor-xka1frnx.js → doctor-5gtpgpd1.js} +3 -3
  21. package/dist/{engine-p93f06gj.js → engine-mc5br8g8.js} +1 -2
  22. package/dist/{engine-0ndvy8vj.js → engine-tn13gk0b.js} +3 -3
  23. package/dist/{ext-dwfqyy1j.js → ext-wn2a5afq.js} +18 -33
  24. package/dist/{extension-restore-ct1wk344.js → extension-restore-g8jnmmzq.js} +5 -6
  25. package/dist/{extension-restore-7vp3vh77.js → extension-restore-s3x1618g.js} +4 -4
  26. package/dist/{index-apc8w9w8.js → index-0skhjx3e.js} +180 -1
  27. package/dist/{index-4v7e621e.js → index-2bjcghze.js} +847 -13
  28. package/dist/index-46ycxe6r.js +18 -0
  29. package/dist/{index-53nrm5j1.js → index-4x6y8krm.js} +2 -4
  30. package/dist/{cli-h3phdstf.js → index-5x42amh8.js} +19 -10
  31. package/dist/{index-93pqkvty.js → index-h6yk5tjx.js} +5 -4
  32. package/dist/{index-kh7fayjv.js → index-j5z86r4a.js} +57 -54
  33. package/dist/{index-6cmn2wpd.js → index-x3ema2w3.js} +69 -128
  34. package/dist/index.js +17 -23
  35. package/dist/lib/build-runner.d.ts +1 -1
  36. package/dist/lib/extension-manager.d.ts +16 -43
  37. package/dist/lib/extension-scaffold.d.ts +3 -3
  38. package/dist/lib/extension-specifier.d.ts +23 -6
  39. package/dist/lib/markdown/assemble.d.ts +7 -1
  40. package/dist/lib/markdown/gutterpress-css.d.ts +1 -1
  41. package/dist/lib/markdown/index.d.ts +4 -0
  42. package/dist/lib/markdown/math.d.ts +43 -0
  43. package/dist/lib/markdown/renderer.d.ts +11 -8
  44. package/dist/lib/markdown/table.d.ts +46 -0
  45. package/dist/lib/markdown/typography.d.ts +12 -0
  46. package/dist/lib/npm-plugin-installer.d.ts +1 -1
  47. package/dist/lib/plugin-vendor.d.ts +11 -3
  48. package/dist/lib/presets.d.ts +1 -1
  49. package/dist/lib/project-gitignore.d.ts +2 -2
  50. package/dist/lib/project-scaffold.d.ts +6 -8
  51. package/dist/lib/project-templates.d.ts +6 -1
  52. package/dist/lib/snippets.d.ts +2 -1
  53. package/dist/lib/style-resolver.d.ts +1 -2
  54. package/dist/manifest-eagfhba6.yaml +19 -0
  55. package/dist/{manifest.schema-399bx3vc.json → manifest.schema-t7nx2stg.json} +12 -5
  56. package/dist/{new-1pawj2qf.js → new-mhs46pw3.js} +22 -21
  57. package/dist/{plugins-fr4fnzhb.js → plugins-1sxe0dkz.js} +4 -4
  58. package/dist/{plugins-g4dgw7mn.js → plugins-2cek4mz1.js} +2 -2
  59. package/dist/{preflight-ept9q57t.js → preflight-3k2b1x8e.js} +9 -10
  60. package/dist/preview/file-watcher.d.ts +1 -0
  61. package/dist/{preview-fxpnjv7k.js → preview-6p9v6rht.js} +9 -10
  62. package/dist/{publish-zhqqsgmr.js → publish-qgsngy8s.js} +9 -10
  63. package/dist/render.js +470 -11
  64. package/dist/schema/manifest.types.d.ts +8 -0
  65. package/dist/{source-provider-qbfknhyy.js → source-provider-98k5deda.js} +2 -2
  66. package/dist/{source-provider-2r74a7wp.js → source-provider-knmcam50.js} +2 -2
  67. package/dist/{validate-t68gvckq.js → validate-0v7xw6wa.js} +9 -10
  68. package/package.json +2 -1
  69. package/dist/cli-1ngqzg8s.js +0 -196
  70. package/dist/index-vay3ff1f.js +0 -213
  71. package/dist/package-97gm31sg.json +0 -10
  72. package/dist/package-gag6ykwn.json +0 -10
  73. package/dist/package-nrhkwf2m.json +0 -10
  74. package/dist/theme-h5recz6c.css +0 -61
  75. package/dist/theme-j2bagrfx.css +0 -59
  76. package/dist/theme-nn6d53zy.css +0 -71
@@ -21,9 +21,9 @@ import {
21
21
  switchBranch,
22
22
  whenGitIdle,
23
23
  withRepoLock
24
- } from "./cli-habkc5ng.js";
24
+ } from "./cli-a35w7wzg.js";
25
25
  import"./cli-v5mp7a6q.js";
26
- import"./cli-h3phdstf.js";
26
+ import"./cli-y28j019d.js";
27
27
  import"./cli-37x76zdn.js";
28
28
  export {
29
29
  withRepoLock,
@@ -1,31 +1,30 @@
1
1
  import {
2
2
  executeAndReport
3
- } from "./cli-ke86zsz6.js";
4
- import"./cli-1hxxwbaq.js";
3
+ } from "./cli-xq6djqbj.js";
4
+ import"./cli-evg8sbht.js";
5
5
  import"./cli-ht1bcqdd.js";
6
- import"./cli-8kg0wjdt.js";
6
+ import"./cli-pz4bn98t.js";
7
7
  import"./cli-2ppw6q9v.js";
8
8
  import"./cli-eyyggect.js";
9
9
  import"./cli-asap4t1z.js";
10
- import"./cli-habkc5ng.js";
10
+ import"./cli-a35w7wzg.js";
11
11
  import"./cli-v5mp7a6q.js";
12
- import"./cli-zj5xaepv.js";
13
- import"./cli-ntwqmdnw.js";
12
+ import"./cli-sdmv4bba.js";
13
+ import"./cli-pwwfxdgb.js";
14
14
  import {
15
15
  log
16
- } from "./cli-kx4hbnx2.js";
16
+ } from "./cli-aqh6brew.js";
17
17
  import {
18
18
  UsageError,
19
19
  rejectExtraPositionals,
20
20
  rejectUnknownFlags
21
21
  } from "./cli-d8xjns66.js";
22
- import"./cli-cjftezxr.js";
23
- import"./cli-1ngqzg8s.js";
22
+ import"./cli-kh8v4vvw.js";
24
23
  import {
25
24
  BuildError,
26
25
  EXIT_CODES
27
26
  } from "./cli-46ycxe6r.js";
28
- import"./cli-h3phdstf.js";
27
+ import"./cli-y28j019d.js";
29
28
  import"./cli-37x76zdn.js";
30
29
 
31
30
  // src/commands/validate.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gutterpress",
3
- "version": "0.11.22",
3
+ "version": "0.11.23-alpha.2",
4
4
  "description": "Markdown-to-PDF converter for professional print layout using a native Chromium print engine and Ghostscript.",
5
5
  "author": "itlackey",
6
6
  "license": "MPL-2.0",
@@ -78,6 +78,7 @@
78
78
  "markdown-it-sub": "^2.0.0",
79
79
  "markdown-it-sup": "^2.0.0",
80
80
  "markdownlint": "^0.40.0",
81
+ "mathjax-full": "^3.2.2",
81
82
  "pdf-lib": "^1.17.1",
82
83
  "postcss": "^8.5.18",
83
84
  "resolve.exports": "2.0.3",
@@ -1,196 +0,0 @@
1
- // src/lib/embedded-assets.ts
2
- import { existsSync } from "node:fs";
3
- import { mkdtemp, mkdir, writeFile, readFile } from "node:fs/promises";
4
- import { tmpdir } from "node:os";
5
- import { dirname, join, resolve } from "node:path";
6
- import { fileURLToPath } from "node:url";
7
-
8
- // src/assets/favicon.ico
9
- var favicon_default = "./favicon-272ga6y0.ico";
10
-
11
- // src/assets/manifest.schema.json
12
- var manifest_schema_default = "./manifest.schema-399bx3vc.json";
13
-
14
- // src/assets/preview/scripts/preview-interface.js
15
- var preview_interface_default = "./preview-interface-nnmrxyqm.js";
16
-
17
- // src/assets/preview/scripts/preview-bridge.js
18
- var preview_bridge_default = "./preview-bridge-8wjcjec3.js";
19
-
20
- // src/assets/preview/scripts/preview-shell.js
21
- var preview_shell_default = "./preview-shell-wk9k3gcd.js";
22
-
23
- // profiles/CGATS21_CRPC1.icc
24
- var CGATS21_CRPC1_default = "./CGATS21_CRPC1-g0e3k7kr.icc";
25
-
26
- // src/assets/engine/gutterpress-viewer.js
27
- var gutterpress_viewer_default = "./gutterpress-viewer-701vf4qp.js";
28
-
29
- // src/assets/engine/gutterpress-agent.js
30
- var gutterpress_agent_default = "./gutterpress-agent-d29ry3ak.js";
31
-
32
- // src/assets/templates/book/manifest.yaml
33
- var manifest_default = "./manifest-n1gh3qw5.yaml";
34
-
35
- // src/assets/templates/book/chapter-01.md
36
- var chapter_01_default = "./chapter-01-rkpyvjna.md";
37
-
38
- // src/assets/templates/zine/manifest.yaml
39
- var manifest_default2 = "./manifest-n1gh3qw5.yaml";
40
-
41
- // src/assets/templates/zine/chapter-01.md
42
- var chapter_01_default2 = "./chapter-01-7jwqg1ct.md";
43
-
44
- // src/assets/templates/technical/manifest.yaml
45
- var manifest_default3 = "./manifest-n1gh3qw5.yaml";
46
-
47
- // src/assets/templates/technical/chapter-01.md
48
- var chapter_01_default3 = "./chapter-01-6fn9pvd0.md";
49
-
50
- // src/assets/extension-templates/plugin/package.json
51
- var package_default = "./package-9rv69pxm.json";
52
-
53
- // src/assets/extension-templates/plugin/README.md
54
- var README_default = "./README-vsnsc1b3.md";
55
-
56
- // src/assets/extension-templates/plugin/plugin.js.tpl
57
- var plugin_js_default = "./plugin.js-cswq7wvd.tpl";
58
-
59
- // src/assets/extension-templates/plugin/styles/plugin.css
60
- var plugin_default = "./plugin-spbcem4j.css";
61
-
62
- // src/assets/extension-templates/plugin/snippets/term-box.md
63
- var term_box_default = "./term-box-4y0w7y32.md";
64
-
65
- // src/assets/extension-templates/plugin/test/fixture.md
66
- var fixture_default = "./fixture-2qnyqgb5.md";
67
-
68
- // src/assets/extension-templates/plugin/test/expected.html
69
- var expected_default = "./expected-ycmacem8.html";
70
-
71
- // src/assets/extension-templates/plugin/test/plugin.test.js.tpl
72
- var plugin_test_js_default = "./plugin.test.js-xgxrd8hf.tpl";
73
-
74
- // src/assets/extension-templates/theme/package.json
75
- var package_default2 = "./package-aenwjew3.json";
76
-
77
- // src/assets/extension-templates/theme/README.md
78
- var README_default2 = "./README-3nj919rm.md";
79
-
80
- // src/assets/extension-templates/theme/components.yaml
81
- var components_default = "./components-zzqdpt3m.yaml";
82
-
83
- // src/assets/extension-templates/theme/snippets/callout.md
84
- var callout_default = "./callout-hv56m16h.md";
85
-
86
- // src/assets/extension-templates/theme/styles/tokens.css
87
- var tokens_default = "./tokens-7984461t.css";
88
-
89
- // src/assets/extension-templates/theme/styles/base.css
90
- var base_default = "./base-ypqh9n7f.css";
91
-
92
- // src/assets/extension-templates/theme/styles/components.css
93
- var components_default2 = "./components-aam0fe2z.css";
94
-
95
- // src/assets/extension-templates/theme/styles/page-templates.css
96
- var page_templates_default = "./page-templates-tx9ryt19.css";
97
-
98
- // src/assets/extension-templates/theme/styles/page-rules.css
99
- var page_rules_default = "./page-rules-nsj3aw42.css";
100
-
101
- // src/assets/extension-templates/theme/styles/book.css
102
- var book_default = "./book-ted3tzrp.css";
103
-
104
- // src/assets/themes/clean-book/theme.css
105
- var theme_default = "./theme-j2bagrfx.css";
106
-
107
- // src/assets/themes/clean-book/package.json
108
- var package_default3 = "./package-97gm31sg.json";
109
-
110
- // src/assets/themes/zine/theme.css
111
- var theme_default2 = "./theme-h5recz6c.css";
112
-
113
- // src/assets/themes/zine/package.json
114
- var package_default4 = "./package-gag6ykwn.json";
115
-
116
- // src/assets/themes/technical-doc/theme.css
117
- var theme_default3 = "./theme-nn6d53zy.css";
118
-
119
- // src/assets/themes/technical-doc/package.json
120
- var package_default5 = "./package-nrhkwf2m.json";
121
-
122
- // src/lib/embedded-assets.ts
123
- var __libdir = dirname(fileURLToPath(import.meta.url));
124
- var abs = (p) => resolve(__libdir, p);
125
- var filePath = (v) => v;
126
- var EMBEDDED_ASSETS = {
127
- "favicon.ico": abs(favicon_default),
128
- "manifest.schema.json": abs(filePath(manifest_schema_default)),
129
- "preview/scripts/preview-interface.js": abs(filePath(preview_interface_default)),
130
- "preview/scripts/preview-bridge.js": abs(filePath(preview_bridge_default)),
131
- "preview/scripts/preview-shell.js": abs(filePath(preview_shell_default)),
132
- "profiles/CGATS21_CRPC1.icc": abs(filePath(CGATS21_CRPC1_default)),
133
- "engine/gutterpress-viewer.js": abs(filePath(gutterpress_viewer_default)),
134
- "engine/gutterpress-agent.js": abs(filePath(gutterpress_agent_default)),
135
- "templates/book/manifest.yaml": abs(filePath(manifest_default)),
136
- "templates/book/chapter-01.md": abs(filePath(chapter_01_default)),
137
- "templates/zine/manifest.yaml": abs(filePath(manifest_default2)),
138
- "templates/zine/chapter-01.md": abs(filePath(chapter_01_default2)),
139
- "templates/technical/manifest.yaml": abs(filePath(manifest_default3)),
140
- "templates/technical/chapter-01.md": abs(filePath(chapter_01_default3)),
141
- "extension-templates/plugin/package.json": abs(filePath(package_default)),
142
- "extension-templates/plugin/README.md": abs(filePath(README_default)),
143
- "extension-templates/plugin/plugin.js.tpl": abs(filePath(plugin_js_default)),
144
- "extension-templates/plugin/styles/plugin.css": abs(filePath(plugin_default)),
145
- "extension-templates/plugin/snippets/term-box.md": abs(filePath(term_box_default)),
146
- "extension-templates/plugin/test/fixture.md": abs(filePath(fixture_default)),
147
- "extension-templates/plugin/test/expected.html": abs(filePath(expected_default)),
148
- "extension-templates/plugin/test/plugin.test.js.tpl": abs(filePath(plugin_test_js_default)),
149
- "extension-templates/theme/package.json": abs(filePath(package_default2)),
150
- "extension-templates/theme/README.md": abs(filePath(README_default2)),
151
- "extension-templates/theme/components.yaml": abs(filePath(components_default)),
152
- "extension-templates/theme/snippets/callout.md": abs(filePath(callout_default)),
153
- "extension-templates/theme/styles/tokens.css": abs(filePath(tokens_default)),
154
- "extension-templates/theme/styles/base.css": abs(filePath(base_default)),
155
- "extension-templates/theme/styles/components.css": abs(filePath(components_default2)),
156
- "extension-templates/theme/styles/page-templates.css": abs(filePath(page_templates_default)),
157
- "extension-templates/theme/styles/page-rules.css": abs(filePath(page_rules_default)),
158
- "extension-templates/theme/styles/book.css": abs(filePath(book_default)),
159
- "themes/clean-book/theme.css": abs(filePath(theme_default)),
160
- "themes/clean-book/package.json": abs(filePath(package_default3)),
161
- "themes/zine/theme.css": abs(filePath(theme_default2)),
162
- "themes/zine/package.json": abs(filePath(package_default4)),
163
- "themes/technical-doc/theme.css": abs(filePath(theme_default3)),
164
- "themes/technical-doc/package.json": abs(filePath(package_default5))
165
- };
166
- var extractPromise = null;
167
- async function extractAssets() {
168
- const root = await mkdtemp(join(tmpdir(), "gutterpress-assets-"));
169
- for (const [relPath, srcPath] of Object.entries(EMBEDDED_ASSETS)) {
170
- const dest = join(root, relPath);
171
- await mkdir(dirname(dest), { recursive: true });
172
- const bytes = await readFile(srcPath);
173
- await writeFile(dest, bytes);
174
- }
175
- return root;
176
- }
177
- var SENTINEL_ASSET = "engine/gutterpress-viewer.js";
178
- async function getAssetsDir() {
179
- if (extractPromise) {
180
- try {
181
- const root = await extractPromise;
182
- if (existsSync(join(root, SENTINEL_ASSET))) {
183
- return root;
184
- }
185
- } catch {}
186
- extractPromise = null;
187
- }
188
- extractPromise = extractAssets();
189
- return extractPromise;
190
- }
191
- async function getAssetPath(relPath) {
192
- const root = await getAssetsDir();
193
- return join(root, relPath);
194
- }
195
-
196
- export { getAssetsDir, getAssetPath };
@@ -1,213 +0,0 @@
1
- // src/lib/build-error.ts
2
- var EXIT_CODES = {
3
- OK: 0,
4
- FINDINGS: 1,
5
- USAGE: 2,
6
- PIPELINE: 3
7
- };
8
-
9
- class BuildError extends Error {
10
- exitCode;
11
- constructor(message, exitCode = EXIT_CODES.PIPELINE, options) {
12
- super(message, options);
13
- this.name = "BuildError";
14
- this.exitCode = exitCode;
15
- }
16
- }
17
-
18
- // src/lib/embedded-assets.ts
19
- import { existsSync } from "node:fs";
20
- import { mkdtemp, mkdir, writeFile, readFile } from "node:fs/promises";
21
- import { tmpdir } from "node:os";
22
- import { dirname, join, resolve } from "node:path";
23
- import { fileURLToPath } from "node:url";
24
-
25
- // src/assets/favicon.ico
26
- var favicon_default = "./favicon-272ga6y0.ico";
27
-
28
- // src/assets/manifest.schema.json
29
- var manifest_schema_default = "./manifest.schema-399bx3vc.json";
30
-
31
- // src/assets/preview/scripts/preview-interface.js
32
- var preview_interface_default = "./preview-interface-nnmrxyqm.js";
33
-
34
- // src/assets/preview/scripts/preview-bridge.js
35
- var preview_bridge_default = "./preview-bridge-8wjcjec3.js";
36
-
37
- // src/assets/preview/scripts/preview-shell.js
38
- var preview_shell_default = "./preview-shell-wk9k3gcd.js";
39
-
40
- // profiles/CGATS21_CRPC1.icc
41
- var CGATS21_CRPC1_default = "./CGATS21_CRPC1-g0e3k7kr.icc";
42
-
43
- // src/assets/engine/gutterpress-viewer.js
44
- var gutterpress_viewer_default = "./gutterpress-viewer-701vf4qp.js";
45
-
46
- // src/assets/engine/gutterpress-agent.js
47
- var gutterpress_agent_default = "./gutterpress-agent-d29ry3ak.js";
48
-
49
- // src/assets/templates/book/manifest.yaml
50
- var manifest_default = "./manifest-n1gh3qw5.yaml";
51
-
52
- // src/assets/templates/book/chapter-01.md
53
- var chapter_01_default = "./chapter-01-rkpyvjna.md";
54
-
55
- // src/assets/templates/zine/manifest.yaml
56
- var manifest_default2 = "./manifest-n1gh3qw5.yaml";
57
-
58
- // src/assets/templates/zine/chapter-01.md
59
- var chapter_01_default2 = "./chapter-01-7jwqg1ct.md";
60
-
61
- // src/assets/templates/technical/manifest.yaml
62
- var manifest_default3 = "./manifest-n1gh3qw5.yaml";
63
-
64
- // src/assets/templates/technical/chapter-01.md
65
- var chapter_01_default3 = "./chapter-01-6fn9pvd0.md";
66
-
67
- // src/assets/extension-templates/plugin/package.json
68
- var package_default = "./package-9rv69pxm.json";
69
-
70
- // src/assets/extension-templates/plugin/README.md
71
- var README_default = "./README-vsnsc1b3.md";
72
-
73
- // src/assets/extension-templates/plugin/plugin.js.tpl
74
- var plugin_js_default = "./plugin.js-cswq7wvd.tpl";
75
-
76
- // src/assets/extension-templates/plugin/styles/plugin.css
77
- var plugin_default = "./plugin-spbcem4j.css";
78
-
79
- // src/assets/extension-templates/plugin/snippets/term-box.md
80
- var term_box_default = "./term-box-4y0w7y32.md";
81
-
82
- // src/assets/extension-templates/plugin/test/fixture.md
83
- var fixture_default = "./fixture-2qnyqgb5.md";
84
-
85
- // src/assets/extension-templates/plugin/test/expected.html
86
- var expected_default = "./expected-ycmacem8.html";
87
-
88
- // src/assets/extension-templates/plugin/test/plugin.test.js.tpl
89
- var plugin_test_js_default = "./plugin.test.js-xgxrd8hf.tpl";
90
-
91
- // src/assets/extension-templates/theme/package.json
92
- var package_default2 = "./package-aenwjew3.json";
93
-
94
- // src/assets/extension-templates/theme/README.md
95
- var README_default2 = "./README-3nj919rm.md";
96
-
97
- // src/assets/extension-templates/theme/components.yaml
98
- var components_default = "./components-zzqdpt3m.yaml";
99
-
100
- // src/assets/extension-templates/theme/snippets/callout.md
101
- var callout_default = "./callout-hv56m16h.md";
102
-
103
- // src/assets/extension-templates/theme/styles/tokens.css
104
- var tokens_default = "./tokens-7984461t.css";
105
-
106
- // src/assets/extension-templates/theme/styles/base.css
107
- var base_default = "./base-ypqh9n7f.css";
108
-
109
- // src/assets/extension-templates/theme/styles/components.css
110
- var components_default2 = "./components-aam0fe2z.css";
111
-
112
- // src/assets/extension-templates/theme/styles/page-templates.css
113
- var page_templates_default = "./page-templates-tx9ryt19.css";
114
-
115
- // src/assets/extension-templates/theme/styles/page-rules.css
116
- var page_rules_default = "./page-rules-nsj3aw42.css";
117
-
118
- // src/assets/extension-templates/theme/styles/book.css
119
- var book_default = "./book-ted3tzrp.css";
120
-
121
- // src/assets/themes/clean-book/theme.css
122
- var theme_default = "./theme-j2bagrfx.css";
123
-
124
- // src/assets/themes/clean-book/package.json
125
- var package_default3 = "./package-97gm31sg.json";
126
-
127
- // src/assets/themes/zine/theme.css
128
- var theme_default2 = "./theme-h5recz6c.css";
129
-
130
- // src/assets/themes/zine/package.json
131
- var package_default4 = "./package-gag6ykwn.json";
132
-
133
- // src/assets/themes/technical-doc/theme.css
134
- var theme_default3 = "./theme-nn6d53zy.css";
135
-
136
- // src/assets/themes/technical-doc/package.json
137
- var package_default5 = "./package-nrhkwf2m.json";
138
-
139
- // src/lib/embedded-assets.ts
140
- var __libdir = dirname(fileURLToPath(import.meta.url));
141
- var abs = (p) => resolve(__libdir, p);
142
- var filePath = (v) => v;
143
- var EMBEDDED_ASSETS = {
144
- "favicon.ico": abs(favicon_default),
145
- "manifest.schema.json": abs(filePath(manifest_schema_default)),
146
- "preview/scripts/preview-interface.js": abs(filePath(preview_interface_default)),
147
- "preview/scripts/preview-bridge.js": abs(filePath(preview_bridge_default)),
148
- "preview/scripts/preview-shell.js": abs(filePath(preview_shell_default)),
149
- "profiles/CGATS21_CRPC1.icc": abs(filePath(CGATS21_CRPC1_default)),
150
- "engine/gutterpress-viewer.js": abs(filePath(gutterpress_viewer_default)),
151
- "engine/gutterpress-agent.js": abs(filePath(gutterpress_agent_default)),
152
- "templates/book/manifest.yaml": abs(filePath(manifest_default)),
153
- "templates/book/chapter-01.md": abs(filePath(chapter_01_default)),
154
- "templates/zine/manifest.yaml": abs(filePath(manifest_default2)),
155
- "templates/zine/chapter-01.md": abs(filePath(chapter_01_default2)),
156
- "templates/technical/manifest.yaml": abs(filePath(manifest_default3)),
157
- "templates/technical/chapter-01.md": abs(filePath(chapter_01_default3)),
158
- "extension-templates/plugin/package.json": abs(filePath(package_default)),
159
- "extension-templates/plugin/README.md": abs(filePath(README_default)),
160
- "extension-templates/plugin/plugin.js.tpl": abs(filePath(plugin_js_default)),
161
- "extension-templates/plugin/styles/plugin.css": abs(filePath(plugin_default)),
162
- "extension-templates/plugin/snippets/term-box.md": abs(filePath(term_box_default)),
163
- "extension-templates/plugin/test/fixture.md": abs(filePath(fixture_default)),
164
- "extension-templates/plugin/test/expected.html": abs(filePath(expected_default)),
165
- "extension-templates/plugin/test/plugin.test.js.tpl": abs(filePath(plugin_test_js_default)),
166
- "extension-templates/theme/package.json": abs(filePath(package_default2)),
167
- "extension-templates/theme/README.md": abs(filePath(README_default2)),
168
- "extension-templates/theme/components.yaml": abs(filePath(components_default)),
169
- "extension-templates/theme/snippets/callout.md": abs(filePath(callout_default)),
170
- "extension-templates/theme/styles/tokens.css": abs(filePath(tokens_default)),
171
- "extension-templates/theme/styles/base.css": abs(filePath(base_default)),
172
- "extension-templates/theme/styles/components.css": abs(filePath(components_default2)),
173
- "extension-templates/theme/styles/page-templates.css": abs(filePath(page_templates_default)),
174
- "extension-templates/theme/styles/page-rules.css": abs(filePath(page_rules_default)),
175
- "extension-templates/theme/styles/book.css": abs(filePath(book_default)),
176
- "themes/clean-book/theme.css": abs(filePath(theme_default)),
177
- "themes/clean-book/package.json": abs(filePath(package_default3)),
178
- "themes/zine/theme.css": abs(filePath(theme_default2)),
179
- "themes/zine/package.json": abs(filePath(package_default4)),
180
- "themes/technical-doc/theme.css": abs(filePath(theme_default3)),
181
- "themes/technical-doc/package.json": abs(filePath(package_default5))
182
- };
183
- var extractPromise = null;
184
- async function extractAssets() {
185
- const root = await mkdtemp(join(tmpdir(), "gutterpress-assets-"));
186
- for (const [relPath, srcPath] of Object.entries(EMBEDDED_ASSETS)) {
187
- const dest = join(root, relPath);
188
- await mkdir(dirname(dest), { recursive: true });
189
- const bytes = await readFile(srcPath);
190
- await writeFile(dest, bytes);
191
- }
192
- return root;
193
- }
194
- var SENTINEL_ASSET = "engine/gutterpress-viewer.js";
195
- async function getAssetsDir() {
196
- if (extractPromise) {
197
- try {
198
- const root = await extractPromise;
199
- if (existsSync(join(root, SENTINEL_ASSET))) {
200
- return root;
201
- }
202
- } catch {}
203
- extractPromise = null;
204
- }
205
- extractPromise = extractAssets();
206
- return extractPromise;
207
- }
208
- async function getAssetPath(relPath) {
209
- const root = await getAssetsDir();
210
- return join(root, relPath);
211
- }
212
-
213
- export { EXIT_CODES, BuildError, getAssetsDir, getAssetPath };
@@ -1,10 +0,0 @@
1
- {
2
- "name": "clean-book",
3
- "description": "A calm, classic book look: serif body, generous margins, restrained accents.",
4
- "author": "gutterpress",
5
- "keywords": ["gutterpress", "gutterpress-look"],
6
- "gutterpress": {
7
- "styles": ["theme.css"],
8
- "preview": null
9
- }
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "zine",
3
- "description": "High-contrast, punchy sans-serif look for short photocopier-friendly zines.",
4
- "author": "gutterpress",
5
- "keywords": ["gutterpress", "gutterpress-look"],
6
- "gutterpress": {
7
- "styles": ["theme.css"],
8
- "preview": null
9
- }
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "technical-doc",
3
- "description": "Clean sans-serif manual look with clear hierarchy, code styling, and tidy tables.",
4
- "author": "gutterpress",
5
- "keywords": ["gutterpress", "gutterpress-look"],
6
- "gutterpress": {
7
- "styles": ["theme.css"],
8
- "preview": null
9
- }
10
- }
@@ -1,61 +0,0 @@
1
- /* =============================================================================
2
- Zine — gutterpress built-in theme (theme.css)
3
- High-contrast, punchy, photocopier-friendly. Customize the tokens in :root.
4
- ============================================================================= */
5
-
6
- :root {
7
- --color-ink: #000000; /* body text */
8
- --color-ink-muted: #333333; /* secondary text */
9
- --color-accent: #000000; /* headings (mono, high ink) */
10
- --color-paper: #ffffff; /* page background */
11
- --color-rule: #000000; /* heavy borders, rules */
12
-
13
- --font-body: "Helvetica Neue", "Arial", sans-serif;
14
- --font-display: "Impact", "Haettenschweiler", "Arial Black", sans-serif;
15
- --font-mono: "Courier New", monospace;
16
-
17
- --fs-body: 10pt;
18
- --fs-h1: 2.8rem;
19
- --fs-h2: 1.8rem;
20
- --fs-h3: 1.3rem;
21
- --leading: 1.4;
22
- }
23
-
24
- @page {
25
- size: 5.5in 8.5in;
26
- margin: 0.4in;
27
- }
28
-
29
- body {
30
- color: var(--color-ink);
31
- background: var(--color-paper);
32
- font-family: var(--font-body);
33
- line-height: var(--leading);
34
- font-size: var(--fs-body);
35
- }
36
-
37
- h1, h2, h3 {
38
- font-family: var(--font-display);
39
- color: var(--color-accent);
40
- text-transform: uppercase;
41
- letter-spacing: -0.01em;
42
- line-height: 0.95;
43
- font-weight: 900;
44
- }
45
- h1 { font-size: var(--fs-h1); margin: 0 0 0.4em; }
46
- h2 { font-size: var(--fs-h2); margin: 1.1em 0 0.3em; }
47
- h3 { font-size: var(--fs-h3); margin: 1em 0 0.25em; }
48
-
49
- p { margin: 0 0 0.6em; }
50
-
51
- a { color: var(--color-accent); text-decoration: underline; font-weight: 700; }
52
-
53
- blockquote {
54
- margin: 1em 0; padding: 0.5em 0.8em;
55
- border: 2px solid var(--color-rule);
56
- font-weight: 700;
57
- }
58
-
59
- hr { border: 0; border-top: 3px solid var(--color-rule); margin: 1em 0; }
60
-
61
- code, pre { font-family: var(--font-mono); font-size: 0.95em; }
@@ -1,59 +0,0 @@
1
- /* =============================================================================
2
- Clean Book — gutterpress built-in theme (theme.css)
3
- A calm, classic long-form book look. Customize the tokens in :root.
4
- ============================================================================= */
5
-
6
- :root {
7
- --color-ink: #1a1a1a; /* body text */
8
- --color-ink-muted: #555555; /* captions, secondary text */
9
- --color-accent: #2b4c7e; /* headings, links */
10
- --color-paper: #ffffff; /* page background */
11
- --color-rule: #d9d9d9; /* borders, rules */
12
-
13
- --font-body: "Georgia", "Times New Roman", serif;
14
- --font-display: "Georgia", "Times New Roman", serif;
15
- --font-mono: "Menlo", "Consolas", monospace;
16
-
17
- --fs-body: 11pt;
18
- --fs-h1: 2.1rem;
19
- --fs-h2: 1.5rem;
20
- --fs-h3: 1.2rem;
21
- --leading: 1.55;
22
- }
23
-
24
- @page {
25
- size: 6in 9in;
26
- margin: 0.85in 0.75in;
27
- }
28
-
29
- body {
30
- color: var(--color-ink);
31
- background: var(--color-paper);
32
- font-family: var(--font-body);
33
- line-height: var(--leading);
34
- font-size: var(--fs-body);
35
- }
36
-
37
- h1, h2, h3 {
38
- font-family: var(--font-display);
39
- color: var(--color-accent);
40
- line-height: 1.2;
41
- font-weight: 600;
42
- }
43
- h1 { font-size: var(--fs-h1); margin: 0 0 0.6em; }
44
- h2 { font-size: var(--fs-h2); margin: 1.4em 0 0.4em; }
45
- h3 { font-size: var(--fs-h3); margin: 1.2em 0 0.3em; }
46
-
47
- p { margin: 0 0 0.8em; text-align: justify; hyphens: auto; }
48
-
49
- a { color: var(--color-accent); text-decoration: none; }
50
-
51
- blockquote {
52
- margin: 1em 0; padding: 0.2em 0 0.2em 1em;
53
- border-left: 3px solid var(--color-rule);
54
- color: var(--color-ink-muted); font-style: italic;
55
- }
56
-
57
- code, pre { font-family: var(--font-mono); font-size: 0.9em; }
58
-
59
- hr { border: 0; border-top: 1px solid var(--color-rule); margin: 1.5em 0; }