gutterpress 0.10.9 → 0.10.10-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 (58) hide show
  1. package/README.md +66 -5
  2. package/dist/{README-jntqyj1z.md → README-3zk4tgnj.md} +4 -4
  3. package/dist/{README-6c7fda1s.md → README-7x5akcns.md} +5 -4
  4. package/dist/api/index.d.ts +7 -4
  5. package/dist/api/index.js +22 -12
  6. package/dist/{audit-fq7s1gsz.js → audit-wcmbgh39.js} +5 -5
  7. package/dist/{build-dyat3fqd.js → build-c1w6kqpv.js} +6 -6
  8. package/dist/{cli-ypfvnhag.js → cli-2rswy18t.js} +1 -1
  9. package/dist/{cli-w692g6dx.js → cli-4mtf9ajw.js} +127 -1
  10. package/dist/{cli-bzxqtvrk.js → cli-75qkn0k5.js} +1 -1
  11. package/dist/{cli-bx950tb4.js → cli-k8f9eb12.js} +22 -26
  12. package/dist/{cli-8pg731p5.js → cli-n0vgey6x.js} +4914 -4707
  13. package/dist/{cli-rh05byck.js → cli-scqp638v.js} +1 -1
  14. package/dist/cli.js +16 -16
  15. package/dist/{components-0mmswvvm.yaml → components-dhgv2sm7.yaml} +2 -2
  16. package/dist/{doctor-yr85n080.js → doctor-drv36btj.js} +2 -2
  17. package/dist/{engine-d46wgg99.js → engine-pt2acjb5.js} +2 -2
  18. package/dist/{engine-19mshh07.js → engine-qtmvaqt7.js} +1 -1
  19. package/dist/{ext-jrg8c48s.js → ext-xqx26xvy.js} +52 -8
  20. package/dist/{index-mey5vraz.js → index-1he93sjd.js} +918 -796
  21. package/dist/{index-zwcv1njy.js → index-5dgxeevv.js} +22 -26
  22. package/dist/{index-dhgzkhs7.js → index-a0e2253t.js} +1 -1
  23. package/dist/{index-dtrftayr.js → index-y01v2fe0.js} +127 -1
  24. package/dist/index.js +102 -15
  25. package/dist/lib/build-error.d.ts +6 -5
  26. package/dist/lib/build-preflight.d.ts +11 -1
  27. package/dist/lib/build-runner.d.ts +49 -16
  28. package/dist/lib/extension-import.d.ts +4 -4
  29. package/dist/lib/extension-manager.d.ts +3 -3
  30. package/dist/lib/extension-manifest.d.ts +91 -87
  31. package/dist/lib/extension-scaffold.d.ts +1 -1
  32. package/dist/lib/extension-search.d.ts +46 -0
  33. package/dist/lib/host-policy.d.ts +10 -12
  34. package/dist/lib/lint-runner.d.ts +16 -9
  35. package/dist/lib/npm-registry.d.ts +22 -0
  36. package/dist/lib/source-provider.d.ts +71 -0
  37. package/dist/lib/validation-exec.d.ts +11 -0
  38. package/dist/{lint-enasqbqx.js → lint-ejzmx14j.js} +5 -5
  39. package/dist/{new-r9c99wsn.js → new-g3q3h4s5.js} +6 -6
  40. package/dist/package-97gm31sg.json +10 -0
  41. package/dist/{package-rm9d2tht.json → package-9rv69pxm.json} +4 -1
  42. package/dist/package-aenwjew3.json +28 -0
  43. package/dist/package-gag6ykwn.json +10 -0
  44. package/dist/package-nrhkwf2m.json +10 -0
  45. package/dist/{plugin.test.js-npnfhyca.tpl → plugin.test.js-k2r87k04.tpl} +9 -8
  46. package/dist/{preflight-shk7vqbs.js → preflight-w5z2vfhx.js} +5 -5
  47. package/dist/{preview-52918mxk.js → preview-9s22dq77.js} +6 -6
  48. package/dist/{publish-8s60vhx7.js → publish-mt22ewpk.js} +5 -5
  49. package/dist/{source-provider-2j5x2hyw.js → source-provider-51g6mt6y.js} +7 -1
  50. package/dist/{source-provider-kn41jmbs.js → source-provider-jkppq9fc.js} +7 -1
  51. package/dist/{tokens-e4xk3x4v.css → tokens-2sracx1w.css} +1 -1
  52. package/dist/{validate-awccx32r.js → validate-kkn8rmy5.js} +5 -5
  53. package/package.json +1 -1
  54. package/dist/gutterpress-m98e2w2d.json +0 -8
  55. package/dist/gutterpress-x2ycdsb8.json +0 -17
  56. package/dist/theme-etj4gxck.json +0 -9
  57. package/dist/theme-s2rg7xe7.json +0 -9
  58. package/dist/theme-vktedy8q.json +0 -9
