gutterpress 0.11.15-alpha.1 → 0.11.15-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.
package/dist/api/index.js CHANGED
@@ -129,10 +129,10 @@ import {
129
129
  testRemoteAccess,
130
130
  updateExtensions,
131
131
  validateProjectExtensions
132
- } from "../index-qpm8kr79.js";
132
+ } from "../index-j77039xr.js";
133
133
  import {
134
134
  BuildError
135
- } from "../index-9fwjqyv5.js";
135
+ } from "../index-w6tqhafk.js";
136
136
  import {
137
137
  DEFAULT_PRINT_OPTS,
138
138
  assertMilestone,
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  runBuild,
3
3
  splitOutPath
4
- } from "./cli-1chdeea4.js";
4
+ } from "./cli-7pw53gnm.js";
5
5
  import {
6
6
  log
7
- } from "./cli-bscaare6.js";
7
+ } from "./cli-b496rxy0.js";
8
8
  import {
9
9
  UsageError,
10
10
  parseFormat,
11
11
  parsePdfxFlavor,
12
12
  rejectExtraPositionals,
13
13
  rejectUnknownFlags
14
- } from "./cli-7j9jvvs7.js";
15
- import"./cli-kchpmn97.js";
14
+ } from "./cli-vdpnctkq.js";
15
+ import"./cli-mc3waxaw.js";
16
16
  import {
17
17
  BuildError
18
18
  } from "./cli-46ycxe6r.js";
@@ -13,17 +13,17 @@ import {
13
13
  stampCreator,
14
14
  stripAnnotations,
15
15
  warn
16
- } from "./cli-bscaare6.js";
16
+ } from "./cli-b496rxy0.js";
17
17
  import {
18
18
  DEBOUNCE,
19
19
  UsageError,
20
20
  resolvePort
21
- } from "./cli-7j9jvvs7.js";
21
+ } from "./cli-vdpnctkq.js";
22
22
  import {
23
23
  MARGIN_BOX_IGNORED_PROPERTIES,
24
24
  getAssetPath,
25
25
  getAssetsDir
26
- } from "./cli-kchpmn97.js";
26
+ } from "./cli-mc3waxaw.js";
27
27
  import {
28
28
  BuildError
29
29
  } from "./cli-46ycxe6r.js";
