vaza-content 0.2.0 → 0.2.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 (82) hide show
  1. package/dist/adapters/astro/index.cjs +9 -15
  2. package/dist/adapters/astro/index.cjs.map +1 -1
  3. package/dist/adapters/astro/index.d.cts +4 -3
  4. package/dist/adapters/astro/index.d.ts +4 -3
  5. package/dist/adapters/astro/index.js +6 -12
  6. package/dist/adapters/astro/index.js.map +1 -1
  7. package/dist/adapters/next/index.cjs +11 -12
  8. package/dist/adapters/next/index.cjs.map +1 -1
  9. package/dist/adapters/next/index.d.cts +5 -3
  10. package/dist/adapters/next/index.d.ts +5 -3
  11. package/dist/adapters/next/index.js +8 -9
  12. package/dist/adapters/next/index.js.map +1 -1
  13. package/dist/adapters/nuxt/index.cjs +22 -22
  14. package/dist/adapters/nuxt/index.cjs.map +1 -1
  15. package/dist/adapters/nuxt/index.d.cts +11 -7
  16. package/dist/adapters/nuxt/index.d.ts +11 -7
  17. package/dist/adapters/nuxt/index.js +13 -13
  18. package/dist/adapters/nuxt/index.js.map +1 -1
  19. package/dist/adapters/sveltekit/index.cjs +9 -15
  20. package/dist/adapters/sveltekit/index.cjs.map +1 -1
  21. package/dist/adapters/sveltekit/index.d.cts +3 -2
  22. package/dist/adapters/sveltekit/index.d.ts +3 -2
  23. package/dist/adapters/sveltekit/index.js +5 -11
  24. package/dist/adapters/sveltekit/index.js.map +1 -1
  25. package/dist/{blog-7EEJJG26.js → blog-L7HRY3QC.js} +2 -4
  26. package/dist/{blog-7EEJJG26.js.map → blog-L7HRY3QC.js.map} +1 -1
  27. package/dist/{blog-Z3R5GOMP.cjs → blog-SEXXJJSV.cjs} +3 -5
  28. package/dist/blog-SEXXJJSV.cjs.map +1 -0
  29. package/dist/{chunk-YV2ZYIAD.cjs → chunk-H3D7F4TA.cjs} +544 -503
  30. package/dist/chunk-H3D7F4TA.cjs.map +1 -0
  31. package/dist/{chunk-FALSVGPG.js → chunk-OKXBDPYF.js} +511 -470
  32. package/dist/chunk-OKXBDPYF.js.map +1 -0
  33. package/dist/cli/index.cjs +30 -24
  34. package/dist/cli/index.cjs.map +1 -1
  35. package/dist/cli/index.js +29 -23
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/{dark-EX2GRAYK.cjs → dark-66ZWYLT7.cjs} +2 -4
  38. package/dist/dark-66ZWYLT7.cjs.map +1 -0
  39. package/dist/{dark-6E36AKLN.js → dark-SZOURAMM.js} +1 -3
  40. package/dist/{dark-6E36AKLN.js.map → dark-SZOURAMM.js.map} +1 -1
  41. package/dist/index.cjs +8 -11
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.d.cts +29 -29
  44. package/dist/index.d.ts +29 -29
  45. package/dist/index.js +3 -6
  46. package/dist/index.js.map +1 -1
  47. package/dist/{minimal-D2PRAVG6.js → minimal-CGXF737F.js} +1 -3
  48. package/dist/{minimal-D2PRAVG6.js.map → minimal-CGXF737F.js.map} +1 -1
  49. package/dist/{minimal-RHOK4XEZ.cjs → minimal-XTTHXE3T.cjs} +2 -4
  50. package/dist/minimal-XTTHXE3T.cjs.map +1 -0
  51. package/dist/process-VXDWM664.cjs +7 -0
  52. package/dist/process-VXDWM664.cjs.map +1 -0
  53. package/dist/process-ZQV5M2TB.js +7 -0
  54. package/dist/{product-OT3XYMWD.cjs → product-BY3GVQGV.cjs} +2 -4
  55. package/dist/product-BY3GVQGV.cjs.map +1 -0
  56. package/dist/{product-NCUW3U72.js → product-UQXUI5YL.js} +1 -3
  57. package/dist/{product-NCUW3U72.js.map → product-UQXUI5YL.js.map} +1 -1
  58. package/dist/{types-CgaidvaB.d.cts → types-DAfWIHiD.d.cts} +1 -1
  59. package/dist/{types-CgaidvaB.d.ts → types-DAfWIHiD.d.ts} +1 -1
  60. package/package.json +6 -4
  61. package/dist/blog-Z3R5GOMP.cjs.map +0 -1
  62. package/dist/chunk-DGUM43GV.js +0 -11
  63. package/dist/chunk-FALSVGPG.js.map +0 -1
  64. package/dist/chunk-JEQ2X3Z6.cjs +0 -11
  65. package/dist/chunk-JEQ2X3Z6.cjs.map +0 -1
  66. package/dist/chunk-PCRQY47G.js +0 -35
  67. package/dist/chunk-PCRQY47G.js.map +0 -1
  68. package/dist/chunk-WOCXEBQC.cjs +0 -35
  69. package/dist/chunk-WOCXEBQC.cjs.map +0 -1
  70. package/dist/chunk-YV2ZYIAD.cjs.map +0 -1
  71. package/dist/dark-EX2GRAYK.cjs.map +0 -1
  72. package/dist/logger-7WBTEDED.cjs +0 -10
  73. package/dist/logger-7WBTEDED.cjs.map +0 -1
  74. package/dist/logger-BGP7C274.js +0 -10
  75. package/dist/logger-BGP7C274.js.map +0 -1
  76. package/dist/minimal-RHOK4XEZ.cjs.map +0 -1
  77. package/dist/process-B4PJ6CWC.cjs +0 -9
  78. package/dist/process-B4PJ6CWC.cjs.map +0 -1
  79. package/dist/process-KSSXQJE6.js +0 -9
  80. package/dist/process-KSSXQJE6.js.map +0 -1
  81. package/dist/product-OT3XYMWD.cjs.map +0 -1
  82. /package/dist/{chunk-DGUM43GV.js.map → process-ZQV5M2TB.js.map} +0 -0
@@ -1,17 +1,22 @@
1
1
  import {
2
+ logger,
2
3
  processCollections,
3
4
  renderRssXml,
4
5
  renderSitemapXml
5
- } from "../../chunk-FALSVGPG.js";
6
- import "../../chunk-PCRQY47G.js";
7
- import "../../chunk-DGUM43GV.js";
6
+ } from "../../chunk-OKXBDPYF.js";
8
7
 
9
8
  // src/adapters/nuxt/index.ts
