gutterpress 0.11.22 → 0.11.23-alpha.1

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 (57) hide show
  1. package/README.md +5 -5
  2. package/dist/{README-3nj919rm.md → README-8ef336pp.md} +1 -1
  3. package/dist/api/index.js +4 -4
  4. package/dist/{build-53bw14h7.js → build-09cd1n7s.js} +8 -8
  5. package/dist/{chapter-01-rkpyvjna.md → chapter-01-gsbjt584.md} +1 -1
  6. package/dist/chapter-01-s71xrf5q.md +69 -0
  7. package/dist/{chapter-01-7jwqg1ct.md → chapter-01-wgjfz4w6.md} +1 -1
  8. package/dist/checks/source/character-table.d.ts +12 -6
  9. package/dist/{cli-ke86zsz6.js → cli-5hkmp2wy.js} +70 -40
  10. package/dist/{cli-kx4hbnx2.js → cli-b0vyjvmt.js} +1 -1
  11. package/dist/{cli-1hxxwbaq.js → cli-ccp7sxz3.js} +1 -1
  12. package/dist/{cli-zj5xaepv.js → cli-dd115fa8.js} +22 -6
  13. package/dist/{cli-8kg0wjdt.js → cli-dtckwda1.js} +1 -1
  14. package/dist/{cli-1ngqzg8s.js → cli-fe43evmf.js} +21 -5
  15. package/dist/{cli-ntwqmdnw.js → cli-h17e3mtz.js} +462 -4
  16. package/dist/{cli-cjftezxr.js → cli-nr6j6300.js} +2 -1
  17. package/dist/cli.js +12 -12
  18. package/dist/{doctor-xka1frnx.js → doctor-nddspx4n.js} +3 -3
  19. package/dist/{engine-p93f06gj.js → engine-892swzzc.js} +2 -2
  20. package/dist/{engine-0ndvy8vj.js → engine-yjzknt0g.js} +2 -2
  21. package/dist/{ext-dwfqyy1j.js → ext-zjpen4yx.js} +9 -9
  22. package/dist/{extension-restore-7vp3vh77.js → extension-restore-jvs60x9b.js} +3 -3
  23. package/dist/{extension-restore-ct1wk344.js → extension-restore-w8xt4kbq.js} +5 -5
  24. package/dist/{index-53nrm5j1.js → index-0w2azsk1.js} +1 -1
  25. package/dist/{index-4v7e621e.js → index-2jpk25en.js} +464 -5
  26. package/dist/{index-vay3ff1f.js → index-dsvk7q6s.js} +21 -5
  27. package/dist/{index-6cmn2wpd.js → index-m4hhzg3c.js} +21 -5
  28. package/dist/{index-kh7fayjv.js → index-zrhyb967.js} +328 -311
  29. package/dist/index.js +5 -5
  30. package/dist/lib/build-runner.d.ts +1 -1
  31. package/dist/lib/extension-manager.d.ts +1 -1
  32. package/dist/lib/extension-specifier.d.ts +1 -1
  33. package/dist/lib/markdown/assemble.d.ts +7 -1
  34. package/dist/lib/markdown/gutterpress-css.d.ts +1 -1
  35. package/dist/lib/markdown/index.d.ts +4 -0
  36. package/dist/lib/markdown/math.d.ts +43 -0
  37. package/dist/lib/markdown/renderer.d.ts +11 -8
  38. package/dist/lib/markdown/table.d.ts +46 -0
  39. package/dist/lib/markdown/typography.d.ts +12 -0
  40. package/dist/lib/presets.d.ts +1 -1
  41. package/dist/lib/project-scaffold.d.ts +1 -1
  42. package/dist/lib/project-templates.d.ts +9 -1
  43. package/dist/manifest-8f10dr4f.yaml +17 -0
  44. package/dist/{manifest.schema-399bx3vc.json → manifest.schema-9aeaered.json} +8 -1
  45. package/dist/{new-1pawj2qf.js → new-xhq8wczn.js} +8 -8
  46. package/dist/package-zttkgydq.json +10 -0
  47. package/dist/{plugins-fr4fnzhb.js → plugins-9en8m9y0.js} +3 -3
  48. package/dist/{plugins-g4dgw7mn.js → plugins-gf0gkjmv.js} +1 -1
  49. package/dist/{preflight-ept9q57t.js → preflight-negnxg7b.js} +8 -8
  50. package/dist/preview/file-watcher.d.ts +1 -0
  51. package/dist/{preview-fxpnjv7k.js → preview-cep2s9cg.js} +8 -8
  52. package/dist/{publish-zhqqsgmr.js → publish-xery6qc6.js} +8 -8
  53. package/dist/render.js +470 -11
  54. package/dist/schema/manifest.types.d.ts +8 -0
  55. package/dist/theme-9c58td2d.css +76 -0
  56. package/dist/{validate-t68gvckq.js → validate-3d0sgf4g.js} +8 -8
  57. package/package.json +2 -1