@@ -7985,7 +7985,7 @@ class PdfOutput {
7985
7985
  const rawPdf = pdfxMode ? path8.join(stage, "raw.pdf") : path8.resolve(pdfFile);
7986
7986
  await fsp2.mkdir(path8.dirname(path8.resolve(pdfFile)), { recursive: true });
7987
7987
  log.info("Rendering HTML to PDF via the Gutterpress engine (native Chromium pagination)");
7988
- const { buildNativePdf } = await import("./engine-0bybzbwq.js");
7988
+ const { buildNativePdf } = await import("./engine-h8zdtxhp.js");
7989
7989
  const engineDiagnostics = await buildNativePdf(htmlFile, rawPdf, {
7990
7990
  title: config.title,
7991
7991
  author: config.authors.length > 0 ? config.authors.join(", ") : undefined,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  package_default
3
- } from "./cli-7j9jvvs7.js";
3
+ } from "./cli-vdpnctkq.js";
4
4
  import {
5
5
  execCapture,
6
6
  findTool,
@@ -1106,7 +1106,7 @@ import { fileURLToPath } from "node:url";
1106
1106
  var favicon_default = "./favicon-wkbm9cjn.ico";
1107
1107
 
1108
1108
  // src/assets/manifest.schema.json
1109
- var manifest_schema_default = "./manifest.schema-b9ph2xcr.json";
1109
+ var manifest_schema_default = "./manifest.schema-40sfq49z.json";
1110
1110
 
1111
1111
  // src/assets/preview/scripts/preview-interface.js
1112
1112
  var preview_interface_default = "./preview-interface-twd6nsf5.js";
@@ -4,7 +4,7 @@ import {
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "gutterpress",
7
- version: "0.11.15-alpha.1",
7
+ version: "0.11.15-alpha.2",
8
8
  description: "Markdown-to-PDF converter for professional print layout using a native Chromium print engine and Ghostscript.",
9
9
  author: "itlackey",
10
10
  license: "MPL-2.0",
package/dist/cli.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  UsageError,
7
7
  package_default,
8
8
  rejectUnknownFlags
9
- } from "./cli-7j9jvvs7.js";
9
+ } from "./cli-vdpnctkq.js";
10
10
  import {
11
11
  EXIT_CODES
12
12
  } from "./cli-46ycxe6r.js";
@@ -18,14 +18,14 @@ import {
18
18
  import { defineCommand, parseArgs, runMain } from "citty";
19
19
  import { statSync } from "node:fs";
20
20
  var SUBCOMMANDS = {
21
- new: () => import("./new-rqdgep00.js").then((m) => m.default),
22
- preview: () => import("./preview-1b2cpwt4.js").then((m) => m.default),
23
- build: () => import("./build-r395dbr9.js").then((m) => m.default),
24
- publish: () => import("./publish-kedn43sb.js").then((m) => m.default),
25
- validate: () => import("./validate-vqe18k3t.js").then((m) => m.default),
26
- preflight: () => import("./preflight-vg3d7a0c.js").then((m) => m.default),
27
- doctor: () => import("./doctor-5rq3qhdp.js").then((m) => m.default),
28
- ext: () => import("./ext-0bvaceew.js").then((m) => m.default)
21
+ new: () => import("./new-7npm260n.js").then((m) => m.default),
22
+ preview: () => import("./preview-xkp190pd.js").then((m) => m.default),
23
+ build: () => import("./build-4522yqmm.js").then((m) => m.default),
24
+ publish: () => import("./publish-czx47htf.js").then((m) => m.default),
25
+ validate: () => import("./validate-x89z3zrq.js").then((m) => m.default),
26
+ preflight: () => import("./preflight-y0jhsz8p.js").then((m) => m.default),
27
+ doctor: () => import("./doctor-fgvwe9j2.js").then((m) => m.default),
28
+ ext: () => import("./ext-v44phkxz.js").then((m) => m.default)
29
29
  };
30
30
  var VERSION = package_default.version;
31
31
  var main = defineCommand({
@@ -50,7 +50,7 @@ async function preflightRequiredInvocations(rawArgs) {
50
50
  const [command, ...commandArgs] = rawArgs;
51
51
  try {
52
52
  if (command === "new") {
53
- const { newArgs } = await import("./new-rqdgep00.js");
53
+ const { newArgs } = await import("./new-7npm260n.js");
54
54
  rejectUnknownFlags(commandArgs, newArgs, "new");
55
55
  const parsed = parseArgs(commandArgs, {
56
56
  ...newArgs,
@@ -62,7 +62,7 @@ async function preflightRequiredInvocations(rawArgs) {
62
62
  return;
63
63
  }
64
64
  if (command === "preflight") {
65
- const { preflightArgs } = await import("./preflight-vg3d7a0c.js");
65
+ const { preflightArgs } = await import("./preflight-y0jhsz8p.js");
66
66
  rejectUnknownFlags(commandArgs, preflightArgs, "preflight");
67
67
  const parsed = parseArgs(commandArgs, {
68
68
  ...preflightArgs,
@@ -82,7 +82,7 @@ async function preflightRequiredInvocations(rawArgs) {
82
82
  }
83
83
  if (subcommand.startsWith("-"))
84
84
  return;
85
- const { EXT_SUBCOMMANDS, extAddArgs, extRemoveArgs, extEnableArgs, extDisableArgs } = await import("./ext-0bvaceew.js");
85
+ const { EXT_SUBCOMMANDS, extAddArgs, extRemoveArgs, extEnableArgs, extDisableArgs } = await import("./ext-v44phkxz.js");
86
86
  if (!EXT_SUBCOMMANDS.includes(subcommand)) {
87
87
  throw new UsageError(`gutterpress ext: unknown command "${subcommand}"`);
88
88
  }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  getSystemDiagnostics,
3
3
  log
4
- } from "./cli-bscaare6.js";
4
+ } from "./cli-b496rxy0.js";
5
5
  import {
6
6
  UsageError,
7
7
  rejectExtraPositionals,
8
8
  rejectUnknownFlags
9
- } from "./cli-7j9jvvs7.js";
9
+ } from "./cli-vdpnctkq.js";
10
10
  import"./cli-46ycxe6r.js";
11
11
  import"./cli-7fkhgtfn.js";
12
12
  import"./cli-37x76zdn.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  build
3
- } from "./cli-kchpmn97.js";
3
+ } from "./cli-mc3waxaw.js";
4
4
  import {
5
5
  BuildError
6
6
  } from "./cli-46ycxe6r.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  build
3
- } from "./index-6t5e811b.js";
3
+ } from "./index-ypxhxvwv.js";
4
4
  import {
5
5
  BuildError
6
- } from "./index-9fwjqyv5.js";
6
+ } from "./index-w6tqhafk.js";
7
7
  import"./index-rzm1phg0.js";
8
8
  import"./index-37x76zdn.js";
9
9
 
@@ -12,16 +12,16 @@ import {
12
12
  searchNpmExtensions,
13
13
  setExtensionEnabled,
14
14
  updateExtensions
15
- } from "./cli-1chdeea4.js";
16
- import"./cli-bscaare6.js";
15
+ } from "./cli-7pw53gnm.js";
16
+ import"./cli-b496rxy0.js";
17
17
  import {
18
18
  UsageError,
19
19
  exitForUsage,
20
20
  rejectExtraPositionals,
21
21
  rejectUnknownFlags,
22
22
  resolveProjectDir
23
- } from "./cli-7j9jvvs7.js";
24
- import"./cli-kchpmn97.js";
23
+ } from "./cli-vdpnctkq.js";
24
+ import"./cli-mc3waxaw.js";
25
25
  import {
26
26
  EXIT_CODES
27
27
  } from "./cli-46ycxe6r.js";
@@ -4,7 +4,7 @@ import {
4
4
  MARGIN_BOX_IGNORED_PROPERTIES,
5
5
  getAssetPath,
6
6
  getAssetsDir
7
- } from "./index-9fwjqyv5.js";
7
+ } from "./index-w6tqhafk.js";
8
8
  import {
9
9
  INSTALL_HINTS,
10
10
  execCapture,
@@ -3860,7 +3860,7 @@ import git from "isomorphic-git";
3860
3860
  // package.json
3861
3861
  var package_default = {
3862
3862
  name: "gutterpress",
3863
- version: "0.11.15-alpha.1",
3863
+ version: "0.11.15-alpha.2",
3864
3864
  description: "Markdown-to-PDF converter for professional print layout using a native Chromium print engine and Ghostscript.",
3865
3865
  author: "itlackey",
3866
3866
  license: "MPL-2.0",
@@ -8475,7 +8475,7 @@ class PdfOutput {
8475
8475
  const rawPdf = pdfxMode ? path8.join(stage, "raw.pdf") : path8.resolve(pdfFile);
8476
8476
  await fsp2.mkdir(path8.dirname(path8.resolve(pdfFile)), { recursive: true });
8477
8477
  log.info("Rendering HTML to PDF via the Gutterpress engine (native Chromium pagination)");
8478
- const { buildNativePdf } = await import("./engine-k7xfrh7g.js");
8478
+ const { buildNativePdf } = await import("./engine-s18wy689.js");
8479
8479
  const engineDiagnostics = await buildNativePdf(htmlFile, rawPdf, {
8480
8480
  title: config.title,
8481
8481
  author: config.authors.length > 0 ? config.authors.join(", ") : undefined,
@@ -26,7 +26,7 @@ import { fileURLToPath } from "node:url";
26
26
  var favicon_default = "./favicon-wkbm9cjn.ico";
27
27
 
28
28
  // src/assets/manifest.schema.json
29
- var manifest_schema_default = "./manifest.schema-b9ph2xcr.json";
29
+ var manifest_schema_default = "./manifest.schema-40sfq49z.json";
30
30
 
31
31
  // src/assets/preview/scripts/preview-interface.js
32
32
  var preview_interface_default = "./preview-interface-twd6nsf5.js";
@@ -3,7 +3,7 @@ import {
3
3
  isIgnoredMarginBoxProperty,
4
4
  marginBoxAlign,
5
5
  marginBoxRectPt
6
- } from "./index-9fwjqyv5.js";
6
+ } from "./index-w6tqhafk.js";
7
7
  import {
8
8
  launchChromium
9
9
  } from "./index-rzm1phg0.js";
package/dist/index.js CHANGED
@@ -146,13 +146,13 @@ import {
146
146
  testRemoteAccess,
147
147
  updateExtensions,
148
148
  validateProjectExtensions
149
- } from "./index-qpm8kr79.js";
149
+ } from "./index-j77039xr.js";
150
150
  import {
151
151
  BUILD_DIAGNOSTIC_CODES
152
- } from "./index-6t5e811b.js";
152
+ } from "./index-ypxhxvwv.js";
153
153
  import {
154
154
  BuildError
155
- } from "./index-9fwjqyv5.js";
155
+ } from "./index-w6tqhafk.js";
156
156
  import {
157
157
  DEFAULT_PRINT_OPTS,
158
158
  assertMilestone,
@@ -157,6 +157,22 @@
157
157
  }
158
158
  }
159
159
  },
