gazetta 0.0.4 → 0.0.5

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 (38) hide show
  1. package/admin-dist/assets/{index-o6Ikobnh.js → index-CVC2_Byr.js} +68 -65
  2. package/admin-dist/assets/{index-CWxPBgs-.css → index-W1ylqX_Y.css} +1 -1
  3. package/admin-dist/index.html +2 -2
  4. package/dist/admin-api/routes/preview.js +4 -1
  5. package/dist/admin-api/routes/preview.js.map +1 -1
  6. package/dist/admin-api/routes/publish.d.ts.map +1 -1
  7. package/dist/admin-api/routes/publish.js +30 -7
  8. package/dist/admin-api/routes/publish.js.map +1 -1
  9. package/dist/cli/index.js +193 -2
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/content.d.ts +6 -0
  12. package/dist/content.d.ts.map +1 -0
  13. package/dist/content.js +28 -0
  14. package/dist/content.js.map +1 -0
  15. package/dist/editor/mount.d.ts.map +1 -1
  16. package/dist/editor/mount.js +11 -19
  17. package/dist/editor/mount.js.map +1 -1
  18. package/dist/formats.d.ts +60 -0
  19. package/dist/formats.d.ts.map +1 -0
  20. package/dist/formats.js +34 -0
  21. package/dist/formats.js.map +1 -0
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/manifest.d.ts.map +1 -1
  27. package/dist/manifest.js +1 -0
  28. package/dist/manifest.js.map +1 -1
  29. package/dist/publish-rendered.d.ts +6 -4
  30. package/dist/publish-rendered.d.ts.map +1 -1
  31. package/dist/publish-rendered.js +64 -12
  32. package/dist/publish-rendered.js.map +1 -1
  33. package/dist/resolver.d.ts.map +1 -1
  34. package/dist/resolver.js +3 -2
  35. package/dist/resolver.js.map +1 -1
  36. package/dist/types.d.ts +11 -2
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +11 -2
@@ -1 +1 @@
1
- .publish-content[data-v-878d0536]{display:flex;flex-direction:column;gap:1rem}.publish-item[data-v-878d0536]{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem}.publish-empty[data-v-878d0536]{color:#888;font-size:.875rem}.publish-label[data-v-878d0536]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.publish-targets[data-v-878d0536]{display:flex;flex-direction:column;gap:.5rem}.publish-target[data-v-878d0536]{display:flex;align-items:center;gap:.5rem}.publish-target label[data-v-878d0536]{cursor:pointer}.publish-results[data-v-878d0536]{display:flex;flex-direction:column;gap:.5rem}.publish-result[data-v-878d0536]{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px}.publish-result.success[data-v-878d0536]{background:#052e16;color:#4ade80}.publish-result.error[data-v-878d0536]{background:#450a0a;color:#f87171}.result-target[data-v-878d0536]{font-weight:600}.result-detail[data-v-878d0536]{margin-left:auto;font-size:.875rem;opacity:.8}.fetch-content[data-v-359a5f85]{display:flex;flex-direction:column;gap:1rem}.fetch-empty[data-v-359a5f85]{color:#888;font-size:.875rem}.fetch-label[data-v-359a5f85]{font-size:.875rem;color:#aaa;margin-bottom:.5rem}.fetch-list[data-v-359a5f85]{width:100%}.fetch-result[data-v-359a5f85]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px}.fetch-result.success[data-v-359a5f85]{background:#052e16;color:#4ade80}.fetch-result.error[data-v-359a5f85]{background:#450a0a;color:#f87171}.fetch-items[data-v-359a5f85]{font-size:.75rem;opacity:.7;margin-top:.25rem}.cms-toolbar[data-v-acd86f5c]{border-radius:0;border-left:0;border-right:0;border-top:0}.cms-logo[data-v-acd86f5c]{font-weight:700;font-size:1.125rem;display:flex;align-items:center;gap:.5rem}.cms-site-name[data-v-acd86f5c]{margin-left:1rem;color:#888;font-size:.875rem}.cms-btn[data-v-acd86f5c]{margin-left:.5rem}.cms-toast[data-v-acd86f5c]{font-size:.8125rem;display:flex;align-items:center;gap:.375rem}.cms-toast-success[data-v-acd86f5c]{color:#16a34a}.cms-toast-error[data-v-acd86f5c]{color:#dc2626}.cms-toast-dirty[data-v-acd86f5c]{color:#d97706}.fade-enter-active[data-v-acd86f5c],.fade-leave-active[data-v-acd86f5c]{transition:opacity .2s}.fade-enter-from[data-v-acd86f5c],.fade-leave-to[data-v-acd86f5c]{opacity:0}*{box-sizing:border-box;margin:0;padding:0}html,body,#app,.cms-app{height:100%}body{font-family:system-ui,-apple-system,sans-serif;color:#1a1a1a;background:#fff}.dark body{color:#e4e4e7;background:#09090b}.cms-error{padding:2rem;color:#c00}.cms-loading{padding:2rem;color:#666}.create-content[data-v-b021d738]{display:flex;flex-direction:column;gap:1rem}.create-field[data-v-b021d738]{display:flex;flex-direction:column;gap:.375rem}.create-field label[data-v-b021d738]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.create-input[data-v-b021d738],.create-list[data-v-b021d738]{width:100%}.create-hint[data-v-b021d738]{font-size:.75rem;color:#666}.create-error[data-v-b021d738]{color:#f87171;font-size:.875rem}.create-content[data-v-0b98775c]{display:flex;flex-direction:column;gap:1rem}.create-field[data-v-0b98775c]{display:flex;flex-direction:column;gap:.375rem}.create-field label[data-v-0b98775c]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.create-input[data-v-0b98775c],.create-list[data-v-0b98775c]{width:100%}.create-error[data-v-0b98775c]{color:#f87171;font-size:.875rem}.site-tree h3[data-v-890f8b02]{font-size:.75rem;text-transform:uppercase;color:#888;margin-bottom:.5rem;letter-spacing:.05em}.tree[data-v-890f8b02]{font-size:.875rem}.new-btns[data-v-890f8b02]{display:flex;gap:.5rem;margin-top:.5rem}.node-row[data-v-890f8b02]{display:flex;align-items:center;gap:.25rem;width:100%}.node-label[data-v-890f8b02]{flex:1}.node-delete[data-v-890f8b02]{opacity:0;transition:opacity .15s}.node-row:hover .node-delete[data-v-890f8b02]{opacity:1}.add-content[data-v-db28dbd0]{display:flex;flex-direction:column;gap:1rem}.add-field[data-v-db28dbd0]{display:flex;flex-direction:column;gap:.375rem}.add-field label[data-v-db28dbd0]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.add-input[data-v-db28dbd0],.add-list[data-v-db28dbd0]{width:100%}.add-error[data-v-db28dbd0]{color:#f87171;font-size:.875rem}.component-tree[data-v-51814cff]{margin-top:1.5rem}.component-tree h3[data-v-51814cff]{font-size:.75rem;text-transform:uppercase;color:#888;margin-bottom:.5rem;letter-spacing:.05em}.component-template[data-v-51814cff]{font-size:.75rem;color:#aaa;margin-bottom:.5rem}.tree[data-v-51814cff]{font-size:.875rem}.empty[data-v-51814cff]{font-size:.875rem;color:#aaa}.node-row[data-v-51814cff]{display:flex;align-items:center;gap:.5rem;width:100%}.node-label[data-v-51814cff]{flex:1}.node-template[data-v-51814cff]{font-size:.6875rem;color:#666}.node-actions[data-v-51814cff]{display:flex;gap:0;opacity:0;transition:opacity .15s}.node-row:hover .node-actions[data-v-51814cff]{opacity:1}.add-btn[data-v-51814cff]{margin-top:.5rem}.editor-panel h3[data-v-0ed9b006]{font-size:.75rem;text-transform:uppercase;color:#888;margin-bottom:1rem;letter-spacing:.05em}.editor-empty[data-v-0ed9b006]{color:#aaa;font-size:.875rem;display:flex;flex-direction:column;align-items:center;padding-top:3rem}.editor-container[data-v-0ed9b006]{font-size:.875rem}.preview-panel[data-v-28c53c49]{height:100%;display:flex;flex-direction:column}.preview-empty[data-v-28c53c49]{padding:3rem 1rem 1rem;color:#aaa;font-size:.875rem;display:flex;flex-direction:column;align-items:center}.preview-iframe[data-v-28c53c49]{flex:1;width:100%;border:0;background:#fff}.cms-editor[data-v-e4099a0e]{border:0;border-radius:0}.cms-panel[data-v-e4099a0e]{overflow:auto}.cms-panel-content[data-v-e4099a0e]{padding:1rem}
1
+ .publish-content[data-v-878d0536]{display:flex;flex-direction:column;gap:1rem}.publish-item[data-v-878d0536]{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem}.publish-empty[data-v-878d0536]{color:#888;font-size:.875rem}.publish-label[data-v-878d0536]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.publish-targets[data-v-878d0536]{display:flex;flex-direction:column;gap:.5rem}.publish-target[data-v-878d0536]{display:flex;align-items:center;gap:.5rem}.publish-target label[data-v-878d0536]{cursor:pointer}.publish-results[data-v-878d0536]{display:flex;flex-direction:column;gap:.5rem}.publish-result[data-v-878d0536]{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px}.publish-result.success[data-v-878d0536]{background:#052e16;color:#4ade80}.publish-result.error[data-v-878d0536]{background:#450a0a;color:#f87171}.result-target[data-v-878d0536]{font-weight:600}.result-detail[data-v-878d0536]{margin-left:auto;font-size:.875rem;opacity:.8}.fetch-content[data-v-359a5f85]{display:flex;flex-direction:column;gap:1rem}.fetch-empty[data-v-359a5f85]{color:#888;font-size:.875rem}.fetch-label[data-v-359a5f85]{font-size:.875rem;color:#aaa;margin-bottom:.5rem}.fetch-list[data-v-359a5f85]{width:100%}.fetch-result[data-v-359a5f85]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px}.fetch-result.success[data-v-359a5f85]{background:#052e16;color:#4ade80}.fetch-result.error[data-v-359a5f85]{background:#450a0a;color:#f87171}.fetch-items[data-v-359a5f85]{font-size:.75rem;opacity:.7;margin-top:.25rem}.cms-toolbar[data-v-ad5a7042]{border-radius:0;border-left:0;border-right:0;border-top:0}.cms-logo[data-v-ad5a7042]{font-weight:700;font-size:1.125rem;display:flex;align-items:center;gap:.5rem}.cms-site-name[data-v-ad5a7042]{margin-left:1rem;color:#888;font-size:.875rem}.cms-btn[data-v-ad5a7042]{margin-left:.5rem}.cms-toast[data-v-ad5a7042]{font-size:.8125rem;display:flex;align-items:center;gap:.375rem}.cms-toast-success[data-v-ad5a7042]{color:#16a34a}.cms-toast-error[data-v-ad5a7042]{color:#dc2626}.cms-toast-dirty[data-v-ad5a7042]{color:#d97706}.fade-enter-active[data-v-ad5a7042],.fade-leave-active[data-v-ad5a7042]{transition:opacity .2s}.fade-enter-from[data-v-ad5a7042],.fade-leave-to[data-v-ad5a7042]{opacity:0}*{box-sizing:border-box;margin:0;padding:0}html,body,#app,.cms-app{height:100%}body{font-family:system-ui,-apple-system,sans-serif;color:#1a1a1a;background:#fff}.dark body{color:#e4e4e7;background:#09090b}.cms-error{padding:2rem;color:#c00}.cms-loading{padding:2rem;color:#666}.create-content[data-v-b021d738]{display:flex;flex-direction:column;gap:1rem}.create-field[data-v-b021d738]{display:flex;flex-direction:column;gap:.375rem}.create-field label[data-v-b021d738]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.create-input[data-v-b021d738],.create-list[data-v-b021d738]{width:100%}.create-hint[data-v-b021d738]{font-size:.75rem;color:#666}.create-error[data-v-b021d738]{color:#f87171;font-size:.875rem}.create-content[data-v-0b98775c]{display:flex;flex-direction:column;gap:1rem}.create-field[data-v-0b98775c]{display:flex;flex-direction:column;gap:.375rem}.create-field label[data-v-0b98775c]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.create-input[data-v-0b98775c],.create-list[data-v-0b98775c]{width:100%}.create-error[data-v-0b98775c]{color:#f87171;font-size:.875rem}.site-tree h3[data-v-ccc411a6]{font-size:.75rem;text-transform:uppercase;color:#888;margin-bottom:.5rem;letter-spacing:.05em}.tree[data-v-ccc411a6]{font-size:.875rem}.new-btns[data-v-ccc411a6]{display:flex;gap:.5rem;margin-top:.5rem}.node-row[data-v-ccc411a6]{display:flex;align-items:center;gap:.25rem;width:100%}.node-label[data-v-ccc411a6]{flex:1}.node-delete[data-v-ccc411a6]{opacity:0;transition:opacity .15s}.node-row:hover .node-delete[data-v-ccc411a6]{opacity:1}.add-content[data-v-db28dbd0]{display:flex;flex-direction:column;gap:1rem}.add-field[data-v-db28dbd0]{display:flex;flex-direction:column;gap:.375rem}.add-field label[data-v-db28dbd0]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.add-input[data-v-db28dbd0],.add-list[data-v-db28dbd0]{width:100%}.add-error[data-v-db28dbd0]{color:#f87171;font-size:.875rem}.component-tree[data-v-51814cff]{margin-top:1.5rem}.component-tree h3[data-v-51814cff]{font-size:.75rem;text-transform:uppercase;color:#888;margin-bottom:.5rem;letter-spacing:.05em}.component-template[data-v-51814cff]{font-size:.75rem;color:#aaa;margin-bottom:.5rem}.tree[data-v-51814cff]{font-size:.875rem}.empty[data-v-51814cff]{font-size:.875rem;color:#aaa}.node-row[data-v-51814cff]{display:flex;align-items:center;gap:.5rem;width:100%}.node-label[data-v-51814cff]{flex:1}.node-template[data-v-51814cff]{font-size:.6875rem;color:#666}.node-actions[data-v-51814cff]{display:flex;gap:0;opacity:0;transition:opacity .15s}.node-row:hover .node-actions[data-v-51814cff]{opacity:1}.add-btn[data-v-51814cff]{margin-top:.5rem}.editor-panel h3[data-v-0ed9b006]{font-size:.75rem;text-transform:uppercase;color:#888;margin-bottom:1rem;letter-spacing:.05em}.editor-empty[data-v-0ed9b006]{color:#aaa;font-size:.875rem;display:flex;flex-direction:column;align-items:center;padding-top:3rem}.editor-container[data-v-0ed9b006]{font-size:.875rem}.preview-panel[data-v-28c53c49]{height:100%;display:flex;flex-direction:column}.preview-empty[data-v-28c53c49]{padding:3rem 1rem 1rem;color:#aaa;font-size:.875rem;display:flex;flex-direction:column;align-items:center}.preview-iframe[data-v-28c53c49]{flex:1;width:100%;border:0;background:#fff}.cms-editor[data-v-e4099a0e]{border:0;border-radius:0}.cms-panel[data-v-e4099a0e]{overflow:auto}.cms-panel-content[data-v-e4099a0e]{padding:1rem}
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Gazetta CMS</title>
7
7
  <link rel="stylesheet" href="https://unpkg.com/primeicons/primeicons.css">
8
- <script type="module" crossorigin src="/admin/assets/index-o6Ikobnh.js"></script>
9
- <link rel="stylesheet" crossorigin href="/admin/assets/index-CWxPBgs-.css">
8
+ <script type="module" crossorigin src="/admin/assets/index-CVC2_Byr.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/admin/assets/index-W1ylqX_Y.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"></div>
@@ -26,7 +26,10 @@ async function renderPreview(c, siteDir, storage, overrides) {
26
26
  return c.html(await renderPage(resolved, page.metadata, params));
27
27
  }
28
28
  catch (err) {
29
- return c.html(`<pre style="color:red;padding:2rem">${err.message}</pre>`, 500);
29
+ const e = err;
30
+ const msg = e.message.replace(/</g, '&lt;').replace(/>/g, '&gt;');
31
+ const stack = (e.stack ?? '').replace(/</g, '&lt;').replace(/>/g, '&gt;');
32
+ return c.html(`<div style="font-family:system-ui;padding:2rem;color:#fca5a5;background:#1a1a2e;min-height:100vh"><h2 style="color:#f87171;margin-bottom:1rem">Template Error</h2><pre style="white-space:pre-wrap;font-size:0.875rem;line-height:1.7">${msg}</pre><details style="margin-top:1rem"><summary style="color:#52525b;cursor:pointer">Stack trace</summary><pre style="color:#52525b;font-size:0.75rem;margin-top:0.5rem">${stack}</pre></details></div>`, 500);
30
33
  }
31
34
  }
32
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/admin-api/routes/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/admin-api/routes/preview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/admin-api/routes/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAKnE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,eAAe,EAC9B,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,8EA2J7C"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/admin-api/routes/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAMnE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,eAAe,EAC9B,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,8EAgL7C"}
@@ -1,6 +1,7 @@
1
1
  import { Hono } from 'hono';