@@ -5,7 +5,6 @@
5
5
  "type": "module",
6
6
  "main": "plugin.js",
7
7
  "files": [
8
- "gutterpress.json",
9
8
  "plugin.js",
10
9
  "styles",
11
10
  "snippets",
@@ -14,6 +13,10 @@
14
13
  "keywords": ["gutterpress", "gutterpress-plugin", "markdown-it-plugin"],
15
14
  "author": "{{AUTHOR}}",
16
15
  "license": "MIT",
16
+ "gutterpress": {
17
+ "styles": ["styles/plugin.css"],
18
+ "snippets": "snippets"
19
+ },
17
20
  "scripts": {
18
21
  "test": "bun test"
19
22
  },
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "{{SLUG}}",
3
+ "version": "0.1.0",
4
+ "description": "{{DESCRIPTION}}",
5
+ "files": [
6
+ "styles",
7
+ "snippets",
8
+ "components.yaml",
9
+ "README.md"
10
+ ],
11
+ "keywords": ["gutterpress", "gutterpress-look"],
12
+ "author": "{{AUTHOR}}",
13
+ "license": "MIT",
14
+ "gutterpress": {
15
+ "styles": [
16
+ "styles/tokens.css",
17
+ "styles/base.css",
18
+ "styles/components.css",
19
+ "styles/page-templates.css",
20
+ "styles/page-rules.css",
21
+ "styles/book.css"
22
+ ],
23
+ "tokensFile": "styles/tokens.css",
24
+ "components": "components.yaml",
25
+ "snippets": "snippets",
26
+ "preview": null
27
+ }
28
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -16,7 +16,7 @@
16
16
  * it — a diff somebody had to read is the point of the file.
17
17
  *
18
18
  * 2. CONTRACT. The exact export shape Gutterpress's loader requires, and the
19
- * existence of every file `gutterpress.json` declares. These catch the
19
+ * existence of every file `package.json` declares. These catch the
20
20
  * failures that otherwise surface as a blank page in someone else's book.
21
21
  *
22
22
  * 3. CONVENTIONS. The prefix rules — every class this package emits is its
@@ -44,7 +44,7 @@ const here = path.dirname(fileURLToPath(import.meta.url));
44
44
  const root = path.join(here, "..");
45
45
  const read = (rel) => readFileSync(path.join(root, rel), "utf8");
46
46
 
47
- const pkg = JSON.parse(read("gutterpress.json"));
47
+ const pkg = JSON.parse(read("package.json"));
48
48
  const css = read("styles/plugin.css");
49
49
  /** The stylesheet's RULES — comments stripped, so a name assertion below
50
50
  * tests what the sheet emits rather than what it talks about. */
@@ -117,13 +117,14 @@ describe("loader contract", () => {
117
117
  expect(metadata.name.length).toBeGreaterThan(0);
118
118
  });
119
119
 
120
- test("every path gutterpress.json declares exists", () => {
120
+ test("every path package.json declares exists", () => {
121
+ const gp = pkg.gutterpress ?? {};
121
122
  const declared = [
122
- pkg.markdown,
123
- ...(pkg.styles ?? []),
124
- pkg.components,
125
- pkg.snippets,
126
- pkg.tokensFile,
123
+ gp.markdown ?? pkg.main,
124
+ ...(gp.styles ?? []),
125
+ gp.components,
126
+ gp.snippets,
127
+ gp.tokensFile,
127
128
  ].filter(Boolean);
128
129
 
129
130
  expect(declared.length).toBeGreaterThan(0);
@@ -2,21 +2,21 @@ import {
2
2
  executeValidation,
3
3
  publishTargetFor,
4
4
  reportMissingTools
5
- } from "./cli-8pg731p5.js";
5
+ } from "./cli-n0vgey6x.js";
6
6
  import {
7
7
  log
8
- } from "./cli-ypfvnhag.js";
8
+ } from "./cli-2rswy18t.js";
9
9
  import {
10
10
  UsageError,
11
11
  rejectExtraPositionals,
12
12
  rejectUnknownFlags
13
- } from "./cli-rh05byck.js";
14
- import"./cli-bx950tb4.js";
13
+ } from "./cli-scqp638v.js";
14
+ import"./cli-k8f9eb12.js";
15
15
  import"./cli-c41yr7he.js";
16
16
  import {
17
17
  EXIT_CODES
18
18
  } from "./cli-46ycxe6r.js";
19
- import"./cli-w692g6dx.js";
19
+ import"./cli-4mtf9ajw.js";
20
20
  import"./cli-v5mp7a6q.js";
21
21
  import"./cli-37x76zdn.js";
22
22
 
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  previewArgs
3
- } from "./cli-bzxqtvrk.js";
3
+ } from "./cli-75qkn0k5.js";
4
4
  import {
5
5
  openPath,
6
6
  runBuild,
7
7
  splitOutPath,
8
8
  startPreviewServer
9
- } from "./cli-8pg731p5.js";
9
+ } from "./cli-n0vgey6x.js";
10
10
  import {
11
11
  log
12
- } from "./cli-ypfvnhag.js";
12
+ } from "./cli-2rswy18t.js";
13
13
  import {
14
14
  UsageError,
15
15
  parseFormat,
@@ -17,13 +17,13 @@ import {
17
17
  rejectExtraPositionals,
18
18
  rejectUnknownFlags,
19
19
  resolvePort
20
- } from "./cli-rh05byck.js";
21
- import"./cli-bx950tb4.js";
20
+ } from "./cli-scqp638v.js";
21
+ import"./cli-k8f9eb12.js";
22
22
  import"./cli-c41yr7he.js";