@@ -26,7 +26,7 @@ import { fileURLToPath } from "node:url";
26
26
  var favicon_default = "./favicon-272ga6y0.ico";
27
27
 
28
28
  // src/assets/manifest.schema.json
29
- var manifest_schema_default = "./manifest.schema-399bx3vc.json";
29
+ var manifest_schema_default = "./manifest.schema-9aeaered.json";
30
30
 
31
31
  // src/assets/preview/scripts/preview-interface.js
32
32
  var preview_interface_default = "./preview-interface-nnmrxyqm.js";
@@ -50,13 +50,13 @@ var gutterpress_agent_default = "./gutterpress-agent-d29ry3ak.js";
50
50
  var manifest_default = "./manifest-n1gh3qw5.yaml";
51
51
 
52
52
  // src/assets/templates/book/chapter-01.md
53
- var chapter_01_default = "./chapter-01-rkpyvjna.md";
53
+ var chapter_01_default = "./chapter-01-gsbjt584.md";
54
54
 
55
55
  // src/assets/templates/zine/manifest.yaml
56
56
  var manifest_default2 = "./manifest-n1gh3qw5.yaml";
57
57
 
58
58
  // src/assets/templates/zine/chapter-01.md
59
- var chapter_01_default2 = "./chapter-01-7jwqg1ct.md";
59
+ var chapter_01_default2 = "./chapter-01-wgjfz4w6.md";
60
60
 
61
61
  // src/assets/templates/technical/manifest.yaml
62
62
  var manifest_default3 = "./manifest-n1gh3qw5.yaml";
@@ -64,6 +64,12 @@ var manifest_default3 = "./manifest-n1gh3qw5.yaml";
64
64
  // src/assets/templates/technical/chapter-01.md
65
65
  var chapter_01_default3 = "./chapter-01-6fn9pvd0.md";
66
66
 
67
+ // src/assets/templates/paper/manifest.yaml
68
+ var manifest_default4 = "./manifest-8f10dr4f.yaml";
69
+
70
+ // src/assets/templates/paper/chapter-01.md
71
+ var chapter_01_default4 = "./chapter-01-s71xrf5q.md";
72
+
67
73
  // src/assets/extension-templates/plugin/package.json
68
74
  var package_default = "./package-9rv69pxm.json";
69
75
 
@@ -92,7 +98,7 @@ var plugin_test_js_default = "./plugin.test.js-xgxrd8hf.tpl";
92
98
  var package_default2 = "./package-aenwjew3.json";
93
99
 
94
100
  // src/assets/extension-templates/theme/README.md
95
- var README_default2 = "./README-3nj919rm.md";
101
+ var README_default2 = "./README-8ef336pp.md";
96
102
 
97
103
  // src/assets/extension-templates/theme/components.yaml
98
104
  var components_default = "./components-zzqdpt3m.yaml";
@@ -136,6 +142,12 @@ var theme_default3 = "./theme-nn6d53zy.css";
136
142
  // src/assets/themes/technical-doc/package.json
137
143
  var package_default5 = "./package-nrhkwf2m.json";
138
144
 
145
+ // src/assets/themes/academic/theme.css
146
+ var theme_default4 = "./theme-9c58td2d.css";
147
+
148
+ // src/assets/themes/academic/package.json
149
+ var package_default6 = "./package-zttkgydq.json";
150
+
139
151
  // src/lib/embedded-assets.ts
140
152
  var __libdir = dirname(fileURLToPath(import.meta.url));
141
153
  var abs = (p) => resolve(__libdir, p);