10
- import { writeFileSync, mkdirSync, existsSync } from "fs";
11
- import { join, dirname } from "path";
9
+ import { existsSync, mkdirSync, writeFileSync } from "fs";
10
+ import { dirname, join } from "path";
12
11
  function defineVazaContentModule(config) {
13
- return async function vazaContentModule() {
14
- await processAndWrite(config);
12
+ return async (_inlineOptions, nuxt) => {
13
+ if (nuxt?.hook) {
14
+ nuxt.hook("build:before", async () => {
15
+ await processAndWrite(config);
16
+ });
17
+ } else {
18
+ await processAndWrite(config);
19
+ }
15
20
  };
16
21
  }
17
22
  async function buildVazaContent(config) {
@@ -30,11 +35,7 @@ async function processAndWrite(config) {
30
35
  if (config.rss?.enabled !== false) {
31
36
  const xml = renderRssXml(output.rss, config);
32
37
  const rssPath = config.rss?.path ?? "/rss.xml";
33
- writeFileSync(
34
- join("public", rssPath.replace(/^\//, "")),
35
- xml,
36
- "utf-8"
37
- );
38
+ writeFileSync(join("public", rssPath.replace(/^\//, "")), xml, "utf-8");
38
39
  }
39
40
  if (config.jsonLd?.enabled !== false) {
40
41
  const jsonLdDir = join(outDir, "json-ld");
@@ -52,7 +53,6 @@ async function processAndWrite(config) {
52
53
  writeJson(join(outDir, "integrity-report.json"), output.integrity);
53
54
  const slugManifest = output.entries.map((e) => e.slug);
54
55
  writeJson(join(outDir, "slugs.json"), slugManifest);
55
- const { logger } = await import("../../logger-BGP7C274.js");
56
56
  logger.info(`Generated ${output.entries.length} entries`);
57
57
  return output;
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapters/nuxt/index.ts"],"sourcesContent":["import { processCollections } from \"../../process.js\";\nimport type { VazaConfig, VazaOutput } from \"../../types.js\";\nimport { renderSitemapXml } from \"../../generate/sitemap.js\";\nimport { renderRssXml } from \"../../generate/rss.js\";\nimport { writeFileSync, mkdirSync, existsSync } from \"node:fs\";\nimport { join, dirname } from \"node:path\";\n\n/**\n * Nuxt adapter module that hooks into the Nuxt build.\n *\n * Usage in nuxt.config.ts:\n * modules: [\n * '@nuxt/content',\n * ['vaza-content/nuxt', vazaConfig]\n * ]\n */\nexport function defineVazaContentModule(config: VazaConfig) {\n return async function vazaContentModule() {\n await processAndWrite(config);\n };\n}\n\n/**\n * Standalone function to process and write outputs.\n */\nexport async function buildVazaContent(config: VazaConfig): Promise<VazaOutput> {\n return processAndWrite(config);\n}\n\nasync function processAndWrite(config: VazaConfig): Promise<VazaOutput> {\n const output = await processCollections(config);\n const outDir = \".vaza-content\";\n\n ensureDir(outDir);\n ensureDir(\"public\");\n\n // Write sitemap\n if (config.sitemap?.enabled !== false) {\n writeJson(join(outDir, \"sitemap-data.json\"), output.sitemap);\n const xml = renderSitemapXml(output.sitemap);\n writeFileSync(\"public/sitemap.xml\", xml, \"utf-8\");\n }\n\n // Write RSS\n if (config.rss?.enabled !== false) {\n const xml = renderRssXml(output.rss, config);\n const rssPath = config.rss?.path ?? \"/rss.xml\";\n writeFileSync(\n join(\"public\", rssPath.replace(/^\\//, \"\")),\n xml,\n \"utf-8\",\n );\n }\n\n // Write JSON-LD per slug\n if (config.jsonLd?.enabled !== false) {\n const jsonLdDir = join(outDir, \"json-ld\");\n ensureDir(jsonLdDir);\n for (const [slug, schemas] of Object.entries(output.jsonLd)) {\n writeJson(join(jsonLdDir, `${slug}.json`), schemas);\n }\n }\n\n // Write taxonomy data\n if (config.taxonomy?.enabled !== false) {\n writeJson(join(outDir, \"taxonomy.json\"), output.taxonomy);\n }\n\n // Write redirects\n if (config.redirects?.enabled !== false) {\n writeJson(join(outDir, \"redirects.json\"), output.redirects);\n }\n\n // Write integrity report\n writeJson(join(outDir, \"integrity-report.json\"), output.integrity);\n\n // Write slug manifest\n const slugManifest = output.entries.map((e) => e.slug);\n writeJson(join(outDir, \"slugs.json\"), slugManifest);\n\n const { logger } = await import(\"../../logger.js\");\n logger.info(`Generated ${output.entries.length} entries`);\n\n return output;\n}\n\nfunction ensureDir(dir: string): void {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\nfunction writeJson(path: string, data: unknown): void {\n ensureDir(dirname(path));\n writeFileSync(path, JSON.stringify(data, null, 2), \"utf-8\");\n}\n"],"mappings":";;;;;;;;;AAIA,SAAS,eAAe,WAAW,kBAAkB;AACrD,SAAS,MAAM,eAAe;AAWvB,SAAS,wBAAwB,QAAoB;AAC1D,SAAO,eAAe,oBAAoB;AACxC,UAAM,gBAAgB,MAAM;AAAA,EAC9B;AACF;AAKA,eAAsB,iBAAiB,QAAyC;AAC9E,SAAO,gBAAgB,MAAM;AAC/B;AAEA,eAAe,gBAAgB,QAAyC;AACtE,QAAM,SAAS,MAAM,mBAAmB,MAAM;AAC9C,QAAM,SAAS;AAEf,YAAU,MAAM;AAChB,YAAU,QAAQ;AAGlB,MAAI,OAAO,SAAS,YAAY,OAAO;AACrC,cAAU,KAAK,QAAQ,mBAAmB,GAAG,OAAO,OAAO;AAC3D,UAAM,MAAM,iBAAiB,OAAO,OAAO;AAC3C,kBAAc,sBAAsB,KAAK,OAAO;AAAA,EAClD;AAGA,MAAI,OAAO,KAAK,YAAY,OAAO;AACjC,UAAM,MAAM,aAAa,OAAO,KAAK,MAAM;AAC3C,UAAM,UAAU,OAAO,KAAK,QAAQ;AACpC;AAAA,MACE,KAAK,UAAU,QAAQ,QAAQ,OAAO,EAAE,CAAC;AAAA,MACzC;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAGA,MAAI,OAAO,QAAQ,YAAY,OAAO;AACpC,UAAM,YAAY,KAAK,QAAQ,SAAS;AACxC,cAAU,SAAS;AACnB,eAAW,CAAC,MAAM,OAAO,KAAK,OAAO,QAAQ,OAAO,MAAM,GAAG;AAC3D,gBAAU,KAAK,WAAW,GAAG,IAAI,OAAO,GAAG,OAAO;AAAA,IACpD;AAAA,EACF;AAGA,MAAI,OAAO,UAAU,YAAY,OAAO;AACtC,cAAU,KAAK,QAAQ,eAAe,GAAG,OAAO,QAAQ;AAAA,EAC1D;AAGA,MAAI,OAAO,WAAW,YAAY,OAAO;AACvC,cAAU,KAAK,QAAQ,gBAAgB,GAAG,OAAO,SAAS;AAAA,EAC5D;AAGA,YAAU,KAAK,QAAQ,uBAAuB,GAAG,OAAO,SAAS;AAGjE,QAAM,eAAe,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AACrD,YAAU,KAAK,QAAQ,YAAY,GAAG,YAAY;AAElD,QAAM,EAAE,OAAO,IAAI,MAAM,OAAO,0BAAiB;AACjD,SAAO,KAAK,aAAa,OAAO,QAAQ,MAAM,UAAU;AAExD,SAAO;AACT;AAEA,SAAS,UAAU,KAAmB;AACpC,MAAI,CAAC,WAAW,GAAG,GAAG;AACpB,cAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACpC;AACF;AAEA,SAAS,UAAU,MAAc,MAAqB;AACpD,YAAU,QAAQ,IAAI,CAAC;AACvB,gBAAc,MAAM,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,OAAO;AAC5D;","names":[]}
1
+ {"version":3,"sources":["../../../src/adapters/nuxt/index.ts"],"sourcesContent":["import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { renderRssXml } from \"../../generate/rss.js\";\nimport { renderSitemapXml } from \"../../generate/sitemap.js\";\nimport { logger } from \"../../logger.js\";\nimport { processCollections } from \"../../process.js\";\nimport type { VazaConfig, VazaOutput } from \"../../types.js\";\n\n/**\n * Nuxt adapter -- module that hooks into the Nuxt build.\n *\n * Usage in nuxt.config.ts:\n * import { defineVazaContentModule } from 'vaza-content/nuxt'\n * import vazaConfig from './vaza.config'\n *\n * export default defineNuxtConfig({\n * modules: [defineVazaContentModule(vazaConfig)]\n * })\n */\nexport function defineVazaContentModule(config: VazaConfig) {\n return async (\n _inlineOptions: unknown,\n nuxt: { hook?: (event: string, fn: () => Promise<void>) => void },\n ) => {\n if (nuxt?.hook) {\n // Use Nuxt hook API if available\n nuxt.hook(\"build:before\", async () => {\n await processAndWrite(config);\n });\n } else {\n // Fallback: run immediately (e.g. when used as simple module)\n await processAndWrite(config);\n }\n };\n}\n\n/**\n * Standalone function to process and write outputs.\n */\nexport async function buildVazaContent(\n config: VazaConfig,\n): Promise<VazaOutput> {\n return processAndWrite(config);\n}\n\nasync function processAndWrite(config: VazaConfig): Promise<VazaOutput> {\n const output = await processCollections(config);\n const outDir = \".vaza-content\";\n\n ensureDir(outDir);\n ensureDir(\"public\");\n\n // Write sitemap\n if (config.sitemap?.enabled !== false) {\n writeJson(join(outDir, \"sitemap-data.json\"), output.sitemap);\n const xml = renderSitemapXml(output.sitemap);\n writeFileSync(\"public/sitemap.xml\", xml, \"utf-8\");\n }\n\n // Write RSS\n if (config.rss?.enabled !== false) {\n const xml = renderRssXml(output.rss, config);\n const rssPath = config.rss?.path ?? \"/rss.xml\";\n writeFileSync(join(\"public\", rssPath.replace(/^\\//, \"\")), xml, \"utf-8\");\n }\n\n // Write JSON-LD per slug\n if (config.jsonLd?.enabled !== false) {\n const jsonLdDir = join(outDir, \"json-ld\");\n ensureDir(jsonLdDir);\n for (const [slug, schemas] of Object.entries(output.jsonLd)) {\n writeJson(join(jsonLdDir, `${slug}.json`), schemas);\n }\n }\n\n // Write taxonomy data\n if (config.taxonomy?.enabled !== false) {\n writeJson(join(outDir, \"taxonomy.json\"), output.taxonomy);\n }\n\n // Write redirects\n if (config.redirects?.enabled !== false) {\n writeJson(join(outDir, \"redirects.json\"), output.redirects);\n }\n\n // Write integrity report\n writeJson(join(outDir, \"integrity-report.json\"), output.integrity);\n\n // Write slug manifest\n const slugManifest = output.entries.map((e) => e.slug);\n writeJson(join(outDir, \"slugs.json\"), slugManifest);\n\n logger.info(`Generated ${output.entries.length} entries`);\n\n return output;\n}\n\nfunction ensureDir(dir: string): void {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\nfunction writeJson(path: string, data: unknown): void {\n ensureDir(dirname(path));\n writeFileSync(path, JSON.stringify(data, null, 2), \"utf-8\");\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,YAAY,WAAW,qBAAqB;AACrD,SAAS,SAAS,YAAY;AAkBvB,SAAS,wBAAwB,QAAoB;AAC1D,SAAO,OACL,gBACA,SACG;AACH,QAAI,MAAM,MAAM;AAEd,WAAK,KAAK,gBAAgB,YAAY;AACpC,cAAM,gBAAgB,MAAM;AAAA,MAC9B,CAAC;AAAA,IACH,OAAO;AAEL,YAAM,gBAAgB,MAAM;AAAA,IAC9B;AAAA,EACF;AACF;AAKA,eAAsB,iBACpB,QACqB;AACrB,SAAO,gBAAgB,MAAM;AAC/B;AAEA,eAAe,gBAAgB,QAAyC;AACtE,QAAM,SAAS,MAAM,mBAAmB,MAAM;AAC9C,QAAM,SAAS;AAEf,YAAU,MAAM;AAChB,YAAU,QAAQ;AAGlB,MAAI,OAAO,SAAS,YAAY,OAAO;AACrC,cAAU,KAAK,QAAQ,mBAAmB,GAAG,OAAO,OAAO;AAC3D,UAAM,MAAM,iBAAiB,OAAO,OAAO;AAC3C,kBAAc,sBAAsB,KAAK,OAAO;AAAA,EAClD;AAGA,MAAI,OAAO,KAAK,YAAY,OAAO;AACjC,UAAM,MAAM,aAAa,OAAO,KAAK,MAAM;AAC3C,UAAM,UAAU,OAAO,KAAK,QAAQ;AACpC,kBAAc,KAAK,UAAU,QAAQ,QAAQ,OAAO,EAAE,CAAC,GAAG,KAAK,OAAO;AAAA,EACxE;AAGA,MAAI,OAAO,QAAQ,YAAY,OAAO;AACpC,UAAM,YAAY,KAAK,QAAQ,SAAS;AACxC,cAAU,SAAS;AACnB,eAAW,CAAC,MAAM,OAAO,KAAK,OAAO,QAAQ,OAAO,MAAM,GAAG;AAC3D,gBAAU,KAAK,WAAW,GAAG,IAAI,OAAO,GAAG,OAAO;AAAA,IACpD;AAAA,EACF;AAGA,MAAI,OAAO,UAAU,YAAY,OAAO;AACtC,cAAU,KAAK,QAAQ,eAAe,GAAG,OAAO,QAAQ;AAAA,EAC1D;AAGA,MAAI,OAAO,WAAW,YAAY,OAAO;AACvC,cAAU,KAAK,QAAQ,gBAAgB,GAAG,OAAO,SAAS;AAAA,EAC5D;AAGA,YAAU,KAAK,QAAQ,uBAAuB,GAAG,OAAO,SAAS;AAGjE,QAAM,eAAe,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AACrD,YAAU,KAAK,QAAQ,YAAY,GAAG,YAAY;AAElD,SAAO,KAAK,aAAa,OAAO,QAAQ,MAAM,UAAU;AAExD,SAAO;AACT;AAEA,SAAS,UAAU,KAAmB;AACpC,MAAI,CAAC,WAAW,GAAG,GAAG;AACpB,cAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACpC;AACF;AAEA,SAAS,UAAU,MAAc,MAAqB;AACpD,YAAU,QAAQ,IAAI,CAAC;AACvB,gBAAc,MAAM,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,OAAO;AAC5D;","names":[]}
@@ -1,10 +1,9 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
4
 
5
- var _chunkYV2ZYIADcjs = require('../../chunk-YV2ZYIAD.cjs');
6
- require('../../chunk-WOCXEBQC.cjs');
7
- require('../../chunk-JEQ2X3Z6.cjs');
5
+
6
+ var _chunkH3D7F4TAcjs = require('../../chunk-H3D7F4TA.cjs');
8
7
 
9
8
  // src/adapters/sveltekit/index.ts
10
9
  var _fs = require('fs');
@@ -24,24 +23,20 @@ async function buildVazaContent(config) {
24
23
  return processAndWrite(config);
25
24
  }
26
25
  async function processAndWrite(config) {
27
- const output = await _chunkYV2ZYIADcjs.processCollections.call(void 0, config);
26
+ const output = await _chunkH3D7F4TAcjs.processCollections.call(void 0, config);
28
27
  const outDir = ".vaza-content";
29
28
  const staticDir = "static";
30
29
  ensureDir(outDir);
31
30
  ensureDir(staticDir);
32
31
  if (_optionalChain([config, 'access', _ => _.sitemap, 'optionalAccess', _2 => _2.enabled]) !== false) {
33
32
  writeJson(_path.join.call(void 0, outDir, "sitemap-data.json"), output.sitemap);
34
- const xml = _chunkYV2ZYIADcjs.renderSitemapXml.call(void 0, output.sitemap);
33
+ const xml = _chunkH3D7F4TAcjs.renderSitemapXml.call(void 0, output.sitemap);
35
34
  _fs.writeFileSync.call(void 0, _path.join.call(void 0, staticDir, "sitemap.xml"), xml, "utf-8");
36
35
  }
37
36
  if (_optionalChain([config, 'access', _3 => _3.rss, 'optionalAccess', _4 => _4.enabled]) !== false) {
38
- const xml = _chunkYV2ZYIADcjs.renderRssXml.call(void 0, output.rss, config);
37
+ const xml = _chunkH3D7F4TAcjs.renderRssXml.call(void 0, output.rss, config);
39
38
  const rssPath = _nullishCoalesce(_optionalChain([config, 'access', _5 => _5.rss, 'optionalAccess', _6 => _6.path]), () => ( "/rss.xml"));
40
- _fs.writeFileSync.call(void 0,
41
- _path.join.call(void 0, staticDir, rssPath.replace(/^\//, "")),
42
- xml,
43
- "utf-8"
44
- );
39
+ _fs.writeFileSync.call(void 0, _path.join.call(void 0, staticDir, rssPath.replace(/^\//, "")), xml, "utf-8");
45
40
  }
46
41
  if (_optionalChain([config, 'access', _7 => _7.jsonLd, 'optionalAccess', _8 => _8.enabled]) !== false) {
47
42
  const jsonLdDir = _path.join.call(void 0, outDir, "json-ld");
@@ -59,9 +54,8 @@ async function processAndWrite(config) {
59
54
  writeJson(_path.join.call(void 0, outDir, "integrity-report.json"), output.integrity);
60
55
  const slugManifest = output.entries.map((e) => e.slug);
61
56
  writeJson(_path.join.call(void 0, outDir, "slugs.json"), slugManifest);
62
- const { logger } = await Promise.resolve().then(() => _interopRequireWildcard(require("../../logger-7WBTEDED.cjs")));
63
- logger.info(`Generated ${output.entries.length} entries`);
64
- logger.info(`Outputs written to ${outDir}/ and ${staticDir}/`);
57
+ _chunkH3D7F4TAcjs.logger.info(`Generated ${output.entries.length} entries`);
58
+ _chunkH3D7F4TAcjs.logger.info(`Outputs written to ${outDir}/ and ${staticDir}/`);
65
59
  return output;
66
60
  }
67
61
  function ensureDir(dir) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/mehdi/vaza-content/dist/adapters/sveltekit/index.cjs","../../../src/adapters/sveltekit/index.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACA;ACJA,wBAAqD;AACrD,4BAA8B;AASvB,SAAS,WAAA,CAAY,MAAA,EAAoB;AAC9C,EAAA,IAAI,OAAA,EAAS,KAAA;AAEb,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,wBAAA;AAAA,IACN,MAAM,UAAA,CAAA,EAAa;AACjB,MAAA,GAAA,CAAI,MAAA,EAAQ,MAAA;AACZ,MAAA,OAAA,EAAS,IAAA;AACT,MAAA,MAAM,eAAA,CAAgB,MAAM,CAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AACF;AAKA,MAAA,SAAsB,gBAAA,CAAiB,MAAA,EAAyC;AAC9E,EAAA,OAAO,eAAA,CAAgB,MAAM,CAAA;AAC/B;AAEA,MAAA,SAAe,eAAA,CAAgB,MAAA,EAAyC;AACtE,EAAA,MAAM,OAAA,EAAS,MAAM,kDAAA,MAAyB,CAAA;AAC9C,EAAA,MAAM,OAAA,EAAS,eAAA;AACf,EAAA,MAAM,UAAA,EAAY,QAAA;AAElB,EAAA,SAAA,CAAU,MAAM,CAAA;AAChB,EAAA,SAAA,CAAU,SAAS,CAAA;AAGnB,EAAA,GAAA,iBAAI,MAAA,mBAAO,OAAA,6BAAS,UAAA,IAAY,KAAA,EAAO;AACrC,IAAA,SAAA,CAAU,wBAAA,MAAK,EAAQ,mBAAmB,CAAA,EAAG,MAAA,CAAO,OAAO,CAAA;AAC3D,IAAA,MAAM,IAAA,EAAM,gDAAA,MAAiB,CAAO,OAAO,CAAA;AAC3C,IAAA,+BAAA,wBAAc,SAAK,EAAW,aAAa,CAAA,EAAG,GAAA,EAAK,OAAO,CAAA;AAAA,EAC5D;AAGA,EAAA,GAAA,iBAAI,MAAA,qBAAO,GAAA,6BAAK,UAAA,IAAY,KAAA,EAAO;AACjC,IAAA,MAAM,IAAA,EAAM,4CAAA,MAAa,CAAO,GAAA,EAAK,MAAM,CAAA;AAC3C,IAAA,MAAM,QAAA,mCAAU,MAAA,qBAAO,GAAA,6BAAK,MAAA,UAAQ,YAAA;AACpC,IAAA,+BAAA;AAAA,MACE,wBAAA,SAAK,EAAW,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAC,CAAA;AAAA,MAC1C,GAAA;AAAA,MACA;AAAA,IACF,CAAA;AAAA,EACF;AAGA,EAAA,GAAA,iBAAI,MAAA,qBAAO,MAAA,6BAAQ,UAAA,IAAY,KAAA,EAAO;AACpC,IAAA,MAAM,UAAA,EAAY,wBAAA,MAAK,EAAQ,SAAS,CAAA;AACxC,IAAA,SAAA,CAAU,SAAS,CAAA;AACnB,IAAA,IAAA,CAAA,MAAW,CAAC,IAAA,EAAM,OAAO,EAAA,GAAK,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,MAAM,CAAA,EAAG;AAC3D,MAAA,SAAA,CAAU,wBAAA,SAAK,EAAW,CAAA,EAAA;AAC5B,IAAA;AACF,EAAA;AAGqB,EAAA;AACI,IAAA;AACzB,EAAA;AAGsB,EAAA;AACG,IAAA;AACzB,EAAA;AAGuB,EAAA;AAGK,EAAA;AACL,EAAA;AAEE,EAAA;AACA,EAAA;AACb,EAAA;AAEL,EAAA;AACT;AAEsC;AACd,EAAA;AACQ,IAAA;AAC9B,EAAA;AACF;AAEsD;AAC7B,EAAA;AACE,EAAA;AAC3B;AD3BiC;AACA;AACA;AACA","file":"/Users/mehdi/vaza-content/dist/adapters/sveltekit/index.cjs","sourcesContent":[null,"import { processCollections } from \"../../process.js\";\nimport type { VazaConfig, VazaOutput } from \"../../types.js\";\nimport { renderSitemapXml } from \"../../generate/sitemap.js\";\nimport { renderRssXml } from \"../../generate/rss.js\";\nimport { writeFileSync, mkdirSync, existsSync } from \"node:fs\";\nimport { join, dirname } from \"node:path\";\n\n/**\n * SvelteKit adapter Vite plugin that hooks into the build.\n *\n * Usage in vite.config.ts:\n * import { vazaContent } from 'vaza-content/sveltekit'\n * export default { plugins: [sveltekit(), vazaContent(vazaConfig)] }\n */\nexport function vazaContent(config: VazaConfig) {\n let hasRun = false;\n\n return {\n name: \"vaza-content-sveltekit\",\n async buildStart() {\n if (hasRun) return;\n hasRun = true;\n await processAndWrite(config);\n },\n };\n}\n\n/**\n * Standalone function to process and write outputs.\n */\nexport async function buildVazaContent(config: VazaConfig): Promise<VazaOutput> {\n return processAndWrite(config);\n}\n\nasync function processAndWrite(config: VazaConfig): Promise<VazaOutput> {\n const output = await processCollections(config);\n const outDir = \".vaza-content\";\n const staticDir = \"static\";\n\n ensureDir(outDir);\n ensureDir(staticDir);\n\n // Write sitemap\n if (config.sitemap?.enabled !== false) {\n writeJson(join(outDir, \"sitemap-data.json\"), output.sitemap);\n const xml = renderSitemapXml(output.sitemap);\n writeFileSync(join(staticDir, \"sitemap.xml\"), xml, \"utf-8\");\n }\n\n // Write RSS\n if (config.rss?.enabled !== false) {\n const xml = renderRssXml(output.rss, config);\n const rssPath = config.rss?.path ?? \"/rss.xml\";\n writeFileSync(\n join(staticDir, rssPath.replace(/^\\//, \"\")),\n xml,\n \"utf-8\",\n );\n }\n\n // Write JSON-LD per slug\n if (config.jsonLd?.enabled !== false) {\n const jsonLdDir = join(outDir, \"json-ld\");\n ensureDir(jsonLdDir);\n for (const [slug, schemas] of Object.entries(output.jsonLd)) {\n writeJson(join(jsonLdDir, `${slug}.json`), schemas);\n }\n }\n\n // Write taxonomy data\n if (config.taxonomy?.enabled !== false) {\n writeJson(join(outDir, \"taxonomy.json\"), output.taxonomy);\n }\n\n // Write redirects\n if (config.redirects?.enabled !== false) {\n writeJson(join(outDir, \"redirects.json\"), output.redirects);\n }\n\n // Write integrity report\n writeJson(join(outDir, \"integrity-report.json\"), output.integrity);\n\n // Write slug manifest\n const slugManifest = output.entries.map((e) => e.slug);\n writeJson(join(outDir, \"slugs.json\"), slugManifest);\n\n const { logger } = await import(\"../../logger.js\");\n logger.info(`Generated ${output.entries.length} entries`);\n logger.info(`Outputs written to ${outDir}/ and ${staticDir}/`);\n\n return output;\n}\n\nfunction ensureDir(dir: string): void {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\nfunction writeJson(path: string, data: unknown): void {\n ensureDir(dirname(path));\n writeFileSync(path, JSON.stringify(data, null, 2), \"utf-8\");\n}\n"]}
1
+ {"version":3,"sources":["/Users/mehdi/vaza-content/dist/adapters/sveltekit/index.cjs","../../../src/adapters/sveltekit/index.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,4DAAiC;AACjC;AACA;ACPA,wBAAqD;AACrD,4BAA8B;AAevB,SAAS,WAAA,CAAY,MAAA,EAAoB;AAC9C,EAAA,IAAI,OAAA,EAAS,KAAA;AAEb,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,wBAAA;AAAA,IACN,MAAM,UAAA,CAAA,EAAa;AACjB,MAAA,GAAA,CAAI,MAAA,EAAQ,MAAA;AACZ,MAAA,OAAA,EAAS,IAAA;AACT,MAAA,MAAM,eAAA,CAAgB,MAAM,CAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AACF;AAKA,MAAA,SAAsB,gBAAA,CACpB,MAAA,EACqB;AACrB,EAAA,OAAO,eAAA,CAAgB,MAAM,CAAA;AAC/B;AAEA,MAAA,SAAe,eAAA,CAAgB,MAAA,EAAyC;AACtE,EAAA,MAAM,OAAA,EAAS,MAAM,kDAAA,MAAyB,CAAA;AAC9C,EAAA,MAAM,OAAA,EAAS,eAAA;AACf,EAAA,MAAM,UAAA,EAAY,QAAA;AAElB,EAAA,SAAA,CAAU,MAAM,CAAA;AAChB,EAAA,SAAA,CAAU,SAAS,CAAA;AAGnB,EAAA,GAAA,iBAAI,MAAA,mBAAO,OAAA,6BAAS,UAAA,IAAY,KAAA,EAAO;AACrC,IAAA,SAAA,CAAU,wBAAA,MAAK,EAAQ,mBAAmB,CAAA,EAAG,MAAA,CAAO,OAAO,CAAA;AAC3D,IAAA,MAAM,IAAA,EAAM,gDAAA,MAAiB,CAAO,OAAO,CAAA;AAC3C,IAAA,+BAAA,wBAAc,SAAK,EAAW,aAAa,CAAA,EAAG,GAAA,EAAK,OAAO,CAAA;AAAA,EAC5D;AAGA,EAAA,GAAA,iBAAI,MAAA,qBAAO,GAAA,6BAAK,UAAA,IAAY,KAAA,EAAO;AACjC,IAAA,MAAM,IAAA,EAAM,4CAAA,MAAa,CAAO,GAAA,EAAK,MAAM,CAAA;AAC3C,IAAA,MAAM,QAAA,mCAAU,MAAA,qBAAO,GAAA,6BAAK,MAAA,UAAQ,YAAA;AACpC,IAAA,+BAAA,wBAAc,SAAK,EAAW,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAC,CAAA,EAAG,GAAA,EAAK,OAAO,CAAA;AAAA,EACzE;AAGA,EAAA,GAAA,iBAAI,MAAA,qBAAO,MAAA,6BAAQ,UAAA,IAAY,KAAA,EAAO;AACpC,IAAA,MAAM,UAAA,EAAY,wBAAA,MAAK,EAAQ,SAAS,CAAA;AACxC,IAAA,SAAA,CAAU,SAAS,CAAA;AACnB,IAAA,IAAA,CAAA,MAAW,CAAC,IAAA,EAAM,OAAO,EAAA,GAAK,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,MAAM,CAAA,EAAG;AAC3D,MAAA,SAAA,CAAU,wBAAA,SAAK,EAAW,CAAA,EAAA;AAC5B,IAAA;AACF,EAAA;AAGqB,EAAA;AACI,IAAA;AACzB,EAAA;AAGsB,EAAA;AACG,IAAA;AACzB,EAAA;AAGuB,EAAA;AAGK,EAAA;AACL,EAAA;AAEE,EAAA;AACb,EAAA;AAEL,EAAA;AACT;AAEsC;AACd,EAAA;AACQ,IAAA;AAC9B,EAAA;AACF;AAEsD;AAC7B,EAAA;AACE,EAAA;AAC3B;ADhCiC;AACA;AACA;AACA","file":"/Users/mehdi/vaza-content/dist/adapters/sveltekit/index.cjs","sourcesContent":[null,"import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { renderRssXml } from \"../../generate/rss.js\";\nimport { renderSitemapXml } from \"../../generate/sitemap.js\";\nimport { logger } from \"../../logger.js\";\nimport { processCollections } from \"../../process.js\";\nimport type { VazaConfig, VazaOutput } from \"../../types.js\";\n\n/**\n * SvelteKit adapter -- Vite plugin that hooks into the build.\n *\n * Usage in vite.config.ts:\n * import { vazaContent } from 'vaza-content/sveltekit'\n * import vazaConfig from './vaza.config'\n * export default { plugins: [sveltekit(), vazaContent(vazaConfig)] }\n */\nexport function vazaContent(config: VazaConfig) {\n let hasRun = false;\n\n return {\n name: \"vaza-content-sveltekit\",\n async buildStart() {\n if (hasRun) return;\n hasRun = true;\n await processAndWrite(config);\n },\n };\n}\n\n/**\n * Standalone function to process and write outputs.\n */\nexport async function buildVazaContent(\n config: VazaConfig,\n): Promise<VazaOutput> {\n return processAndWrite(config);\n}\n\nasync function processAndWrite(config: VazaConfig): Promise<VazaOutput> {\n const output = await processCollections(config);\n const outDir = \".vaza-content\";\n const staticDir = \"static\";\n\n ensureDir(outDir);\n ensureDir(staticDir);\n\n // Write sitemap\n if (config.sitemap?.enabled !== false) {\n writeJson(join(outDir, \"sitemap-data.json\"), output.sitemap);\n const xml = renderSitemapXml(output.sitemap);\n writeFileSync(join(staticDir, \"sitemap.xml\"), xml, \"utf-8\");\n }\n\n // Write RSS\n if (config.rss?.enabled !== false) {\n const xml = renderRssXml(output.rss, config);\n const rssPath = config.rss?.path ?? \"/rss.xml\";\n writeFileSync(join(staticDir, rssPath.replace(/^\\//, \"\")), xml, \"utf-8\");\n }\n\n // Write JSON-LD per slug\n if (config.jsonLd?.enabled !== false) {\n const jsonLdDir = join(outDir, \"json-ld\");\n ensureDir(jsonLdDir);\n for (const [slug, schemas] of Object.entries(output.jsonLd)) {\n writeJson(join(jsonLdDir, `${slug}.json`), schemas);\n }\n }\n\n // Write taxonomy data\n if (config.taxonomy?.enabled !== false) {\n writeJson(join(outDir, \"taxonomy.json\"), output.taxonomy);\n }\n\n // Write redirects\n if (config.redirects?.enabled !== false) {\n writeJson(join(outDir, \"redirects.json\"), output.redirects);\n }\n\n // Write integrity report\n writeJson(join(outDir, \"integrity-report.json\"), output.integrity);\n\n // Write slug manifest\n const slugManifest = output.entries.map((e) => e.slug);\n writeJson(join(outDir, \"slugs.json\"), slugManifest);\n\n logger.info(`Generated ${output.entries.length} entries`);\n logger.info(`Outputs written to ${outDir}/ and ${staticDir}/`);\n\n return output;\n}\n\nfunction ensureDir(dir: string): void {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\nfunction writeJson(path: string, data: unknown): void {\n ensureDir(dirname(path));\n writeFileSync(path, JSON.stringify(data, null, 2), \"utf-8\");\n}\n"]}
@@ -1,10 +1,11 @@
1
- import { V as VazaConfig, a as VazaOutput } from '../../types-CgaidvaB.cjs';
1
+ import { V as VazaConfig, a as VazaOutput } from '../../types-DAfWIHiD.cjs';
2
2
 
3
3
  /**
4
- * SvelteKit adapter Vite plugin that hooks into the build.
4
+ * SvelteKit adapter -- Vite plugin that hooks into the build.
5
5
  *
6
6
  * Usage in vite.config.ts:
7
7
  * import { vazaContent } from 'vaza-content/sveltekit'
8
+ * import vazaConfig from './vaza.config'
8
9
  * export default { plugins: [sveltekit(), vazaContent(vazaConfig)] }
9
10
  */
10
11
  declare function vazaContent(config: VazaConfig): {
@@ -1,10 +1,11 @@
1
- import { V as VazaConfig, a as VazaOutput } from '../../types-CgaidvaB.js';
1
+ import { V as VazaConfig, a as VazaOutput } from '../../types-DAfWIHiD.js';
2
2
 
3
3
  /**
4
- * SvelteKit adapter Vite plugin that hooks into the build.
4
+ * SvelteKit adapter -- Vite plugin that hooks into the build.
5
5
  *
6
6
  * Usage in vite.config.ts:
7
7
  * import { vazaContent } from 'vaza-content/sveltekit'
8
+ * import vazaConfig from './vaza.config'
8
9
  * export default { plugins: [sveltekit(), vazaContent(vazaConfig)] }
9
10
  */
10
11
  declare function vazaContent(config: VazaConfig): {
@@ -1,14 +1,13 @@
1
1
  import {
2
+ logger,
2
3
  processCollections,
3
4
  renderRssXml,
4
5
  renderSitemapXml
5
- } from "../../chunk-FALSVGPG.js";
6
- import "../../chunk-PCRQY47G.js";
7
- import "../../chunk-DGUM43GV.js";
6
+ } from "../../chunk-OKXBDPYF.js";
8
7
 
9
8
  // src/adapters/sveltekit/index.ts
10
- import { writeFileSync, mkdirSync, existsSync } from "fs";
11
- import { join, dirname } from "path";
9
+ import { existsSync, mkdirSync, writeFileSync } from "fs";
10
+ import { dirname, join } from "path";
12
11
  function vazaContent(config) {
13
12
  let hasRun = false;
14
13
  return {
@@ -37,11 +36,7 @@ async function processAndWrite(config) {
37
36
  if (config.rss?.enabled !== false) {
38
37
  const xml = renderRssXml(output.rss, config);
39
38
  const rssPath = config.rss?.path ?? "/rss.xml";
40
- writeFileSync(
41
- join(staticDir, rssPath.replace(/^\//, "")),
42
- xml,
43
- "utf-8"
44
- );
39
+ writeFileSync(join(staticDir, rssPath.replace(/^\//, "")), xml, "utf-8");
45
40
  }
46
41
  if (config.jsonLd?.enabled !== false) {
47
42
  const jsonLdDir = join(outDir, "json-ld");
@@ -59,7 +54,6 @@ async function processAndWrite(config) {
59
54
  writeJson(join(outDir, "integrity-report.json"), output.integrity);
60
55
  const slugManifest = output.entries.map((e) => e.slug);
61
56
  writeJson(join(outDir, "slugs.json"), slugManifest);
62
- const { logger } = await import("../../logger-BGP7C274.js");
63
57
  logger.info(`Generated ${output.entries.length} entries`);
64
58
  logger.info(`Outputs written to ${outDir}/ and ${staticDir}/`);
65
59
  return output;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/adapters/sveltekit/index.ts"],"sourcesContent":["import { processCollections } from \"../../process.js\";\nimport type { VazaConfig, VazaOutput } from \"../../types.js\";\nimport { renderSitemapXml } from \"../../generate/sitemap.js\";\nimport { renderRssXml } from \"../../generate/rss.js\";\nimport { writeFileSync, mkdirSync, existsSync } from \"node:fs\";\nimport { join, dirname } from \"node:path\";\n\n/**\n * SvelteKit adapter Vite plugin that hooks into the build.\n *\n * Usage in vite.config.ts:\n * import { vazaContent } from 'vaza-content/sveltekit'\n * export default { plugins: [sveltekit(), vazaContent(vazaConfig)] }\n */\nexport function vazaContent(config: VazaConfig) {\n let hasRun = false;\n\n return {\n name: \"vaza-content-sveltekit\",\n async buildStart() {\n if (hasRun) return;\n hasRun = true;\n await processAndWrite(config);\n },\n };\n}\n\n/**\n * Standalone function to process and write outputs.\n */\nexport async function buildVazaContent(config: VazaConfig): Promise<VazaOutput> {\n return processAndWrite(config);\n}\n\nasync function processAndWrite(config: VazaConfig): Promise<VazaOutput> {\n const output = await processCollections(config);\n const outDir = \".vaza-content\";\n const staticDir = \"static\";\n\n ensureDir(outDir);\n ensureDir(staticDir);\n\n // Write sitemap\n if (config.sitemap?.enabled !== false) {\n writeJson(join(outDir, \"sitemap-data.json\"), output.sitemap);\n const xml = renderSitemapXml(output.sitemap);\n writeFileSync(join(staticDir, \"sitemap.xml\"), xml, \"utf-8\");\n }\n\n // Write RSS\n if (config.rss?.enabled !== false) {\n const xml = renderRssXml(output.rss, config);\n const rssPath = config.rss?.path ?? \"/rss.xml\";\n writeFileSync(\n join(staticDir, rssPath.replace(/^\\//, \"\")),\n xml,\n \"utf-8\",\n );\n }\n\n // Write JSON-LD per slug\n if (config.jsonLd?.enabled !== false) {\n const jsonLdDir = join(outDir, \"json-ld\");\n ensureDir(jsonLdDir);\n for (const [slug, schemas] of Object.entries(output.jsonLd)) {\n writeJson(join(jsonLdDir, `${slug}.json`), schemas);\n }\n }\n\n // Write taxonomy data\n if (config.taxonomy?.enabled !== false) {\n writeJson(join(outDir, \"taxonomy.json\"), output.taxonomy);\n }\n\n // Write redirects\n if (config.redirects?.enabled !== false) {\n writeJson(join(outDir, \"redirects.json\"), output.redirects);\n }\n\n // Write integrity report\n writeJson(join(outDir, \"integrity-report.json\"), output.integrity);\n\n // Write slug manifest\n const slugManifest = output.entries.map((e) => e.slug);\n writeJson(join(outDir, \"slugs.json\"), slugManifest);\n\n const { logger } = await import(\"../../logger.js\");\n logger.info(`Generated ${output.entries.length} entries`);\n logger.info(`Outputs written to ${outDir}/ and ${staticDir}/`);\n\n return output;\n}\n\nfunction ensureDir(dir: string): void {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\nfunction writeJson(path: string, data: unknown): void {\n ensureDir(dirname(path));\n writeFileSync(path, JSON.stringify(data, null, 2), \"utf-8\");\n}\n"],"mappings":";;;;;;;;;AAIA,SAAS,eAAe,WAAW,kBAAkB;AACrD,SAAS,MAAM,eAAe;AASvB,SAAS,YAAY,QAAoB;AAC9C,MAAI,SAAS;AAEb,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,aAAa;AACjB,UAAI,OAAQ;AACZ,eAAS;AACT,YAAM,gBAAgB,MAAM;AAAA,IAC9B;AAAA,EACF;AACF;AAKA,eAAsB,iBAAiB,QAAyC;AAC9E,SAAO,gBAAgB,MAAM;AAC/B;AAEA,eAAe,gBAAgB,QAAyC;AACtE,QAAM,SAAS,MAAM,mBAAmB,MAAM;AAC9C,QAAM,SAAS;AACf,QAAM,YAAY;AAElB,YAAU,MAAM;AAChB,YAAU,SAAS;AAGnB,MAAI,OAAO,SAAS,YAAY,OAAO;AACrC,cAAU,KAAK,QAAQ,mBAAmB,GAAG,OAAO,OAAO;AAC3D,UAAM,MAAM,iBAAiB,OAAO,OAAO;AAC3C,kBAAc,KAAK,WAAW,aAAa,GAAG,KAAK,OAAO;AAAA,EAC5D;AAGA,MAAI,OAAO,KAAK,YAAY,OAAO;AACjC,UAAM,MAAM,aAAa,OAAO,KAAK,MAAM;AAC3C,UAAM,UAAU,OAAO,KAAK,QAAQ;AACpC;AAAA,MACE,KAAK,WAAW,QAAQ,QAAQ,OAAO,EAAE,CAAC;AAAA,MAC1C;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAGA,MAAI,OAAO,QAAQ,YAAY,OAAO;AACpC,UAAM,YAAY,KAAK,QAAQ,SAAS;AACxC,cAAU,SAAS;AACnB,eAAW,CAAC,MAAM,OAAO,KAAK,OAAO,QAAQ,OAAO,MAAM,GAAG;AAC3D,gBAAU,KAAK,WAAW,GAAG,IAAI,OAAO,GAAG,OAAO;AAAA,IACpD;AAAA,EACF;AAGA,MAAI,OAAO,UAAU,YAAY,OAAO;AACtC,cAAU,KAAK,QAAQ,eAAe,GAAG,OAAO,QAAQ;AAAA,EAC1D;AAGA,MAAI,OAAO,WAAW,YAAY,OAAO;AACvC,cAAU,KAAK,QAAQ,gBAAgB,GAAG,OAAO,SAAS;AAAA,EAC5D;AAGA,YAAU,KAAK,QAAQ,uBAAuB,GAAG,OAAO,SAAS;AAGjE,QAAM,eAAe,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AACrD,YAAU,KAAK,QAAQ,YAAY,GAAG,YAAY;AAElD,QAAM,EAAE,OAAO,IAAI,MAAM,OAAO,0BAAiB;AACjD,SAAO,KAAK,aAAa,OAAO,QAAQ,MAAM,UAAU;AACxD,SAAO,KAAK,sBAAsB,MAAM,SAAS,SAAS,GAAG;AAE7D,SAAO;AACT;AAEA,SAAS,UAAU,KAAmB;AACpC,MAAI,CAAC,WAAW,GAAG,GAAG;AACpB,cAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACpC;AACF;AAEA,SAAS,UAAU,MAAc,MAAqB;AACpD,YAAU,QAAQ,IAAI,CAAC;AACvB,gBAAc,MAAM,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,OAAO;AAC5D;","names":[]}
1
+ {"version":3,"sources":["../../../src/adapters/sveltekit/index.ts"],"sourcesContent":["import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { renderRssXml } from \"../../generate/rss.js\";\nimport { renderSitemapXml } from \"../../generate/sitemap.js\";\nimport { logger } from \"../../logger.js\";\nimport { processCollections } from \"../../process.js\";\nimport type { VazaConfig, VazaOutput } from \"../../types.js\";\n\n/**\n * SvelteKit adapter -- Vite plugin that hooks into the build.\n *\n * Usage in vite.config.ts:\n * import { vazaContent } from 'vaza-content/sveltekit'\n * import vazaConfig from './vaza.config'\n * export default { plugins: [sveltekit(), vazaContent(vazaConfig)] }\n */\nexport function vazaContent(config: VazaConfig) {\n let hasRun = false;\n\n return {\n name: \"vaza-content-sveltekit\",\n async buildStart() {\n if (hasRun) return;\n hasRun = true;\n await processAndWrite(config);\n },\n };\n}\n\n/**\n * Standalone function to process and write outputs.\n */\nexport async function buildVazaContent(\n config: VazaConfig,\n): Promise<VazaOutput> {\n return processAndWrite(config);\n}\n\nasync function processAndWrite(config: VazaConfig): Promise<VazaOutput> {\n const output = await processCollections(config);\n const outDir = \".vaza-content\";\n const staticDir = \"static\";\n\n ensureDir(outDir);\n ensureDir(staticDir);\n\n // Write sitemap\n if (config.sitemap?.enabled !== false) {\n writeJson(join(outDir, \"sitemap-data.json\"), output.sitemap);\n const xml = renderSitemapXml(output.sitemap);\n writeFileSync(join(staticDir, \"sitemap.xml\"), xml, \"utf-8\");\n }\n\n // Write RSS\n if (config.rss?.enabled !== false) {\n const xml = renderRssXml(output.rss, config);\n const rssPath = config.rss?.path ?? \"/rss.xml\";\n writeFileSync(join(staticDir, rssPath.replace(/^\\//, \"\")), xml, \"utf-8\");\n }\n\n // Write JSON-LD per slug\n if (config.jsonLd?.enabled !== false) {\n const jsonLdDir = join(outDir, \"json-ld\");\n ensureDir(jsonLdDir);\n for (const [slug, schemas] of Object.entries(output.jsonLd)) {\n writeJson(join(jsonLdDir, `${slug}.json`), schemas);\n }\n }\n\n // Write taxonomy data\n if (config.taxonomy?.enabled !== false) {\n writeJson(join(outDir, \"taxonomy.json\"), output.taxonomy);\n }\n\n // Write redirects\n if (config.redirects?.enabled !== false) {\n writeJson(join(outDir, \"redirects.json\"), output.redirects);\n }\n\n // Write integrity report\n writeJson(join(outDir, \"integrity-report.json\"), output.integrity);\n\n // Write slug manifest\n const slugManifest = output.entries.map((e) => e.slug);\n writeJson(join(outDir, \"slugs.json\"), slugManifest);\n\n logger.info(`Generated ${output.entries.length} entries`);\n logger.info(`Outputs written to ${outDir}/ and ${staticDir}/`);\n\n return output;\n}\n\nfunction ensureDir(dir: string): void {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\nfunction writeJson(path: string, data: unknown): void {\n ensureDir(dirname(path));\n writeFileSync(path, JSON.stringify(data, null, 2), \"utf-8\");\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,YAAY,WAAW,qBAAqB;AACrD,SAAS,SAAS,YAAY;AAevB,SAAS,YAAY,QAAoB;AAC9C,MAAI,SAAS;AAEb,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM,aAAa;AACjB,UAAI,OAAQ;AACZ,eAAS;AACT,YAAM,gBAAgB,MAAM;AAAA,IAC9B;AAAA,EACF;AACF;AAKA,eAAsB,iBACpB,QACqB;AACrB,SAAO,gBAAgB,MAAM;AAC/B;AAEA,eAAe,gBAAgB,QAAyC;AACtE,QAAM,SAAS,MAAM,mBAAmB,MAAM;AAC9C,QAAM,SAAS;AACf,QAAM,YAAY;AAElB,YAAU,MAAM;AAChB,YAAU,SAAS;AAGnB,MAAI,OAAO,SAAS,YAAY,OAAO;AACrC,cAAU,KAAK,QAAQ,mBAAmB,GAAG,OAAO,OAAO;AAC3D,UAAM,MAAM,iBAAiB,OAAO,OAAO;AAC3C,kBAAc,KAAK,WAAW,aAAa,GAAG,KAAK,OAAO;AAAA,EAC5D;AAGA,MAAI,OAAO,KAAK,YAAY,OAAO;AACjC,UAAM,MAAM,aAAa,OAAO,KAAK,MAAM;AAC3C,UAAM,UAAU,OAAO,KAAK,QAAQ;AACpC,kBAAc,KAAK,WAAW,QAAQ,QAAQ,OAAO,EAAE,CAAC,GAAG,KAAK,OAAO;AAAA,EACzE;AAGA,MAAI,OAAO,QAAQ,YAAY,OAAO;AACpC,UAAM,YAAY,KAAK,QAAQ,SAAS;AACxC,cAAU,SAAS;AACnB,eAAW,CAAC,MAAM,OAAO,KAAK,OAAO,QAAQ,OAAO,MAAM,GAAG;AAC3D,gBAAU,KAAK,WAAW,GAAG,IAAI,OAAO,GAAG,OAAO;AAAA,IACpD;AAAA,EACF;AAGA,MAAI,OAAO,UAAU,YAAY,OAAO;AACtC,cAAU,KAAK,QAAQ,eAAe,GAAG,OAAO,QAAQ;AAAA,EAC1D;AAGA,MAAI,OAAO,WAAW,YAAY,OAAO;AACvC,cAAU,KAAK,QAAQ,gBAAgB,GAAG,OAAO,SAAS;AAAA,EAC5D;AAGA,YAAU,KAAK,QAAQ,uBAAuB,GAAG,OAAO,SAAS;AAGjE,QAAM,eAAe,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI;AACrD,YAAU,KAAK,QAAQ,YAAY,GAAG,YAAY;AAElD,SAAO,KAAK,aAAa,OAAO,QAAQ,MAAM,UAAU;AACxD,SAAO,KAAK,sBAAsB,MAAM,SAAS,SAAS,GAAG;AAE7D,SAAO;AACT;AAEA,SAAS,UAAU,KAAmB;AACpC,MAAI,CAAC,WAAW,GAAG,GAAG;AACpB,cAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACpC;AACF;AAEA,SAAS,UAAU,MAAc,MAAqB;AACpD,YAAU,QAAQ,IAAI,CAAC;AACvB,gBAAc,MAAM,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,OAAO;AAC5D;","names":[]}
@@ -1,5 +1,3 @@
1
- import "./chunk-DGUM43GV.js";
2
-
3
1
  // src/generate/og-templates/blog.tsx
4
2
  function blogTemplate(entry, config) {
5
3
  const bg = config.colors?.bg ?? "#1a1a2e";
@@ -51,7 +49,7 @@ function blogTemplate(entry, config) {
51
49
  props: {
52
50
  style: {
53
51
  fontSize: 22,
54
- color: `${text}cc`,
52
+ color: `${text}CC`,
55
53
  marginTop: 20,
56
54
  lineHeight: 1.4,
57
55
  maxWidth: 900
@@ -103,4 +101,4 @@ function blogTemplate(entry, config) {
103
101
  export {
104
102
  blogTemplate
105
103
  };
106
- //# sourceMappingURL=blog-7EEJJG26.js.map
104
+ //# sourceMappingURL=blog-L7HRY3QC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generate/og-templates/blog.tsx"],"sourcesContent":["import type { VazaEntry, OgImagesConfig } from \"../../types.js\";\n\n/**\n * Blog template: title + description + author name + date on gradient background.\n * Returns a Satori-compatible virtual DOM element (plain object).\n */\nexport function blogTemplate(\n entry: VazaEntry,\n config: OgImagesConfig,\n): unknown {\n const bg = config.colors?.bg ?? \"#1a1a2e\";\n const text = config.colors?.text ?? \"#ffffff\";\n const accent = config.colors?.accent ?? \"#e94560\";\n\n const dateStr = entry.publishDate\n ? entry.publishDate.toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n })\n : \"\";\n\n const descriptionText = entry.description\n ? entry.description.slice(0, 120) +\n (entry.description.length > 120 ? \"...\" : \"\")\n : null;\n\n return {\n type: \"div\",\n props: {\n style: {\n width: 1200,\n height: 630,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n background: `linear-gradient(135deg, ${bg} 0%, #16213e 100%)`,\n padding: 80,\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 48,\n fontWeight: 700,\n color: text,\n lineHeight: 1.2,\n maxWidth: 1000,\n },\n children: entry.title,\n },\n },\n ...(descriptionText\n ? [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 22,\n color: `${text}cc`,\n marginTop: 20,\n lineHeight: 1.4,\n maxWidth: 900,\n },\n children: descriptionText,\n },\n },\n ]\n : []),\n ],\n },\n },\n {\n type: \"div\",\n props: {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 22,\n color: accent,\n fontWeight: 600,\n },\n children: entry.author?.name ?? \"\",\n },\n },\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 20,\n color: `${text}99`,\n },\n children: dateStr,\n },\n },\n ],\n },\n },\n ],\n },\n };\n}\n"],"mappings":";;;AAMO,SAAS,aACd,OACA,QACS;AACT,QAAM,KAAK,OAAO,QAAQ,MAAM;AAChC,QAAM,OAAO,OAAO,QAAQ,QAAQ;AACpC,QAAM,SAAS,OAAO,QAAQ,UAAU;AAExC,QAAM,UAAU,MAAM,cAClB,MAAM,YAAY,mBAAmB,SAAS;AAAA,IAC5C,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACP,CAAC,IACD;AAEJ,QAAM,kBAAkB,MAAM,cAC1B,MAAM,YAAY,MAAM,GAAG,GAAG,KAC7B,MAAM,YAAY,SAAS,MAAM,QAAQ,MAC1C;AAEJ,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY,2BAA2B,EAAE;AAAA,QACzC,SAAS;AAAA,MACX;AAAA,MACA,UAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,YACL,OAAO;AAAA,cACL,SAAS;AAAA,cACT,eAAe;AAAA,YACjB;AAAA,YACA,UAAU;AAAA,cACR;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,YAAY;AAAA,oBACZ,OAAO;AAAA,oBACP,YAAY;AAAA,oBACZ,UAAU;AAAA,kBACZ;AAAA,kBACA,UAAU,MAAM;AAAA,gBAClB;AAAA,cACF;AAAA,cACA,GAAI,kBACA;AAAA,gBACE;AAAA,kBACE,MAAM;AAAA,kBACN,OAAO;AAAA,oBACL,OAAO;AAAA,sBACL,UAAU;AAAA,sBACV,OAAO,GAAG,IAAI;AAAA,sBACd,WAAW;AAAA,sBACX,YAAY;AAAA,sBACZ,UAAU;AAAA,oBACZ;AAAA,oBACA,UAAU;AAAA,kBACZ;AAAA,gBACF;AAAA,cACF,IACA,CAAC;AAAA,YACP;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,YACL,OAAO;AAAA,cACL,SAAS;AAAA,cACT,gBAAgB;AAAA,cAChB,YAAY;AAAA,YACd;AAAA,YACA,UAAU;AAAA,cACR;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,OAAO;AAAA,oBACP,YAAY;AAAA,kBACd;AAAA,kBACA,UAAU,MAAM,QAAQ,QAAQ;AAAA,gBAClC;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,OAAO,GAAG,IAAI;AAAA,kBAChB;AAAA,kBACA,UAAU;AAAA,gBACZ;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/generate/og-templates/blog.tsx"],"sourcesContent":["import type { OgImagesConfig, VazaEntry } from \"../../types.js\";\n\n/**\n * Blog template: title + description + author name + date on gradient background.\n * Returns a Satori-compatible virtual DOM element (plain object).\n */\nexport function blogTemplate(\n entry: VazaEntry,\n config: OgImagesConfig,\n): unknown {\n const bg = config.colors?.bg ?? \"#1a1a2e\";\n const text = config.colors?.text ?? \"#ffffff\";\n const accent = config.colors?.accent ?? \"#e94560\";\n\n const dateStr = entry.publishDate\n ? entry.publishDate.toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n })\n : \"\";\n\n const descriptionText = entry.description\n ? entry.description.slice(0, 120) +\n (entry.description.length > 120 ? \"...\" : \"\")\n : null;\n\n return {\n type: \"div\",\n props: {\n style: {\n width: 1200,\n height: 630,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n background: `linear-gradient(135deg, ${bg} 0%, #16213e 100%)`,\n padding: 80,\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 48,\n fontWeight: 700,\n color: text,\n lineHeight: 1.2,\n maxWidth: 1000,\n },\n children: entry.title,\n },\n },\n ...(descriptionText\n ? [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 22,\n color: `${text}CC`,\n marginTop: 20,\n lineHeight: 1.4,\n maxWidth: 900,\n },\n children: descriptionText,\n },\n },\n ]\n : []),\n ],\n },\n },\n {\n type: \"div\",\n props: {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 22,\n color: accent,\n fontWeight: 600,\n },\n children: entry.author?.name ?? \"\",\n },\n },\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 20,\n color: `${text}99`,\n },\n children: dateStr,\n },\n },\n ],\n },\n },\n ],\n },\n };\n}\n"],"mappings":";AAMO,SAAS,aACd,OACA,QACS;AACT,QAAM,KAAK,OAAO,QAAQ,MAAM;AAChC,QAAM,OAAO,OAAO,QAAQ,QAAQ;AACpC,QAAM,SAAS,OAAO,QAAQ,UAAU;AAExC,QAAM,UAAU,MAAM,cAClB,MAAM,YAAY,mBAAmB,SAAS;AAAA,IAC5C,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACP,CAAC,IACD;AAEJ,QAAM,kBAAkB,MAAM,cAC1B,MAAM,YAAY,MAAM,GAAG,GAAG,KAC7B,MAAM,YAAY,SAAS,MAAM,QAAQ,MAC1C;AAEJ,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,MACL,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY,2BAA2B,EAAE;AAAA,QACzC,SAAS;AAAA,MACX;AAAA,MACA,UAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,YACL,OAAO;AAAA,cACL,SAAS;AAAA,cACT,eAAe;AAAA,YACjB;AAAA,YACA,UAAU;AAAA,cACR;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,YAAY;AAAA,oBACZ,OAAO;AAAA,oBACP,YAAY;AAAA,oBACZ,UAAU;AAAA,kBACZ;AAAA,kBACA,UAAU,MAAM;AAAA,gBAClB;AAAA,cACF;AAAA,cACA,GAAI,kBACA;AAAA,gBACE;AAAA,kBACE,MAAM;AAAA,kBACN,OAAO;AAAA,oBACL,OAAO;AAAA,sBACL,UAAU;AAAA,sBACV,OAAO,GAAG,IAAI;AAAA,sBACd,WAAW;AAAA,sBACX,YAAY;AAAA,sBACZ,UAAU;AAAA,oBACZ;AAAA,oBACA,UAAU;AAAA,kBACZ;AAAA,gBACF;AAAA,cACF,IACA,CAAC;AAAA,YACP;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,YACL,OAAO;AAAA,cACL,SAAS;AAAA,cACT,gBAAgB;AAAA,cAChB,YAAY;AAAA,YACd;AAAA,YACA,UAAU;AAAA,cACR;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,OAAO;AAAA,oBACP,YAAY;AAAA,kBACd;AAAA,kBACA,UAAU,MAAM,QAAQ,QAAQ;AAAA,gBAClC;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,OAAO;AAAA,oBACL,UAAU;AAAA,oBACV,OAAO,GAAG,IAAI;AAAA,kBAChB;AAAA,kBACA,UAAU;AAAA,gBACZ;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1,6 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }require('./chunk-JEQ2X3Z6.cjs');
2
-
3
- // src/generate/og-templates/blog.tsx
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/generate/og-templates/blog.tsx
4
2
  function blogTemplate(entry, config) {
5
3
  const bg = _nullishCoalesce(_optionalChain([config, 'access', _ => _.colors, 'optionalAccess', _2 => _2.bg]), () => ( "#1a1a2e"));
6
4
  const text = _nullishCoalesce(_optionalChain([config, 'access', _3 => _3.colors, 'optionalAccess', _4 => _4.text]), () => ( "#ffffff"));
@@ -51,7 +49,7 @@ function blogTemplate(entry, config) {
51
49
  props: {
52
50
  style: {
53
51
  fontSize: 22,
54
- color: `${text}cc`,
52
+ color: `${text}CC`,
55
53
  marginTop: 20,
56
54
  lineHeight: 1.4,
57
55
  maxWidth: 900
@@ -103,4 +101,4 @@ function blogTemplate(entry, config) {
103
101
 
104
102
 
105
103
  exports.blogTemplate = blogTemplate;
106
- //# sourceMappingURL=blog-Z3R5GOMP.cjs.map
104
+ //# sourceMappingURL=blog-SEXXJJSV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/mehdi/vaza-content/dist/blog-SEXXJJSV.cjs","../src/generate/og-templates/blog.tsx"],"names":[],"mappings":"AAAA;ACMO,SAAS,YAAA,CACd,KAAA,EACA,MAAA,EACS;AACT,EAAA,MAAM,GAAA,mCAAK,MAAA,mBAAO,MAAA,6BAAQ,IAAA,UAAM,WAAA;AAChC,EAAA,MAAM,KAAA,mCAAO,MAAA,qBAAO,MAAA,6BAAQ,MAAA,UAAQ,WAAA;AACpC,EAAA,MAAM,OAAA,mCAAS,MAAA,qBAAO,MAAA,6BAAQ,QAAA,UAAU,WAAA;AAExC,EAAA,MAAM,QAAA,EAAU,KAAA,CAAM,YAAA,EAClB,KAAA,CAAM,WAAA,CAAY,kBAAA,CAAmB,OAAA,EAAS;AAAA,IAC5C,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,GAAA,EAAK;AAAA,EACP,CAAC,EAAA,EACD,EAAA;AAEJ,EAAA,MAAM,gBAAA,EAAkB,KAAA,CAAM,YAAA,EAC1B,KAAA,CAAM,WAAA,CAAY,KAAA,CAAM,CAAA,EAAG,GAAG,EAAA,EAAA,CAC7B,KAAA,CAAM,WAAA,CAAY,OAAA,EAAS,IAAA,EAAM,MAAA,EAAQ,EAAA,EAAA,EAC1C,IAAA;AAEJ,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,KAAA,EAAO;AAAA,MACL,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,IAAA;AAAA,QACP,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,cAAA,EAAgB,eAAA;AAAA,QAChB,UAAA,EAAY,CAAA,wBAAA,EAA2B,EAAE,CAAA,kBAAA,CAAA;AAAA,QACzC,OAAA,EAAS;AAAA,MACX,CAAA;AAAA,MACA,QAAA,EAAU;AAAA,QACR;AAAA,UACE,IAAA,EAAM,KAAA;AAAA,UACN,KAAA,EAAO;AAAA,YACL,KAAA,EAAO;AAAA,cACL,OAAA,EAAS,MAAA;AAAA,cACT,aAAA,EAAe;AAAA,YACjB,CAAA;AAAA,YACA,QAAA,EAAU;AAAA,cACR;AAAA,gBACE,IAAA,EAAM,KAAA;AAAA,gBACN,KAAA,EAAO;AAAA,kBACL,KAAA,EAAO;AAAA,oBACL,QAAA,EAAU,EAAA;AAAA,oBACV,UAAA,EAAY,GAAA;AAAA,oBACZ,KAAA,EAAO,IAAA;AAAA,oBACP,UAAA,EAAY,GAAA;AAAA,oBACZ,QAAA,EAAU;AAAA,kBACZ,CAAA;AAAA,kBACA,QAAA,EAAU,KAAA,CAAM;AAAA,gBAClB;AAAA,cACF,CAAA;AAAA,cACA,GAAI,gBAAA,EACA;AAAA,gBACE;AAAA,kBACE,IAAA,EAAM,KAAA;AAAA,kBACN,KAAA,EAAO;AAAA,oBACL,KAAA,EAAO;AAAA,sBACL,QAAA,EAAU,EAAA;AAAA,sBACV,KAAA,EAAO,CAAA,EAAA;AACP,sBAAA;AACA,sBAAA;AACA,sBAAA;AACF,oBAAA;AACU,oBAAA;AACZ,kBAAA;AACF,gBAAA;AAED,cAAA;AACP,YAAA;AACF,UAAA;AACF,QAAA;AACA,QAAA;AACQ,UAAA;AACC,UAAA;AACE,YAAA;AACI,cAAA;AACO,cAAA;AACJ,cAAA;AACd,YAAA;AACU,YAAA;AACR,cAAA;AACQ,gBAAA;AACC,gBAAA;AACE,kBAAA;AACK,oBAAA;AACH,oBAAA;AACP,oBAAA;AACF,kBAAA;AACU,kBAAA;AACZ,gBAAA;AACF,cAAA;AACA,cAAA;AACQ,gBAAA;AACC,gBAAA;AACE,kBAAA;AACK,oBAAA;AACA,oBAAA;AACZ,kBAAA;AACU,kBAAA;AACZ,gBAAA;AACF,cAAA;AACF,YAAA;AACF,UAAA;AACF,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AACF;ADjB8B;AACA;AACA","file":"/Users/mehdi/vaza-content/dist/blog-SEXXJJSV.cjs","sourcesContent":[null,"import type { OgImagesConfig, VazaEntry } from \"../../types.js\";\n\n/**\n * Blog template: title + description + author name + date on gradient background.\n * Returns a Satori-compatible virtual DOM element (plain object).\n */\nexport function blogTemplate(\n entry: VazaEntry,\n config: OgImagesConfig,\n): unknown {\n const bg = config.colors?.bg ?? \"#1a1a2e\";\n const text = config.colors?.text ?? \"#ffffff\";\n const accent = config.colors?.accent ?? \"#e94560\";\n\n const dateStr = entry.publishDate\n ? entry.publishDate.toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n })\n : \"\";\n\n const descriptionText = entry.description\n ? entry.description.slice(0, 120) +\n (entry.description.length > 120 ? \"...\" : \"\")\n : null;\n\n return {\n type: \"div\",\n props: {\n style: {\n width: 1200,\n height: 630,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"space-between\",\n background: `linear-gradient(135deg, ${bg} 0%, #16213e 100%)`,\n padding: 80,\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 48,\n fontWeight: 700,\n color: text,\n lineHeight: 1.2,\n maxWidth: 1000,\n },\n children: entry.title,\n },\n },\n ...(descriptionText\n ? [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 22,\n color: `${text}CC`,\n marginTop: 20,\n lineHeight: 1.4,\n maxWidth: 900,\n },\n children: descriptionText,\n },\n },\n ]\n : []),\n ],\n },\n },\n {\n type: \"div\",\n props: {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n children: [\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 22,\n color: accent,\n fontWeight: 600,\n },\n children: entry.author?.name ?? \"\",\n },\n },\n {\n type: \"div\",\n props: {\n style: {\n fontSize: 20,\n color: `${text}99`,\n },\n children: dateStr,\n },\n },\n ],\n },\n },\n ],\n },\n };\n}\n"]}