160
+ "print": {
161
+ "type": "object",
162
+ "description": "Page-count rules applied when the PDF is built.",
163
+ "properties": {
164
+ "signature": {
165
+ "type": "integer",
166
+ "description": "Pad the PDF with blank pages until the page count is a multiple of this. `1` means no padding. Preset defaults: dtrpg 4, book 1.",
167
+ "minimum": 1,
168
+ "examples": [1, 4, 6]
169
+ },
170
+ "reserveLastPage": {
171
+ "type": "boolean",
172
+ "description": "Guarantee the final page is a blank page added by the build (no background, no page number). When the content already fills a signature exactly, a full signature of blank pages is added. DriveThruRPG reserves the last page for printer information. Preset defaults: dtrpg true, book false."
173
+ }
174
+ }
175
+ },
160
176
  "page": {
161
177
  "type": "object",
162
178
  "description": "Expected page geometry, in POINTS. VALIDATION BOUNDS ONLY — these values do NOT set the trim size. The real PDF page size comes from the CSS `@page` rule in your stylesheet; these numbers are only what the `pdf.print.page-size` check compares the produced PDF against. Set them to the trim size you expect so a CSS mistake gets caught — and note that a bleed-inclusive @page size will legitimately differ from the trim size recorded here.",
@@ -7,16 +7,16 @@ import {
7
7
  TARGET_IDS,
8
8
  scaffoldExtension,
9
9
  scaffoldProject
10
- } from "./cli-1chdeea4.js";
10
+ } from "./cli-7pw53gnm.js";
11
11
  import {
12
12
  resolveGhostscript
13
- } from "./cli-bscaare6.js";
13
+ } from "./cli-b496rxy0.js";
14
14
  import {
15
15
  UsageError,
16
16
  rejectExtraPositionals,
17
17
  rejectUnknownFlags
18
- } from "./cli-7j9jvvs7.js";
19
- import"./cli-kchpmn97.js";
18
+ } from "./cli-vdpnctkq.js";
19
+ import"./cli-mc3waxaw.js";
20
20
  import {
21
21
  EXIT_CODES
22
22
  } from "./cli-46ycxe6r.js";
