@x-wave/blog 2.6.1 → 2.7.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x-wave/blog",
3
- "version": "2.6.1",
3
+ "version": "2.7.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,4 +1,5 @@
1
1
  export { discoverBlogPosts, filterBlogPosts } from './blog-discovery.js';
2
+ export { generateJsonLd, type JsonLdOptions } from './json-ld.js';
2
3
  export { generateHtmlWithMetaTags, generateMetaTags, generateMetaTagsObject, type MetaTagsOptions, } from './meta-tags.js';
3
4
  export { type SetupSSGOptions, setupSSG } from './setup-ssg.js';
4
5
  export { createStaticGenPlugin, type StaticGenPluginOptions, } from './static-gen-plugin.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGxE,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,eAAe,GACpB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EACN,qBAAqB,EACrB,KAAK,sBAAsB,GAC3B,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGxE,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjE,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,eAAe,GACpB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EACN,qBAAqB,EACrB,KAAK,sBAAsB,GAC3B,MAAM,wBAAwB,CAAA"}
@@ -1,5 +1,7 @@
1
1
  // Blog discovery
2
2
  export { discoverBlogPosts, filterBlogPosts } from './blog-discovery.js';
3
+ // JSON-LD structured data
4
+ export { generateJsonLd } from './json-ld.js';
3
5
  // Meta tag generation
4
6
  export { generateHtmlWithMetaTags, generateMetaTags, generateMetaTagsObject, } from './meta-tags.js';
5
7
  // SSG setup utilities (recommended for consumers)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAExE,sBAAsB;AACtB,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,GAEtB,MAAM,gBAAgB,CAAA;AACvB,kDAAkD;AAClD,OAAO,EAAwB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC/D,cAAc;AACd,OAAO,EACN,qBAAqB,GAErB,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAExE,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAsB,MAAM,cAAc,CAAA;AAEjE,sBAAsB;AACtB,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,GAEtB,MAAM,gBAAgB,CAAA;AACvB,kDAAkD;AAClD,OAAO,EAAwB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC/D,cAAc;AACd,OAAO,EACN,qBAAqB,GAErB,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import type { BlogPostMetadata } from './types.js';
2
+ export interface JsonLdOptions {
3
+ /** Base URL for absolute URLs (e.g., 'https://example.com') */
4
+ baseUrl: string;
5
+ /** Default OG image URL if post doesn't have one */
6
+ defaultOgImage: string;
7
+ /** Site name used as publisher name */
8
+ siteName: string;
9
+ /** Docs base path for URL construction (e.g., '/blog/' or '/') */
10
+ docsBase?: string;
11
+ /** Publisher logo URL (absolute or relative to baseUrl) */
12
+ publisherLogo?: string;
13
+ }
14
+ /**
15
+ * Generate a JSON-LD `BlogPosting` structured data script tag for a blog post.
16
+ *
17
+ * Produces a `<script type="application/ld+json">` block with schema.org
18
+ * BlogPosting markup that enables Google rich snippets (author, date, image).
19
+ */
20
+ export declare function generateJsonLd(post: BlogPostMetadata, options: JsonLdOptions): string;
21
+ //# sourceMappingURL=json-ld.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-ld.d.ts","sourceRoot":"","sources":["../src/json-ld.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,aAAa;IAC7B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAA;IACtB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,aAAa,GACpB,MAAM,CAqER"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Generate a JSON-LD `BlogPosting` structured data script tag for a blog post.
3
+ *
4
+ * Produces a `<script type="application/ld+json">` block with schema.org
5
+ * BlogPosting markup that enables Google rich snippets (author, date, image).
6
+ */
7
+ export function generateJsonLd(post, options) {
8
+ const { baseUrl, defaultOgImage, siteName, docsBase = '/', publisherLogo, } = options;
9
+ const normalizedDocsBase = docsBase === '/' ? '' : `/${docsBase.replace(/^\//, '').replace(/\/$/, '')}`;
10
+ const postUrl = `${baseUrl}${normalizedDocsBase}/${post.language}/${post.slug}`;
11
+ const ogImage = post.ogImage
12
+ ? `${baseUrl}/og/${post.language}/${post.ogImage.replace(/^\//, '')}`
13
+ : `${baseUrl}${defaultOgImage}`;
14
+ // Normalize keywords to an array
15
+ let keywords = [];
16
+ if (post.keywords) {
17
+ if (Array.isArray(post.keywords)) {
18
+ keywords = post.keywords;
19
+ }
20
+ else {
21
+ keywords = post.keywords.split(',').map((k) => k.trim());
22
+ }
23
+ }
24
+ const structuredData = {
25
+ '@context': 'https://schema.org',
26
+ '@type': 'BlogPosting',
27
+ headline: post.title,
28
+ description: post.description || '',
29
+ url: postUrl,
30
+ mainEntityOfPage: {
31
+ '@type': 'WebPage',
32
+ '@id': postUrl,
33
+ },
34
+ image: ogImage,
35
+ datePublished: toIso8601(post.date),
36
+ publisher: {
37
+ '@type': 'Organization',
38
+ name: siteName,
39
+ ...(publisherLogo && {
40
+ logo: {
41
+ '@type': 'ImageObject',
42
+ url: publisherLogo.startsWith('http')
43
+ ? publisherLogo
44
+ : `${baseUrl}${publisherLogo}`,
45
+ },
46
+ }),
47
+ },
48
+ };
49
+ if (post.author) {
50
+ structuredData.author = {
51
+ '@type': 'Person',
52
+ name: post.author,
53
+ };
54
+ }
55
+ if (keywords.length > 0) {
56
+ structuredData.keywords = keywords;
57
+ }
58
+ // Escape closing script tags in JSON to prevent XSS
59
+ const json = JSON.stringify(structuredData).replace(/<\//g, '<\\/');
60
+ return `<script type="application/ld+json">${json}</script>`;
61
+ }
62
+ /**
63
+ * Convert a date string to ISO 8601 format (YYYY-MM-DD).
64
+ * Handles human-readable dates like "February 23, 2026" as well as
65
+ * strings that are already ISO-formatted.
66
+ */
67
+ function toIso8601(date) {
68
+ if (!date)
69
+ return new Date().toISOString().split('T')[0];
70
+ // Already ISO 8601 (starts with YYYY-)
71
+ if (/^\d{4}-\d{2}/.test(date))
72
+ return date.split('T')[0];
73
+ const parsed = new Date(date);
74
+ if (Number.isNaN(parsed.getTime()))
75
+ return date;
76
+ return parsed.toISOString().split('T')[0];
77
+ }
78
+ //# sourceMappingURL=json-ld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-ld.js","sourceRoot":"","sources":["../src/json-ld.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export interface MetaTagsOptions {
12
12
  twitterHandle: string;
13
13
  /** Docs base path for URL construction (e.g., '/blog/' or '/docs/') */
14
14
  docsBase?: string;
15
+ /** Publisher logo URL for JSON-LD (absolute or relative to baseUrl) */
16
+ publisherLogo?: string;
15
17
  }
