mdsvr 2.2.15 → 2.2.16

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 (46) hide show
  1. package/README.md +1 -1
  2. package/dist/generators/static-export.d.ts.map +1 -1
  3. package/dist/generators/static-export.js +96 -6
  4. package/dist/generators/static-export.js.map +1 -1
  5. package/dist/og/generator.d.ts +25 -0
  6. package/dist/og/generator.d.ts.map +1 -0
  7. package/dist/og/generator.js +234 -0
  8. package/dist/og/generator.js.map +1 -0
  9. package/dist/og/index.d.ts +4 -0
  10. package/dist/og/index.d.ts.map +1 -0
  11. package/dist/og/index.js +4 -0
  12. package/dist/og/index.js.map +1 -0
  13. package/dist/og/template.d.ts +12 -0
  14. package/dist/og/template.d.ts.map +1 -0
  15. package/dist/og/template.js +183 -0
  16. package/dist/og/template.js.map +1 -0
  17. package/dist/og/types.d.ts +54 -0
  18. package/dist/og/types.d.ts.map +1 -0
  19. package/dist/og/types.js +3 -0
  20. package/dist/og/types.js.map +1 -0
  21. package/dist/renderer/markdown.d.ts +16 -0
  22. package/dist/renderer/markdown.d.ts.map +1 -1
  23. package/dist/renderer/markdown.js +56 -0
  24. package/dist/renderer/markdown.js.map +1 -1
  25. package/dist/router.d.ts.map +1 -1
  26. package/dist/router.js +5 -1
  27. package/dist/router.js.map +1 -1
  28. package/dist/settings/index.d.ts.map +1 -1
  29. package/dist/settings/index.js +1 -1
  30. package/dist/settings/index.js.map +1 -1
  31. package/dist/settings/schema.d.ts +223 -0
  32. package/dist/settings/schema.d.ts.map +1 -1
  33. package/dist/settings/schema.js +19 -0
  34. package/dist/settings/schema.js.map +1 -1
  35. package/dist/template/index.d.ts.map +1 -1
  36. package/dist/template/index.js +27 -3
  37. package/dist/template/index.js.map +1 -1
  38. package/dist/template/search.d.ts +1 -1
  39. package/dist/template/search.d.ts.map +1 -1
  40. package/dist/template/search.js +5 -2
  41. package/dist/template/search.js.map +1 -1
  42. package/dist/template/sidebar.d.ts +1 -0
  43. package/dist/template/sidebar.d.ts.map +1 -1
  44. package/dist/template/sidebar.js +51 -7
  45. package/dist/template/sidebar.js.map +1 -1
  46. package/package.json +12 -7
package/README.md CHANGED
@@ -168,7 +168,7 @@ Place `settings.json` in your docs root for full customization:
168
168
 