@@ -2,16 +2,16 @@ import {
2
2
  executeValidation,
3
3
  publishTargetFor,
4
4
  reportMissingTools
5
- } from "./cli-1chdeea4.js";
5
+ } from "./cli-7pw53gnm.js";
6
6
  import {
7
7
  log
8
- } from "./cli-bscaare6.js";
8
+ } from "./cli-b496rxy0.js";
9
9
  import {
10
10
  UsageError,
11
11
  rejectExtraPositionals,
12
12
  rejectUnknownFlags
13
- } from "./cli-7j9jvvs7.js";
14
- import"./cli-kchpmn97.js";
13
+ } from "./cli-vdpnctkq.js";
14
+ import"./cli-mc3waxaw.js";
15
15
  import {
16
16
  EXIT_CODES
17
17
  } from "./cli-46ycxe6r.js";
@@ -6,10 +6,10 @@ import {
6
6
  runBuild,
7
7
  splitOutPath,
8
8
  startPreviewServer
9
- } from "./cli-1chdeea4.js";
9
+ } from "./cli-7pw53gnm.js";
10
10
  import {
11
11
  log
12
- } from "./cli-bscaare6.js";
12
+ } from "./cli-b496rxy0.js";
13
13
  import {
14
14
  UsageError,
15
15
  parseFormat,
@@ -17,8 +17,8 @@ import {
17
17
  rejectExtraPositionals,
18
18
  rejectUnknownFlags,
19
19
  resolvePort
20
- } from "./cli-7j9jvvs7.js";
21
- import"./cli-kchpmn97.js";
20
+ } from "./cli-vdpnctkq.js";
21
+ import"./cli-mc3waxaw.js";
22
22
  import {
23
23
  BuildError
24
24
  } from "./cli-46ycxe6r.js";
@@ -11,17 +11,17 @@ import {
11
11
  publishProviderFor,
12
12
  resolvePublishFormat,
13
13
  runPublish
14
- } from "./cli-1chdeea4.js";
14
+ } from "./cli-7pw53gnm.js";
15
15
  import {
16
16
  FileTokenStore,
17
17
  log
18
- } from "./cli-bscaare6.js";
18
+ } from "./cli-b496rxy0.js";
19
19
  import {
20
20
  UsageError,
21
21
  rejectExtraPositionals,
22
22
  rejectUnknownFlags
23
- } from "./cli-7j9jvvs7.js";
24
- import"./cli-kchpmn97.js";
23
+ } from "./cli-vdpnctkq.js";
24
+ import"./cli-mc3waxaw.js";
25
25
  import {
26
26
  EXIT_CODES
27
27
  } from "./cli-46ycxe6r.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  executeAndReport
3
- } from "./cli-1chdeea4.js";
3
+ } from "./cli-7pw53gnm.js";
4
4
  import {
5
5
  log
6
- } from "./cli-bscaare6.js";
6
+ } from "./cli-b496rxy0.js";
7
7
  import {
8
8
  UsageError,
9
9
  rejectExtraPositionals,
10
10
  rejectUnknownFlags
11
- } from "./cli-7j9jvvs7.js";
12
- import"./cli-kchpmn97.js";
11
+ } from "./cli-vdpnctkq.js";
12
+ import"./cli-mc3waxaw.js";
13
13
  import {
14
14
  EXIT_CODES
15
15
  } from "./cli-46ycxe6r.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gutterpress",
3
- "version": "0.11.15-alpha.1",
3
+ "version": "0.11.15-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",