16
18
  /**
17
19
  * Generate meta tags HTML string from blog post metadata
@@ -1 +1 @@
1
- {"version":3,"file":"meta-tags.d.ts","sourceRoot":"","sources":["../src/meta-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,eAAe;IAC/B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAA;IACtB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,eAAe,GACtB,MAAM,CA0ER;AAgBD;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,MAAM,GACf,MAAM,CAmCR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,eAAe,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6CxB"}
1
+ {"version":3,"file":"meta-tags.d.ts","sourceRoot":"","sources":["../src/meta-tags.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,eAAe;IAC/B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAA;IACtB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,eAAe,GACtB,MAAM,CA0ER;AAgBD;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,MAAM,GACf,MAAM,CA2CR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,eAAe,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6CxB"}
@@ -1,3 +1,4 @@
1
+ import { generateJsonLd } from './json-ld.js';
1
2
  /**
2
3
  * Generate meta tags HTML string from blog post metadata
3
4
  */
@@ -97,8 +98,15 @@ export function generateHtmlWithMetaTags(baseHtml, post, options, docsBase) {
97
98
  html = html.replace(/\s*<!--\s*(?:Open Graph|Facebook|Twitter)[^>]*-->\s*\n/g, '');
98
99
  // Final cleanup: remove any remaining multiple blank lines
99
100
  html = html.replace(/\n\s*\n\s*\n/g, '\n\n');
100
- // Inject custom meta tags before closing </head> tag
101
- return html.replace('</head>', `\t${metaTags}\n</head>`);
101
+ const jsonLd = generateJsonLd(post, {
102
+ baseUrl: options.baseUrl,
103
+ defaultOgImage: options.defaultOgImage,
104
+ siteName: options.siteName,
105
+ docsBase: docsBase || options.docsBase,
106
+ publisherLogo: options.publisherLogo,
107
+ });
108
+ // Inject custom meta tags and JSON-LD before closing </head> tag
109
+ return html.replace('</head>', `\t${metaTags}\n\t${jsonLd}\n</head>`);
102
110
  }
103
111
  /**
104
112
  * Generate meta tags as a JSON object for dynamic injection
@@ -1 +1 @@
1
- {"version":3,"file":"meta-tags.js","sourceRoot":"","sources":["../src/meta-tags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-tags.js","sourceRoot":"","sources":["../src/meta-tags.ts"],"names":[],"mappings":"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"}