2
2
  import { publishItems, resolveDependencies } from '../../publish.js';
3
- import { publishPageRendered, publishFragmentRendered, publishSiteManifest, publishFragmentIndex, createWorkerPurge } from '../../publish-rendered.js';
3
+ import { publishPageRendered, publishFragmentRendered, publishSiteManifest, publishFragmentIndex, createCloudflarePurge } from '../../publish-rendered.js';
4
+ import { loadSite } from '../../site-loader.js';
4
5
  export function publishRoutes(siteDir, sourceStorage, preInitTargets, targetConfigs) {
5
6
  const app = new Hono();
6
7
  // Background target initialization
@@ -57,7 +58,8 @@ export function publishRoutes(siteDir, sourceStorage, preInitTargets, targetConf
57
58
  for (const item of allItems) {
58
59
  if (item.startsWith('pages/')) {
59
60
  const pageName = item.replace('pages/', '');
60
- const { files } = await publishPageRendered(pageName, sourceStorage, siteDir, targetStorage);
61
+ const config = getTargetConfig(targetName);
62
+ const { files } = await publishPageRendered(pageName, sourceStorage, siteDir, targetStorage, config?.cache);
61
63
  totalFiles += files;
62
64
  }
63
65
  else if (item.startsWith('fragments/')) {
@@ -70,12 +72,33 @@ export function publishRoutes(siteDir, sourceStorage, preInitTargets, targetConf
70
72
  await publishSiteManifest(sourceStorage, siteDir, targetStorage);
71
73
  await publishFragmentIndex(sourceStorage, siteDir, targetStorage);
72
74
  totalFiles += 2;
73
- // 4. Purge edge cache if worker URL configured
75
+ // 4. Purge edge cache via Cloudflare API
74
76
  const config = getTargetConfig(targetName);
75
- if (config?.workerUrl) {
76
- const purge = createWorkerPurge(config.workerUrl);
77
- await purge.purgeAll();
78
- console.log(` ${targetName}: cache purged`);
77
+ const zoneId = process.env.CF_ZONE_ID;
78
+ const apiToken = process.env.CF_API_TOKEN;
79
+ if (config?.siteUrl && zoneId && apiToken) {
80
+ const purge = createCloudflarePurge(zoneId, apiToken);
81
+ const hasFragments = allItems.some(i => i.startsWith('fragments/'));
82
+ if (hasFragments) {
83
+ // Fragment changed — purge everything (all pages use fragments)
84
+ await purge.purgeAll();
85
+ console.log(` ${targetName}: cache purged (all)`);
86
+ }
87
+ else {
88
+ // Only pages changed — purge specific URLs
89
+ const site = await loadSite(siteDir, sourceStorage);
90
+ const urls = allItems
91
+ .filter(i => i.startsWith('pages/'))
92
+ .map(i => {
93
+ const page = site.pages.get(i.replace('pages/', ''));
94
+ return page ? `${config.siteUrl}${page.route}` : null;
95
+ })
96
+ .filter(Boolean);
97
+ if (urls.length > 0) {
98
+ await purge.purgeUrls(urls);
99
+ console.log(` ${targetName}: cache purged (${urls.join(', ')})`);
100
+ }
101
+ }
79
102
  }
80
103
  results.push({ target: targetName, success: true, copiedFiles: totalFiles });
81
104
  console.log(` ${targetName}: ${totalFiles} files`);
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/admin-api/routes/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/admin-api/routes/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEpE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC1J,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,aAA8B,EAC9B,cAA6C,EAC7C,aAA4C;IAE5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAEtB,mCAAmC;IACnC,IAAI,OAAO,GAAwC,cAAc,IAAI,IAAI,CAAA;IACzE,MAAM,WAAW,GAA0C,cAAc;QACvE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QACjC,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;gBACjE,OAAO,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;gBAC5D,OAAO,OAAO,CAAA;YAChB,CAAC,CAAC,EAAE,CAAA;IAEV,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,KAAK,UAAU,UAAU;QACvB,IAAI,OAAO;YAAE,OAAO,OAAO,CAAA;QAC3B,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,SAAS,eAAe,CAAC,IAAY;QACnC,OAAO,aAAa,EAAE,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAA;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAA4C,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,GAAG,CAAC,CAAA;QAC5E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAA;QAEhF,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAA;QAE5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC5E,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAE9E,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAA;QAC1G,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEtD,MAAM,OAAO,GAAoB,EAAE,CAAA;QACnC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAE,CAAA;YACxC,IAAI,CAAC;gBACH,IAAI,UAAU,GAAG,CAAC,CAAA;gBAElB,iEAAiE;gBACjE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;gBAC/F,UAAU,IAAI,WAAW,CAAA;gBAEzB,6DAA6D;gBAC7D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;wBAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;wBAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;wBAC3G,UAAU,IAAI,KAAK,CAAA;oBACrB,CAAC;yBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;wBAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;wBAChG,UAAU,IAAI,KAAK,CAAA;oBACrB,CAAC;gBACH,CAAC;gBAED,oCAAoC;gBACpC,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;gBAChE,MAAM,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;gBACjE,UAAU,IAAI,CAAC,CAAA;gBAEf,yCAAyC;gBACzC,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;gBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;gBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;gBACzC,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;oBACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;oBACnE,IAAI,YAAY,EAAE,CAAC;wBACjB,gEAAgE;wBAChE,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;wBACtB,OAAO,CAAC,GAAG,CAAC,OAAO,UAAU,sBAAsB,CAAC,CAAA;oBACtD,CAAC;yBAAM,CAAC;wBACN,2CAA2C;wBAC3C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;wBACnD,MAAM,IAAI,GAAG,QAAQ;6BAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;6BACnC,GAAG,CAAC,CAAC,CAAC,EAAE;4BACP,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;4BACpD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;wBACvD,CAAC,CAAC;6BACD,MAAM,CAAC,OAAO,CAAa,CAAA;wBAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;4BAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,UAAU,mBAAmB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;gBAC5E,OAAO,CAAC,GAAG,CAAC,OAAO,UAAU,KAAK,UAAU,QAAQ,CAAC,CAAA;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAI,GAAa,CAAC,OAAO,CAAA;gBACpC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;gBAC3E,OAAO,CAAC,KAAK,CAAC,OAAO,UAAU,cAAc,KAAK,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAA0C,CAAA;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAA;QAE/E,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAA;QAC5B,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAEnF,IAAI,KAAe,CAAA;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,EAAE,CAAA;YACV,IAAI,CAAC;gBACH,IAAI,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBAClD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,IAAI,CAAC,CAAC,WAAW;4BAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;oBAClD,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;oBACtD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,IAAI,CAAC,CAAC,WAAW;4BAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;oBACtD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,IAAI,CAAC,CAAC,WAAW;4BAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAoC,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;YAC5F,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,GAAG,CAAC,CAAA;QAEnF,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,gBAAgB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QACtE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAE7C,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5F,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,+BAA+B,CAAC,CAAA;YAC9D,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAI,GAAa,CAAC,OAAO,CAAA;YACpC,OAAO,CAAC,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAA;YACtC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/dist/cli/index.js CHANGED
@@ -22,30 +22,39 @@ function printHelp() {
22
22
  Usage:
23
23
  gazetta init [dir] Create a new site
24
24
  gazetta dev [site-dir] Start dev server + CMS at /admin
25
+ gazetta publish [site-dir] Pre-render and publish to targets
25
26
  gazetta help Show this help message
26
27
 
27
28
  Options:
28
29
  --port, -p <port> Server port (default: 3000)
30
+ --target, -t <name> Target to publish to (default: all)
29
31
 
30
32
  Examples:
31
33
  gazetta init my-site # scaffold a new site
32
34
  gazetta dev # dev server + CMS
33
35
  gazetta dev ./my-site # specific site directory
34
36
  gazetta dev --port 8080 # custom port
37
+ gazetta publish # publish to all targets
38
+ gazetta publish -t production # publish to specific target
39
+ gazetta validate # check site for broken references
35
40
  `);
36
41
  }
37
42
  function parseArgs(input) {
38
43
  let siteDir = '.';
39
44
  let port;
45
+ let target;
40
46
  for (let i = 0; i < input.length; i++) {
41
47
  if (input[i] === '--port' || input[i] === '-p') {
42
48
  port = parseInt(input[++i], 10);
43
49
  }
50
+ else if (input[i] === '--target' || input[i] === '-t') {
51
+ target = input[++i];
52
+ }
44
53
  else if (!input[i].startsWith('-')) {
45
54
  siteDir = input[i];
46
55
  }
47
56
  }
48
- return { siteDir: resolve(siteDir), port };
57
+ return { siteDir: resolve(siteDir), port, target };
49
58
  }
50
59
  async function runInit(dir) {
51
60
  const { writeFile, mkdir } = await import('node:fs/promises');
@@ -67,6 +76,8 @@ const template: TemplateFunction = ({ children = [] }) => ({
67
76
  css: \`main { max-width: 800px; margin: 0 auto; padding: 2rem; font-family: system-ui, sans-serif; }
68
77
  \${children.map(c => c.css).join('\\n')}\`,
69
78
  js: children.map(c => c.js).filter(Boolean).join('\\n'),
79
+ head: \`<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>⚡</text></svg>">
80
+ \${children.map(c => c.head).filter(Boolean).join('\\n')}\`,
70
81
  })
71
82
 
72
83
  export default template
@@ -183,6 +194,180 @@ content:
183
194
  console.log(` npx gazetta dev`);
184
195
  console.log();
185
196
  }
197
+ async function runPublish(siteDir, targetName) {
198
+ const storage = createFilesystemProvider();
199
+ console.log(`\n Loading site from ${siteDir}...`);
200
+ const site = await loadSite(siteDir, storage);
201
+ // Load target configs from site.yaml
202
+ const siteYamlPath = join(siteDir, 'site.yaml');
203
+ if (!existsSync(siteYamlPath)) {
204
+ console.error(`\n Error: No site.yaml found at ${siteDir}\n`);
205
+ process.exit(1);
206
+ }
207
+ const siteYaml = yaml.load(readFileSync(siteYamlPath, 'utf-8'));
208
+ if (!siteYaml.targets || Object.keys(siteYaml.targets).length === 0) {
209
+ console.error(`\n Error: No targets configured in site.yaml\n`);
210
+ process.exit(1);
211
+ }
212
+ // Determine which targets to publish to
213
+ const targetNames = targetName ? [targetName] : Object.keys(siteYaml.targets);
214
+ for (const name of targetNames) {
215
+ if (!siteYaml.targets[name]) {
216
+ console.error(`\n Error: Unknown target "${name}". Available: ${Object.keys(siteYaml.targets).join(', ')}\n`);
217
+ process.exit(1);
218
+ }
219
+ }
220
+ // Initialize targets
221
+ const { createTargetRegistry } = await import('../targets.js');
222
+ const targets = await createTargetRegistry(Object.fromEntries(targetNames.map(n => [n, siteYaml.targets[n]])), siteDir);
223
+ const { publishPageRendered, publishFragmentRendered, publishSiteManifest, publishFragmentIndex } = await import('../publish-rendered.js');
224
+ console.log(`\n Site: ${site.manifest.name}`);
225
+ console.log(` Pages: ${[...site.pages.keys()].join(', ')}`);
226
+ console.log(` Fragments: ${[...site.fragments.keys()].join(', ')}`);
227
+ console.log(` Targets: ${targetNames.join(', ')}\n`);
228
+ for (const name of targetNames) {
229
+ const targetStorage = targets.get(name);
230
+ if (!targetStorage) {
231
+ console.error(` ${name}: SKIPPED (failed to initialize)`);
232
+ continue;
233
+ }
234
+ console.log(` Publishing to ${name}...`);
235
+ let totalFiles = 0;
236
+ // Publish all fragments
237
+ for (const fragName of site.fragments.keys()) {
238
+ const { files } = await publishFragmentRendered(fragName, storage, siteDir, targetStorage);
239
+ totalFiles += files;
240
+ console.log(` fragment: ${fragName} (${files} files)`);
241
+ }
242
+ // Publish all pages
243
+ for (const pageName of site.pages.keys()) {
244
+ const { files } = await publishPageRendered(pageName, storage, siteDir, targetStorage, siteYaml.targets[name].cache);
245
+ totalFiles += files;
246
+ console.log(` page: ${pageName} (${files} files)`);
247
+ }
248
+ // Site manifest + fragment index
249
+ await publishSiteManifest(storage, siteDir, targetStorage);
250
+ await publishFragmentIndex(storage, siteDir, targetStorage);
251
+ totalFiles += 2;
252
+ console.log(` ${name}: ${totalFiles} files published\n`);
253
+ }
254
+ // Purge cache once at the end (all targets)
255
+ const zoneId = process.env.CF_ZONE_ID;
256
+ const apiToken = process.env.CF_API_TOKEN;
257
+ if (zoneId && apiToken) {
258
+ const { createCloudflarePurge } = await import('../publish-rendered.js');
259
+ const purge = createCloudflarePurge(zoneId, apiToken);
260
+ await purge.purgeAll();
261
+ console.log(` Cache purged\n`);
262
+ }
263
+ console.log(` Done!\n`);
264
+ }
265
+ async function runValidate(siteDir) {
266
+ const storage = createFilesystemProvider();
267
+ console.log(`\n Validating ${siteDir}...\n`);
268
+ // 1. Check site.yaml
269
+ let site;
270
+ try {
271
+ site = await loadSite(siteDir, storage);
272
+ console.log(` ✓ site.yaml — ${site.manifest.name}`);
273
+ }
274
+ catch (err) {
275
+ console.error(` ✗ site.yaml — ${err.message}`);
276
+ process.exit(1);
277
+ }
278
+ let errors = 0;
279
+ // 2. Validate all fragments
280
+ for (const [fragName, frag] of site.fragments) {
281
+ try {
282
+ const { resolveComponent } = await import('../resolver.js');
283
+ const templatesDir = join(siteDir, 'templates');
284
+ const ctx = { site, templatesDir, visited: new Set(), path: [`@${fragName}`] };
285
+ await resolveComponent(`@${fragName}`, '', ctx);
286
+ const childCount = frag.components?.length ?? 0;
287
+ console.log(` ✓ fragment: ${fragName} (${childCount} components)`);
288
+ }
289
+ catch (err) {
290
+ console.error(` ✗ fragment: ${fragName} — ${err.message}`);
291
+ errors++;
292
+ }
293
+ }
294
+ // 3. Validate all pages
295
+ for (const [pageName, page] of site.pages) {
296
+ try {
297
+ await resolvePage(pageName, site);
298
+ const componentCount = page.components?.length ?? 0;
299
+ const fragmentCount = page.components?.filter(c => c.startsWith('@')).length ?? 0;
300
+ console.log(` ✓ page: ${pageName} (${componentCount} components, ${fragmentCount} fragments)`);
301
+ }
302
+ catch (err) {
303
+ console.error(` ✗ page: ${pageName} — ${err.message}`);
304
+ errors++;
305
+ }
306
+ }
307
+ // 4. List templates
308
+ const templatesDir = join(siteDir, 'templates');
309
+ try {
310
+ const entries = await storage.readDir(templatesDir);
311
+ const templateCount = entries.filter(e => e.isDirectory).length;
312
+ console.log(` ✓ ${templateCount} templates found`);
313
+ }
314
+ catch {
315
+ console.log(` ⚠ templates/ directory not found`);
316
+ }
317
+ console.log();
318
+ if (errors > 0) {
319
+ console.error(` ${errors} error${errors > 1 ? 's' : ''} found.\n`);
320
+ process.exit(1);
321
+ }
322
+ else {
323
+ console.log(` All good.\n`);
324
+ }
325
+ }
326
+ function renderErrorOverlay(err) {
327
+ const message = err.message.replace(/</g, '&lt;').replace(/>/g, '&gt;');
328
+ const stack = (err.stack ?? '').replace(/</g, '&lt;').replace(/>/g, '&gt;');
329
+ // Extract file path from error message or stack
330
+ const fileMatch = stack.match(/\(?(\/[^\s:)]+):(\d+)/);
331
+ const filePath = fileMatch ? fileMatch[1] : '';
332
+ const lineNum = fileMatch ? fileMatch[2] : '';
333
+ const location = filePath ? `${filePath}${lineNum ? `:${lineNum}` : ''}` : '';
334
+ return `<!DOCTYPE html>
335
+ <html>
336
+ <head>
337
+ <meta charset="UTF-8">
338
+ <title>Error — Gazetta</title>
339
+ <style>
340
+ * { margin: 0; padding: 0; box-sizing: border-box; }
341
+ body { font-family: system-ui, -apple-system, sans-serif; background: #1a1a2e; color: #e4e4e7; min-height: 100vh; display: flex; align-items: center; justify-content: center; }
342
+ .overlay { max-width: 48rem; width: 100%; margin: 2rem; }
343
+ .header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; }
344
+ .header svg { flex-shrink: 0; }
345
+ .header h1 { font-size: 1.25rem; font-weight: 600; color: #f87171; }
346
+ .message { background: #0f0f1a; border: 1px solid #27272a; border-radius: 8px; padding: 1.5rem; margin-bottom: 1rem; font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 0.875rem; line-height: 1.7; white-space: pre-wrap; word-break: break-word; color: #fca5a5; }
347
+ .location { font-size: 0.8125rem; color: #71717a; margin-bottom: 1rem; }
348
+ .location span { color: #a78bfa; }
349
+ .stack { background: #0f0f1a; border: 1px solid #27272a; border-radius: 8px; padding: 1.5rem; font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 0.75rem; line-height: 1.7; white-space: pre-wrap; word-break: break-word; color: #52525b; max-height: 20rem; overflow: auto; }
350
+ .hint { margin-top: 1.5rem; font-size: 0.8125rem; color: #52525b; }
351
+ </style>
352
+ </head>
353
+ <body>
354
+ <div class="overlay">
355
+ <div class="header">
356
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f87171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
357
+ <h1>Template Error</h1>
358
+ </div>
359
+ ${location ? `<div class="location">File: <span>${location}</span></div>` : ''}
360
+ <div class="message">${message}</div>
361
+ <details>
362
+ <summary style="color:#52525b;font-size:0.8125rem;cursor:pointer;margin-bottom:0.5rem">Stack trace</summary>
363
+ <div class="stack">${stack}</div>
364
+ </details>
365
+ <div class="hint">Fix the error and save — the page will reload automatically.</div>
366
+ </div>
367
+ <script>new EventSource('/__reload').onmessage = () => location.reload()</script>
368
+ </body>
369
+ </html>`;
370
+ }
186
371
  async function runDev(siteDir, port) {
187
372
  const storage = createFilesystemProvider();
188
373
  console.log(`\n Loading site from ${siteDir}...`);
@@ -221,7 +406,7 @@ async function runDev(siteDir, port) {
221
406
  return c.html(html.replace('</body>', `${RELOAD_SCRIPT}\n</body>`));
222
407
  }
223
408
  catch (err) {
224
- return c.html(`<pre style="color:red;padding:2rem">${err.message}</pre>`, 500);
409
+ return c.html(renderErrorOverlay(err), 500);
225
410
  }
226
411
  });
227
412
  }
@@ -424,6 +609,12 @@ async function main() {
424
609
  case 'init':
425
610
  await runInit(args[1] ?? '.');
426
611
  break;
612
+ case 'publish':
613
+ await runPublish(parsed.siteDir, parsed.target);
614
+ break;
615
+ case 'validate':
616
+ await runValidate(parsed.siteDir);
617
+ break;
427
618
  case 'dev':
428
619
  await runDev(parsed.siteDir, parsed.port ?? 3000);
429
620
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Process content fields based on schema metadata.
3
+ * Converts markdown fields to HTML before passing to templates.
4
+ */
5
+ export declare function processContent(content: Record<string, unknown> | undefined, schema: unknown): Record<string, unknown> | undefined;
6
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAoBrC"}
@@ -0,0 +1,28 @@
1
+ import { marked } from 'marked';
2
+ import { z } from 'zod';
3
+ /**
4
+ * Process content fields based on schema metadata.
5
+ * Converts markdown fields to HTML before passing to templates.
6
+ */
7
+ export function processContent(content, schema) {
8
+ if (!content || !schema)
9
+ return content;
10
+ let jsonSchema;
11
+ try {
12
+ jsonSchema = z.toJSONSchema(schema);
13
+ }
14
+ catch {
15
+ return content;
16
+ }
17
+ const properties = jsonSchema.properties;
18
+ if (!properties)
19
+ return content;
20
+ const processed = { ...content };
21
+ for (const [key, prop] of Object.entries(properties)) {
22
+ if (prop.format === 'markdown' && typeof processed[key] === 'string') {
23
+ processed[key] = marked(processed[key]);
24
+ }
25
+ }
26
+ return processed;
27
+ }
28
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA4C,EAC5C,MAAe;IAEf,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAA;IAEvC,IAAI,UAAmC,CAAA;IACvC,IAAI,CAAC;QACH,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,MAAmB,CAA4B,CAAA;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,UAAiE,CAAA;IAC/F,IAAI,CAAC,UAAU;QAAE,OAAO,OAAO,CAAA;IAE/B,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrE,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAW,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/editor/mount.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AA8C9C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAgDjE"}
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/editor/mount.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAmD9C,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CA+CjE"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { createRoot } from 'react-dom/client';
4
4
  import Form from '@rjsf/core';
@@ -10,6 +10,7 @@ const STYLES = `
10
10
  .gz-editor label { display: block; font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.03em; color: #a0a0a0; margin-bottom: 0.25rem; }
11
11
  .gz-editor .field-description { font-size: 0.75rem; color: #888; margin-bottom: 0.375rem; }
12
12
  .gz-editor input[type="text"], .gz-editor input[type="number"], .gz-editor input[type="url"],
13
+ .gz-editor input[type="email"], .gz-editor input[type="password"], .gz-editor input[type="color"],
13
14
  .gz-editor textarea, .gz-editor select {
14
15
  width: 100%; padding: 0.5rem 0.625rem; font-size: 0.875rem; font-family: inherit;
15
16
  background: #1e1e2e; color: #e0e0e0; border: 1px solid #3a3a4a; border-radius: 6px;
@@ -25,26 +26,17 @@ const STYLES = `
25
26
  .gz-editor .array-item-toolbox { display: flex; gap: 0.25rem; margin-top: 0.375rem; }
26
27
  .gz-editor .array-item-toolbox .btn { display: inline-flex; padding: 0.25rem 0.5rem; font-size: 0.75rem; background: #2a2a3a; color: #ccc; border: none; border-radius: 4px; cursor: pointer; }
27
28
  .gz-editor .array-item-toolbox .btn:hover { background: #3a3a4a; }
29
+ .gz-editor .markdown-widget textarea { min-height: 12rem; font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 0.8125rem; line-height: 1.6; }
30
+ .gz-editor .markdown-widget .markdown-hint { font-size: 0.6875rem; color: #52525b; margin-top: 0.25rem; }
28
31
  `;
29
- function buildUiSchema(schema) {
30
- const uiSchema = { 'ui:submitButtonOptions': { norender: true } };
31
- const properties = schema.properties;
32
- if (!properties)
33
- return uiSchema;
34
- for (const [key, prop] of Object.entries(properties)) {
35
- if (prop.type === 'string') {
36
- const desc = prop.description ?? '';
37
- const isLong = desc.toLowerCase().includes('body') || desc.toLowerCase().includes('text') ||
38
- desc.toLowerCase().includes('description') || desc.toLowerCase().includes('content') ||
39
- key === 'body' || key === 'description' || key === 'text' || key === 'content';
40
- if (isLong)
41
- uiSchema[key] = { 'ui:widget': 'textarea' };
42
- }
43
- }
44
- return uiSchema;
32
+ /** Markdown widget — textarea with monospace font and hint */
33
+ function MarkdownWidget(props) {
34
+ return (_jsxs("div", { className: "markdown-widget", children: [_jsx("textarea", { value: props.value ?? '', onChange: (e) => props.onChange(e.target.value), placeholder: props.placeholder, rows: props.schema.rows ?? 12 }), _jsx("div", { className: "markdown-hint", children: "Markdown supported" })] }));
45
35
  }
36
+ const customWidgets = {
37
+ markdown: MarkdownWidget,
38
+ };
46
39
  export function createEditorMount(jsonSchema) {
47
- const uiSchema = buildUiSchema(jsonSchema);
48
40
  return {
49
41
  mount(el, { content, onChange }) {
50
42
  const existing = roots.get(el);
@@ -58,7 +50,7 @@ export function createEditorMount(jsonSchema) {
58
50
  setFormData(e.formData);
59
51
  onChange(e.formData);
60
52
  };
61
- return (_jsxs(_Fragment, { children: [_jsx("style", { children: STYLES }), _jsx("div", { className: "gz-editor", children: _jsx(Form, { schema: jsonSchema, uiSchema: uiSchema, formData: formData, onChange: handleChange, validator: validator, liveValidate: true, omitExtraData: true }) })] }));
53
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: STYLES }), _jsx("div", { className: "gz-editor", children: _jsx(Form, { schema: jsonSchema, uiSchema: { 'ui:submitButtonOptions': { norender: true } }, formData: formData, onChange: handleChange, validator: validator, widgets: customWidgets, liveValidate: true, omitExtraData: true }) })] }));
62
54
  }
63
55
  root.render(_jsx(EditorForm, {}));
64
56
  },