23
23
  import {
24
24
  BuildError
25
25
  } from "./cli-46ycxe6r.js";
26
- import"./cli-w692g6dx.js";
26
+ import"./cli-4mtf9ajw.js";
27
27
  import"./cli-v5mp7a6q.js";
28
28
  import"./cli-37x76zdn.js";
29
29
 
@@ -11,22 +11,22 @@ import {
11
11
  publishProviderFor,
12
12
  resolvePublishFormat,
13
13
  runPublish
14
- } from "./cli-8pg731p5.js";
14
+ } from "./cli-n0vgey6x.js";
15
15
  import {
16
16
  FileTokenStore,
17
17
  log
18
- } from "./cli-ypfvnhag.js";
18
+ } from "./cli-2rswy18t.js";
19
19
  import {
20
20
  UsageError,
21
21
  rejectExtraPositionals,
22
22
  rejectUnknownFlags
23
- } from "./cli-rh05byck.js";
24
- import"./cli-bx950tb4.js";
23
+ } from "./cli-scqp638v.js";
24
+ import"./cli-k8f9eb12.js";
25
25
  import"./cli-c41yr7he.js";
26
26
  import {
27
27
  EXIT_CODES
28
28
  } from "./cli-46ycxe6r.js";
29
- import"./cli-w692g6dx.js";
29
+ import"./cli-4mtf9ajw.js";
30
30
  import"./cli-v5mp7a6q.js";