169
169
  ```json
170
170
  {
171
- "$schema": "https://raw.githubusercontent.com/satoshiman/mdsvr/main/schema/v2.json",
171
+ "$schema": "https://mdsvr.js.org/schema/v2.json",
172
172
  "site": {
173
173
  "title": "My Docs",
174
174
  "description": "Project documentation",
@@ -1 +1 @@
1
- {"version":3,"file":"static-export.d.ts","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAiBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE5E"}
1
+ {"version":3,"file":"static-export.d.ts","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAOrD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAwBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA+E5E"}
@@ -1,11 +1,12 @@
1
1
  import { promises as fs } from "node:fs";
2
2
  import path from "node:path";
3
- import { renderMarkdown } from "../renderer/markdown.js";
3
+ import { renderMarkdown, } from "../renderer/markdown.js";
4
4
  import { renderMdx } from "../renderer/mdx.js";
5
5
  import { renderPage } from "../template/index.js";
6
6
  import { buildSidebar } from "../template/sidebar.js";
7
7
  import { renderDirectory } from "../directory.js";
8
8
  import { buildSearchIndex } from "./search-index.js";
9
+ import { generateOgImage, getOgImagePath, } from "../og/index.js";
9
10
  function withBasePath(href, settings) {
10
11
  const basePath = settings.generate.basePath || "";
11
12
  if (!basePath)
@@ -36,7 +37,8 @@ export async function exportStaticSite(options) {
36
37
  // 2. Process all markdown files
37
38
  let processedCount = 0;
38
39
  const dirMap = new Map();
39
- await processDirectory(absRootDir, absOutputDir, absRootDir, settings, silent, dirMap, (count) => {
40
+ const pageInfos = [];
41
+ await processDirectory(absRootDir, absOutputDir, absRootDir, settings, silent, dirMap, pageInfos, (count) => {
40
42
  processedCount = count;
41
43
  });
42
44
  // 3. Generate auto-index pages for directories without README/index
@@ -50,7 +52,14 @@ export async function exportStaticSite(options) {
50
52
  }
51
53
  }
52
54
  }
53
- // 4. Generate search-index.json if search is enabled
55
+ // 4. Generate OG images if enabled
56
+ if (settings.seo.og?.enabled) {
57
+ if (!silent) {
58
+ console.log(`\n 🖼️ Generating OG images...`);
59
+ }
60
+ await generateOgImages(pageInfos, absOutputDir, settings, silent);
61
+ }
62
+ // 5. Generate search-index.json if search is enabled
54
63
  if (settings.search.enabled) {
55
64
  const searchIndex = await buildSearchIndex(absRootDir, settings);
56
65
  const searchIndexPath = path.join(absOutputDir, "search-index.json");
@@ -68,7 +77,7 @@ export async function exportStaticSite(options) {
68
77
  throw new Error(`Export failed: ${message}`);
69
78
  }
70
79
  }
71
- async function processDirectory(dirPath, outputPath, rootDir, settings, silent, dirMap, updateCount, count = 0) {
80
+ async function processDirectory(dirPath, outputPath, rootDir, settings, silent, dirMap, pageInfos, updateCount, count = 0) {
72
81
  const entries = await fs.readdir(dirPath, { withFileTypes: true });
73
82
  // Track this directory for auto-index generation
74
83
  const relativePath = path.relative(rootDir, dirPath);
@@ -102,7 +111,7 @@ async function processDirectory(dirPath, outputPath, rootDir, settings, silent,
102
111
  else {
103
112
  // Create directory in output and process normally
104
113
  await fs.mkdir(outputFilePath, { recursive: true });
105
- count = await processDirectory(fullPath, outputFilePath, rootDir, settings, silent, dirMap, updateCount, count);
114
+ count = await processDirectory(fullPath, outputFilePath, rootDir, settings, silent, dirMap, pageInfos, updateCount, count);
106
115
  }
107
116
  }
108
117
  else if (entry.isFile()) {
@@ -143,7 +152,8 @@ async function processDirectory(dirPath, outputPath, rootDir, settings, silent,
143
152
  .replace(/\.(md|mdx)$/, "");
144
153
  urlPath = withBasePath(rawUrlPath, settings);
145
154
  }
146
- await renderMarkdownFile(fullPath, htmlOutputPath, urlPath, rootDir, settings);
155
+ const pageInfo = await renderMarkdownFile(fullPath, htmlOutputPath, urlPath, rootDir, settings);
156
+ pageInfos.push(pageInfo);
147
157
  if (!silent) {
148
158
  const displayPath = baseNameLower === "readme"
149
159
  ? path
@@ -194,6 +204,13 @@ async function renderMarkdownFile(filePath, outputPath, urlPath, rootDir, settin
194
204
  isStaticExport: true,
195
205
  });
196
206
  await fs.writeFile(outputPath, html, "utf-8");
207
+ // Return page info for OG generation
208
+ return {
209
+ urlPath,
210
+ outputPath,
211
+ title,
212
+ description: result.frontmatter.description,
213
+ };
197
214
  }
198
215
  async function copyFile(src, dest) {
199
216
  await fs.mkdir(path.dirname(dest), { recursive: true });
@@ -277,6 +294,79 @@ function fixAssetPaths(html, urlPath) {
277
294
  function humanizeFilename(filename) {
278
295
  return filename.replace(/[-_]/g, " ").replace(/^\w/, (c) => c.toUpperCase());
279
296
  }
297
+ /**
298
+ * Generate OG images for all pages
299
+ */
300
+ async function generateOgImages(pageInfos, outputDir, settings, silent) {
301
+ const publicDir = path.join(outputDir, "public");
302
+ const ogDir = path.join(publicDir, "og");
303
+ const format = settings.seo.og?.imageFormat || "jpg";
304
+ const ogSettings = settings.seo.og;
305
+ let generatedCount = 0;
306
+ let failedCount = 0;
307
+ for (const pageInfo of pageInfos) {
308
+ // Skip if the page already has a custom image
309
+ // if (pageInfo.image) continue;
310
+ const ogImagePath = getOgImagePath(pageInfo.urlPath, ogDir, format, settings.generate.basePath);
311
+ // Build OG image data
312
+ const ogData = {
313
+ title: pageInfo.title,
314
+ description: pageInfo.description,
315
+ siteName: settings.site.title,
316
+ urlPath: pageInfo.urlPath,
317
+ accentColor: settings.appearance.accentColor,
318
+ fontFamily: ogSettings?.fontFamily || "Inter",
319
+ backgroundColor: ogSettings?.colors?.background || "#0a0a0f",
320
+ textColor: ogSettings?.colors?.text || "#ffffff",
321
+ };
322
+ // Generate the OG image
323
+ const result = await generateOgImage(ogData, {
324
+ outputPath: ogImagePath,
325
+ format,
326
+ quality: 85,
327
+ });
328
+ if (result.success) {
329
+ generatedCount++;
330
+ if (!silent) {
331
+ const displayPath = path.relative(outputDir, ogImagePath);
332
+ console.log(` ✓ OG image: ${displayPath}`);
333
+ }
334
+ }
335
+ else {
336
+ failedCount++;
337
+ if (!silent) {
338
+ console.log(` ✗ OG image failed: ${pageInfo.urlPath} (${result.error})`);
339
+ }
340
+ }
341
+ }
342
+ // Add empty index.html to prevent directory listing
343
+ await createEmptyIndexFile(publicDir);
344
+ await createEmptyIndexFile(ogDir);
345
+ if (!silent) {
346
+ console.log(` ✓ OG images: ${generatedCount} generated, ${failedCount} failed`);
347
+ }
348
+ }
349
+ /**
350
+ * Create an empty index.html file to prevent directory listing
351
+ */
352
+ async function createEmptyIndexFile(dirPath) {
353
+ try {
354
+ await fs.mkdir(dirPath, { recursive: true });
355
+ const indexPath = path.join(dirPath, "index.html");
356
+ // Check if file exists first
357
+ try {
358
+ await fs.access(indexPath);
359
+ // File exists, don't overwrite
360
+ }
361
+ catch {
362
+ // File doesn't exist, create empty one
363
+ await fs.writeFile(indexPath, "", "utf-8");
364
+ }
365
+ }
366
+ catch {
367
+ // Ignore errors
368
+ }
369
+ }
280
370
  async function generateAutoIndex(dirInfo, rootDir, settings) {
281
371
  // Read the output directory to list contents
282
372
  const entries = await fs.readdir(dirInfo.outputPath, { withFileTypes: true });
@@ -1 +1 @@
1
- {"version":3,"file":"static-export.js","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-export.js","sourceRoot":"","sources":["../../src/generators/static-export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { OgImageData, OgGenerationOptions, OgGenerationResult } from "./types.js";
2
+ /**
3
+ * Generate OG image using Satori and Resvg
4
+ */
5
+ export declare function generateOgImage(data: OgImageData, options: OgGenerationOptions): Promise<OgGenerationResult>;
6
+ /**
7
+ * Batch generate OG images for multiple pages
8
+ */
9
+ export declare function batchGenerateOgImages(items: Array<{
10
+ data: OgImageData;
11
+ outputPath: string;
12
+ urlPath: string;
13
+ }>, format?: "jpg" | "png", silent?: boolean): Promise<{
14
+ generated: number;
15
+ failed: number;
16
+ }>;
17
+ /**
18
+ * Get OG image output path for a URL path
19
+ */
20
+ export declare function getOgImagePath(urlPath: string, outputDir: string, format?: "jpg" | "png", basePath?: string): string;
21
+ /**
22
+ * Get OG image URL for a page
23
+ */
24
+ export declare function getOgImageUrl(urlPath: string, basePath: string, format?: "jpg" | "png"): string;
25
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/og/generator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA+GpB;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CA+F7B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,EACF,MAAM,GAAE,KAAK,GAAG,KAAa,EAC7B,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,KAAK,GAAG,KAAa,EAC7B,QAAQ,GAAE,MAAW,GACpB,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,KAAa,GAC5B,MAAM,CAsBR"}
@@ -0,0 +1,234 @@
1
+ // OG Image generator using Satori and Resvg
2
+ import satori from "satori";
3
+ import { Resvg } from "@resvg/resvg-js";
4
+ import sharp from "sharp";
5
+ import { promises as fs } from "node:fs";
6
+ import path from "node:path";
7
+ import https from "node:https";
8
+ import { generateOgTemplate, OG_WIDTH, OG_HEIGHT } from "./template.js";
9
+ // Font CDN URLs - using jsDelivr for reliable font delivery
10
+ const FONT_URLS = {
11
+ Inter: "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.8/files/inter-latin-400-normal.woff",
12
+ "Inter-400": "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.8/files/inter-latin-400-normal.woff",
13
+ "Inter-600": "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.8/files/inter-latin-600-normal.woff",
14
+ "Inter-700": "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.8/files/inter-latin-700-normal.woff",
15
+ "Inter-800": "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.8/files/inter-latin-800-normal.woff",
16
+ };
17
+ // Font data cache
18
+ const fontCache = new Map();
19
+ /**
20
+ * Download font from URL
21
+ */
22
+ function downloadFont(url) {
23
+ return new Promise((resolve, reject) => {
24
+ https
25
+ .get(url, { timeout: 30000 }, (res) => {
26
+ if (res.statusCode !== 200) {
27
+ reject(new Error(`Failed to download font: ${res.statusCode}`));
28
+ return;
29
+ }
30
+ const chunks = [];
31
+ res.on("data", (chunk) => chunks.push(chunk));
32
+ res.on("end", () => resolve(Buffer.concat(chunks)));
33
+ res.on("error", reject);
34
+ })
35
+ .on("error", reject);
36
+ });
37
+ }
38
+ /**
39
+ * Load font data (with caching and CDN fallback)
40
+ */
41
+ async function loadFont(fontFamily, weight = 400) {
42
+ const cacheKey = `${fontFamily}-${weight}`;
43
+ // Check cache first
44
+ if (fontCache.has(cacheKey)) {
45
+ return fontCache.get(cacheKey);
46
+ }
47
+ try {
48
+ // Try to load from CDN for Inter
49
+ if (fontFamily.toLowerCase() === "inter") {
50
+ const fontUrl = FONT_URLS[`Inter-${weight}`] || FONT_URLS["Inter"];
51
+ if (fontUrl) {
52
+ try {
53
+ const data = await downloadFont(fontUrl);
54
+ fontCache.set(cacheKey, data);
55
+ return data;
56
+ }
57
+ catch {
58
+ // Fallback to next method
59
+ }
60
+ }
61
+ }
62
+ // Try to load from local paths
63
+ const possiblePaths = [
64
+ path.join(process.cwd(), "assets", "fonts", `${fontFamily}-${weight}.woff2`),
65
+ path.join(process.cwd(), "assets", "fonts", `${fontFamily}-${weight}.woff`),
66
+ path.join(process.cwd(), "assets", "fonts", `${fontFamily}.ttf`),
67
+ path.join(process.cwd(), "src", "assets", "fonts", `${fontFamily}-${weight}.woff2`),
68
+ path.join(process.cwd(), "src", "assets", "fonts", `${fontFamily}.ttf`),
69
+ ];
70
+ for (const fontPath of possiblePaths) {
71
+ try {
72
+ const data = await fs.readFile(fontPath);
73
+ fontCache.set(cacheKey, data);
74
+ return data;
75
+ }
76
+ catch {
77
+ // Continue to next path
78
+ }
79
+ }
80
+ return null;
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
86
+ /**
87
+ * Generate OG image using Satori and Resvg
88
+ */
89
+ export async function generateOgImage(data, options) {
90
+ const { outputPath, format = "jpg", quality = 85, width = OG_WIDTH, height = OG_HEIGHT, } = options;
91
+ try {
92
+ // Ensure output directory exists
93
+ await fs.mkdir(path.dirname(outputPath), { recursive: true });
94
+ // Generate template
95
+ const template = generateOgTemplate(data);
96
+ // Load fonts - we need specific weights for the template
97
+ const fontFamily = data.fontFamily || "Inter";
98
+ const fonts = [];
99
+ // Load different font weights needed for the template
100
+ const weights = [400, 600, 700, 800];
101
+ for (const weight of weights) {
102
+ const fontData = await loadFont(fontFamily, weight);
103
+ if (fontData) {
104
+ fonts.push({
105
+ name: fontFamily,
106
+ data: fontData,
107
+ weight,
108
+ });
109
+ }
110
+ }
111
+ // If no fonts were loaded, we can't generate the image
112
+ if (fonts.length === 0) {
113
+ throw new Error(`No fonts are loaded for ${fontFamily}. Unable to generate OG image.`);
114
+ }
115
+ // Generate SVG using Satori
116
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
117
+ const satoriOptions = {
118
+ width,
119
+ height,
120
+ };
121
+ if (fonts.length > 0) {
122
+ satoriOptions.fonts = fonts;
123
+ }
124
+ const svg = await satori(template, satoriOptions);
125
+ // Convert SVG to raster image using Resvg
126
+ const resvg = new Resvg(svg, {
127
+ fitTo: {
128
+ mode: "width",
129
+ value: width,
130
+ },
131
+ });
132
+ const pngData = resvg.render();
133
+ const pngBuffer = pngData.asPng();
134
+ // Convert to JPG if needed using sharp
135
+ let finalBuffer;
136
+ const outputExt = path.extname(outputPath).toLowerCase();
137
+ if (outputExt === ".jpg" || outputExt === ".jpeg") {
138
+ finalBuffer = await sharp(pngBuffer)
139
+ .jpeg({ quality: options.quality || 85, progressive: true })
140
+ .toBuffer();
141
+ }
142
+ else {
143
+ finalBuffer = pngBuffer;
144
+ }
145
+ await fs.writeFile(outputPath, finalBuffer);
146
+ return {
147
+ success: true,
148
+ outputPath,
149
+ };
150
+ }
151
+ catch (error) {
152
+ const errorMessage = error instanceof Error ? error.message : String(error);
153
+ console.error(`[mdsvr] OG image generation failed: ${errorMessage}`);
154
+ return {
155
+ success: false,
156
+ error: errorMessage,
157
+ };
158
+ }
159
+ }
160
+ /**
161
+ * Batch generate OG images for multiple pages
162
+ */
163
+ export async function batchGenerateOgImages(items, format = "jpg", silent = false) {
164
+ let generated = 0;
165
+ let failed = 0;
166
+ for (const item of items) {
167
+ const result = await generateOgImage(item.data, {
168
+ outputPath: item.outputPath,
169
+ format,
170
+ });
171
+ if (result.success) {
172
+ generated++;
173
+ if (!silent) {
174
+ console.log(` ✓ OG image: ${item.urlPath} → ${item.outputPath}`);
175
+ }
176
+ }
177
+ else {
178
+ failed++;
179
+ if (!silent) {
180
+ console.log(` ✗ OG image failed: ${item.urlPath} (${result.error})`);
181
+ }
182
+ }
183
+ }
184
+ return { generated, failed };
185
+ }
186
+ /**
187
+ * Get OG image output path for a URL path
188
+ */
189
+ export function getOgImagePath(urlPath, outputDir, format = "jpg", basePath = "") {
190
+ // Normalize URL path and strip basePath if present
191
+ let normalized = urlPath.replace(/\/$/, "");
192
+ // Remove basePath prefix from urlPath if it exists
193
+ // This ensures the file structure matches the URL structure
194
+ const normalizedBase = basePath.endsWith("/")
195
+ ? basePath.slice(0, -1)
196
+ : basePath;
197
+ if (normalizedBase && normalized.startsWith(normalizedBase)) {
198
+ normalized = normalized.slice(normalizedBase.length);
199
+ }
200
+ const segments = normalized.split("/").filter(Boolean);
201
+ if (segments.length === 0) {
202
+ // Root path
203
+ return path.join(outputDir, `index.${format}`);
204
+ }
205
+ // Create path: /og/docs/guides → /og/docs/guides.jpg
206
+ // For directories ending with index, use index.jpg
207
+ if (urlPath.endsWith("/")) {
208
+ return path.join(outputDir, ...segments, `index.${format}`);
209
+ }
210
+ // For specific files: /guides/setup → /og/guides/setup.jpg
211
+ return path.join(outputDir, ...segments, `index.${format}`);
212
+ }
213
+ /**
214
+ * Get OG image URL for a page
215
+ */
216
+ export function getOgImageUrl(urlPath, basePath, format = "jpg") {
217
+ const normalizedBase = basePath.endsWith("/")
218
+ ? basePath.slice(0, -1)
219
+ : basePath;
220
+ // Normalize URL path and strip basePath if present
221
+ let normalized = urlPath.replace(/\/$/, "");
222
+ // Remove basePath prefix from urlPath if it exists
223
+ // urlPath already includes basePath (e.g., /docs/3.-features/mdx)
224
+ // We need to strip it to avoid double basePath
225
+ if (normalizedBase && normalized.startsWith(normalizedBase)) {
226
+ normalized = normalized.slice(normalizedBase.length);
227
+ }
228
+ const segments = normalized.split("/").filter(Boolean);
229
+ if (segments.length === 0) {
230
+ return `${normalizedBase}/public/og/index.${format}`;
231
+ }
232
+ return `${normalizedBase}/public/og/${segments.join("/")}/index.${format}`;
233
+ }
234
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/og/generator.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAS,MAAM,SAAS,CAAC;AAChD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAM/B,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAExE,4DAA4D;AAC5D,MAAM,SAAS,GAA2B;IACxC,KAAK,EACH,wFAAwF;IAC1F,WAAW,EACT,wFAAwF;IAC1F,WAAW,EACT,wFAAwF;IAC1F,WAAW,EACT,wFAAwF;IAC1F,WAAW,EACT,wFAAwF;CAC3F,CAAC;AAEF,kBAAkB;AAClB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,KAAK;aACF,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YACpC,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,QAAQ,CACrB,UAAkB,EAClB,MAAM,GAAG,GAAG;IAEZ,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;IAE3C,oBAAoB;IACpB,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IAClC,CAAC;IAED,IAAI,CAAC;QACH,iCAAiC;QACjC,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;oBACzC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,GAAG,EAAE,EACb,QAAQ,EACR,OAAO,EACP,GAAG,UAAU,IAAI,MAAM,QAAQ,CAChC;YACD,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,GAAG,EAAE,EACb,QAAQ,EACR,OAAO,EACP,GAAG,UAAU,IAAI,MAAM,OAAO,CAC/B;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,MAAM,CAAC;YAChE,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,GAAG,EAAE,EACb,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,UAAU,IAAI,MAAM,QAAQ,CAChC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,MAAM,CAAC;SACxE,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACzC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAiB,EACjB,OAA4B;IAE5B,MAAM,EACJ,UAAU,EACV,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,QAAQ,EAChB,MAAM,GAAG,SAAS,GACnB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,oBAAoB;QACpB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE1C,yDAAyD;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC;QAC9C,MAAM,KAAK,GAKL,EAAE,CAAC;QAET,sDAAsD;QACtD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACpD,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,gCAAgC,CACtE,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,8DAA8D;QAC9D,MAAM,aAAa,GAAQ;YACzB,KAAK;YACL,MAAM;SACP,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAA2B,EAAE,aAAa,CAAC,CAAC;QAErE,0CAA0C;QAC1C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;YAC3B,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK;aACb;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAElC,uCAAuC;QACvC,IAAI,WAAmB,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAClD,WAAW,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;iBACjC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iBAC3D,QAAQ,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE5C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU;SACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAC;QAErE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAIE,EACF,SAAwB,KAAK,EAC7B,SAAkB,KAAK;IAEvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;YAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,SAAiB,EACjB,SAAwB,KAAK,EAC7B,WAAmB,EAAE;IAErB,mDAAmD;IACnD,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE5C,mDAAmD;IACnD,4DAA4D;IAC5D,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC;IACb,IAAI,cAAc,IAAI,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5D,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,YAAY;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,qDAAqD;IACrD,mDAAmD;IACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,2DAA2D;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,QAAgB,EAChB,SAAwB,KAAK;IAE7B,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC;IAEb,mDAAmD;IACnD,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE5C,mDAAmD;IACnD,kEAAkE;IAClE,+CAA+C;IAC/C,IAAI,cAAc,IAAI,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5D,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,cAAc,oBAAoB,MAAM,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,GAAG,cAAc,cAAc,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,MAAM,EAAE,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { generateOgImage, batchGenerateOgImages, getOgImagePath, getOgImageUrl } from "./generator.js";
2
+ export { generateOgTemplate, generateMinimalOgTemplate, OG_WIDTH, OG_HEIGHT } from "./template.js";
3
+ export type { OgImageData, OgGenerationOptions, OgGenerationResult, OgSettings, } from "./types.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/og/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACnG,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ // OG Image generation module exports
2
+ export { generateOgImage, batchGenerateOgImages, getOgImagePath, getOgImageUrl } from "./generator.js";
3
+ export { generateOgTemplate, generateMinimalOgTemplate, OG_WIDTH, OG_HEIGHT } from "./template.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/og/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { OgImageData } from "./types.js";
2
+ export declare const OG_WIDTH = 1200;
3
+ export declare const OG_HEIGHT = 630;
4
+ /**
5
+ * Generate the OG image JSX structure for Satori
6
+ */
7
+ export declare function generateOgTemplate(data: OgImageData): JSX.Element;
8
+ /**
9
+ * Alternative minimal template
10
+ */
11
+ export declare function generateMinimalOgTemplate(data: OgImageData): JSX.Element;
12
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/og/template.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,SAAS,MAAM,CAAC;AA+B7B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAkMjE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAsExE"}