@@ -155,6 +167,8 @@ var EMBEDDED_ASSETS = {
155
167
  "templates/zine/chapter-01.md": abs(filePath(chapter_01_default2)),
156
168
  "templates/technical/manifest.yaml": abs(filePath(manifest_default3)),
157
169
  "templates/technical/chapter-01.md": abs(filePath(chapter_01_default3)),
170
+ "templates/paper/manifest.yaml": abs(filePath(manifest_default4)),
171
+ "templates/paper/chapter-01.md": abs(filePath(chapter_01_default4)),
158
172
  "extension-templates/plugin/package.json": abs(filePath(package_default)),
159
173
  "extension-templates/plugin/README.md": abs(filePath(README_default)),
160
174
  "extension-templates/plugin/plugin.js.tpl": abs(filePath(plugin_js_default)),
@@ -178,7 +192,9 @@ var EMBEDDED_ASSETS = {
178
192
  "themes/zine/theme.css": abs(filePath(theme_default2)),
179
193
  "themes/zine/package.json": abs(filePath(package_default4)),
180
194
  "themes/technical-doc/theme.css": abs(filePath(theme_default3)),
181
- "themes/technical-doc/package.json": abs(filePath(package_default5))
195
+ "themes/technical-doc/package.json": abs(filePath(package_default5)),
196
+ "themes/academic/theme.css": abs(filePath(theme_default4)),
197
+ "themes/academic/package.json": abs(filePath(package_default6))
182
198
  };
183
199
  var extractPromise = null;
184
200
  async function extractAssets() {
@@ -9,12 +9,12 @@ import {
9
9
  readExtensionMeta,
10
10
  resolveExtension,
11
11
  slugify
12
- } from "./index-4v7e621e.js";
12
+ } from "./index-2jpk25en.js";
13
13
  import {
14
14
  BuildError,
15
15
  EXIT_CODES,
16
16
  getAssetsDir
17
- } from "./index-vay3ff1f.js";
17
+ } from "./index-dsvk7q6s.js";
18
18
  import {
19
19
  PLUGINS_DIR,
20
20
  VENDORED_NPM_DIR,
@@ -92,7 +92,8 @@ var BUNDLED_EXTENSIONS = [
92
92
  "markdown-it-sub",
93
93
  "markdown-it-sup",
94
94
  "markdown-it-abbr",
95
- "gutterpress-gfm-alerts"
95
+ "gutterpress-gfm-alerts",
96
+ "gutterpress-math"
96
97
  ];
97
98
  function isBundledExtension(name) {
98
99
  return BUNDLED_EXTENSIONS.includes(name);
@@ -108,7 +109,7 @@ function parseExtensionSpecifier(use) {
108
109
  if (isPathSpecifier(spec))
109
110
  return { kind: "path", path: spec };
110
111
  if (/\.(m?js|cjs)$/i.test(spec) || !spec.startsWith("@") && spec.includes("/")) {
111
- throw new Error(`"${spec}" looks like a path — write it as "./${spec}". A specifier that does not ` + "start with ./, ../ or / is an npm package name.");
112
+ throw new Error(`"${spec}" looks like a path; write it as "./${spec}". A specifier that does not ` + "start with ./, ../ or / is an npm package name.");
112
113
  }
113
114
  const parsed = parseNpmPluginSpec(spec);
114
115
  if (isBundledExtension(parsed.name)) {
@@ -603,6 +604,15 @@ function mergeShape(cli, manifest, preset) {
603
604
  }
604
605
  return out;
605
606
  }
607
+ var LANGUAGE_TAG = /^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$/;
608
+ function resolveLanguage(value) {
609
+ if (value === undefined)
610
+ return "en";
611
+ if (typeof value !== "string" || !LANGUAGE_TAG.test(value)) {
612
+ throw new UsageError(`Manifest field \`language\` must be a language tag such as "en", "de" or "pt-BR", got ${JSON.stringify(value)}.`);
613
+ }
614
+ return value;
615
+ }
606
616
  function resolveConfig(cliOverrides, manifest) {
607
617
  const presetName = cliOverrides.preset ?? manifest.preset;
608
618
  return resolveWithPreset(cliOverrides, manifest, resolvePreset(presetName));
@@ -690,6 +700,7 @@ function resolveWithPreset(cliOverrides, manifest, preset) {
690
700
  return {
691
701
  title: c.title ?? m.title ?? "Document",
692
702
  authors: c.authors ?? m.authors ?? [],
703
+ language: resolveLanguage(c.language ?? m.language),
693
704
  preset: preset.id,
694
705
  spec: preset.spec,
695
706
  styles: c.styles ?? m.styles,
@@ -1492,9 +1503,14 @@ var RECOMMENDED_EXTENSIONS = [
1492
1503
  use: "gutterpress-gfm-alerts",
1493
1504
  label: "Callouts",
1494
1505
  description: "Turn a quote into a boxed note: start it with `> [!NOTE]` (or `TIP`, `IMPORTANT`, `WARNING`, `CAUTION`)."
1506
+ },
1507
+ {
1508
+ use: "gutterpress-math",
1509
+ label: "Math",
1510
+ description: "Write LaTeX math between dollar signs: `$E = mc^2$` in a line, or `$$` … `$$` on lines of their own."
1495
1511
  }
1496
1512
  ];
1497
- var BUILT_IN_STYLE_SET_IDS = ["clean-book", "zine", "technical-doc"];
1513
+ var BUILT_IN_STYLE_SET_IDS = ["clean-book", "zine", "technical-doc", "academic"];
1498
1514
  var mutationQueues = new Map;
1499
1515
  function projectKey(projectDir) {
1500
1516
  const resolved = path4.resolve(projectDir);