31
31
  import"./cli-37x76zdn.js";
32
32
 
@@ -2,12 +2,14 @@ import {
2
2
  AUTO_SNAPSHOT_MESSAGE,
3
3
  HISTORY_PAGE_LIMIT,
4
4
  RESTORE_BACKUP_MESSAGE,
5
+ SWITCH_BRANCH_SNAPSHOT_MESSAGE,
5
6
  __repoLockQueueSizeForTests,
6
7
  gitDirFor,
7
8
  gitScopeFor,
8
9
  hasPendingChanges,
9
10
  hasUncommittedChanges,
10
11
  isNoChangesError,
12
+ listLocalBranches,
11
13
  listWorkdirChanges,
12
14
  providerFor,
13
15
  resolveGitAuthor,
@@ -15,12 +17,14 @@ import {
15
17
  snapshotStagingMarkerPath,
16
18
  snapshotWorkingTreeUnlocked,
17
19
  stageChanges,
20
+ switchBranch,
18
21
  withRepoLock
19
- } from "./cli-w692g6dx.js";
22
+ } from "./cli-4mtf9ajw.js";
20
23
  import"./cli-v5mp7a6q.js";
21
24
  import"./cli-37x76zdn.js";
22
25
  export {
23
26
  withRepoLock,
27
+ switchBranch,
24
28
  stageChanges,
25
29
  snapshotWorkingTreeUnlocked,
26
30
  snapshotStagingMarkerPath,
@@ -28,12 +32,14 @@ export {
28
32
  resolveGitAuthor,
29
33
  providerFor,
30
34
  listWorkdirChanges,
35
+ listLocalBranches,
31
36
  isNoChangesError,
32
37
  hasUncommittedChanges,
33
38
  hasPendingChanges,
34
39
  gitScopeFor,
35
40
  gitDirFor,
36
41
  __repoLockQueueSizeForTests,
42
+ SWITCH_BRANCH_SNAPSHOT_MESSAGE,
37
43
  RESTORE_BACKUP_MESSAGE,
38
44
  HISTORY_PAGE_LIMIT,
39
45
  AUTO_SNAPSHOT_MESSAGE
@@ -2,12 +2,14 @@ import {
2
2
  AUTO_SNAPSHOT_MESSAGE,
3
3
  HISTORY_PAGE_LIMIT,
4
4
  RESTORE_BACKUP_MESSAGE,
5
+ SWITCH_BRANCH_SNAPSHOT_MESSAGE,
5
6
  __repoLockQueueSizeForTests,
6
7
  gitDirFor,
7
8
  gitScopeFor,
8
9
  hasPendingChanges,
9
10
  hasUncommittedChanges,
10
11
  isNoChangesError,
12
+ listLocalBranches,
11
13
  listWorkdirChanges,
12
14
  providerFor,
13
15
  resolveGitAuthor,
@@ -15,12 +17,14 @@ import {
15
17
  snapshotStagingMarkerPath,
16
18
  snapshotWorkingTreeUnlocked,
17
19
  stageChanges,
20
+ switchBranch,
18
21
  withRepoLock
19
- } from "./index-dtrftayr.js";
22
+ } from "./index-y01v2fe0.js";
20
23
  import"./index-v5mp7a6q.js";
21
24
  import"./index-37x76zdn.js";
22
25
  export {
23
26
  withRepoLock,
27
+ switchBranch,
24
28
  stageChanges,
25
29
  snapshotWorkingTreeUnlocked,
26
30
  snapshotStagingMarkerPath,
@@ -28,12 +32,14 @@ export {
28
32
  resolveGitAuthor,
29
33
  providerFor,
30
34
  listWorkdirChanges,
35
+ listLocalBranches,
31
36
  isNoChangesError,
32
37
  hasUncommittedChanges,
33
38
  hasPendingChanges,
34
39
  gitScopeFor,
35
40
  gitDirFor,
36
41
  __repoLockQueueSizeForTests,
42
+ SWITCH_BRANCH_SNAPSHOT_MESSAGE,
37
43
  RESTORE_BACKUP_MESSAGE,
38
44
  HISTORY_PAGE_LIMIT,
39
45
  AUTO_SNAPSHOT_MESSAGE
@@ -5,7 +5,7 @@
5
5
  * `:root` custom properties, and nothing else. The palette, the type scale,
6
6
  * the spacing scale, the measure. This is the file a non-technical author
7
7
  * edits to rebrand the whole book, and the file the desktop app's Design
8
- * panel reads (`gutterpress.json` points `tokensFile` here).
8
+ * panel reads (`package.json` points `gutterpress.tokensFile` here).
9
9
  *
10
10
  * MUST NOT CONTAIN
11
11
  * - Any selector other than `:root`. The moment a rule here targets `h1`,
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  executeAndReport
3
- } from "./cli-8pg731p5.js";
3
+ } from "./cli-n0vgey6x.js";
4
4
  import {
5
5
  log
6
- } from "./cli-ypfvnhag.js";
6
+ } from "./cli-2rswy18t.js";
7
7
  import {
8
8
  UsageError,
9
9
  rejectExtraPositionals,
10
10
  rejectUnknownFlags
11
- } from "./cli-rh05byck.js";
12
- import"./cli-bx950tb4.js";
11
+ } from "./cli-scqp638v.js";
12
+ import"./cli-k8f9eb12.js";
13
13
  import"./cli-c41yr7he.js";
14
14
  import {
15
15
  EXIT_CODES
16
16
  } from "./cli-46ycxe6r.js";
17
- import"./cli-w692g6dx.js";
17
+ import"./cli-4mtf9ajw.js";
18
18
  import"./cli-v5mp7a6q.js";
19
19
  import"./cli-37x76zdn.js";
20
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gutterpress",
3
- "version": "0.10.9",
3
+ "version": "0.10.10-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",
@@ -1,8 +0,0 @@
1
- {
2
- "name": "{{NAME}}",
3
- "author": "{{AUTHOR}}",
4
- "description": "{{DESCRIPTION}}",
5
- "markdown": "plugin.js",
6
- "styles": ["styles/plugin.css"],
7
- "snippets": "snippets"
8
- }
@@ -1,17 +0,0 @@
1
- {
2
- "name": "{{NAME}}",
3
- "author": "{{AUTHOR}}",
4
- "description": "{{DESCRIPTION}}",
5
- "preview": null,
6
- "styles": [
7
- "styles/tokens.css",
8
- "styles/base.css",
9
- "styles/components.css",
10
- "styles/page-templates.css",
11
- "styles/page-rules.css",
12
- "styles/book.css"
13
- ],
14
- "tokensFile": "styles/tokens.css",
15
- "components": "components.yaml",
16
- "snippets": "snippets"
17
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "Zine",
3
- "author": "gutterpress",
4
- "description": "High-contrast, punchy sans-serif look for short photocopier-friendly zines.",
5
- "preview": null,
6
- "styles": [
7
- "theme.css"
8
- ]
9
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "Technical Document",
3
- "author": "gutterpress",
4
- "description": "Clean sans-serif manual look with clear hierarchy, code styling, and tidy tables.",
5
- "preview": null,
6
- "styles": [
7
- "theme.css"
8
- ]
9
- }
@@ -1,9 +0,0 @@
1
- {
2
- "name": "Clean Book",
3
- "author": "gutterpress",
4
- "description": "A calm, classic book look: serif body, generous margins, restrained accents.",
5
- "preview": null,
6
- "styles": [
7
- "theme.css"
8
- ]
9
- }