@x-wave/blog 2.1.1 → 2.1.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.
- package/package.json +1 -1
- package/vite-config/blog-discovery.d.ts +1 -1
- package/vite-config/blog-discovery.d.ts.map +1 -1
- package/vite-config/blog-discovery.js +1 -1
- package/vite-config/blog-discovery.js.map +1 -1
- package/vite-config/setup-ssg.d.ts +3 -1
- package/vite-config/setup-ssg.d.ts.map +1 -1
- package/vite-config/setup-ssg.js +3 -1
- package/vite-config/setup-ssg.js.map +1 -1
- package/vite-config/static-gen-plugin.d.ts.map +1 -1
- package/vite-config/static-gen-plugin.js +28 -7
- package/vite-config/static-gen-plugin.js.map +1 -1
- package/vite-config/types.d.ts +3 -1
- package/vite-config/types.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ import type { BlogDiscoveryResult, BlogPostMetadata, BlogSSGConfig } from './typ
|
|
|
6
6
|
* @param config - SSG configuration options
|
|
7
7
|
* @returns Collection of discovered blog posts organized by language and slug
|
|
8
8
|
*/
|
|
9
|
-
export declare function discoverBlogPosts(mdxFiles: Record<string, () => Promise<unknown>>,
|
|
9
|
+
export declare function discoverBlogPosts(mdxFiles: Record<string, () => Promise<unknown>>, _config?: BlogSSGConfig): Promise<BlogDiscoveryResult>;
|
|
10
10
|
/**
|
|
11
11
|
* Filter blog posts by specific criteria
|
|
12
12
|
* Useful for separating blog posts from docs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog-discovery.d.ts","sourceRoot":"","sources":["../src/blog-discovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blog-discovery.d.ts","sourceRoot":"","sources":["../src/blog-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,MAAM,YAAY,CAAA;AAgFnB;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,EAChD,OAAO,GAAE,aAAkB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAqD9B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,gBAAgB,EAAE,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAC5C,gBAAgB,EAAE,CAEpB"}
|
|
@@ -74,7 +74,7 @@ function extractSlugFromPath(filePath) {
|
|
|
74
74
|
* @param config - SSG configuration options
|
|
75
75
|
* @returns Collection of discovered blog posts organized by language and slug
|
|
76
76
|
*/
|
|
77
|
-
export async function discoverBlogPosts(mdxFiles,
|
|
77
|
+
export async function discoverBlogPosts(mdxFiles, _config = {}) {
|
|
78
78
|
const posts = [];
|
|
79
79
|
const postsByLanguage = {};
|
|
80
80
|
const postsBySlug = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog-discovery.js","sourceRoot":"","sources":["../src/blog-discovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blog-discovery.js","sourceRoot":"","sources":["../src/blog-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@ import type { MetaTagsOptions } from './meta-tags.js';
|
|
|
3
3
|
export interface SetupSSGOptions {
|
|
4
4
|
/** Path to the docs directory (e.g., 'src/docs') */
|
|
5
5
|
docsPath: string;
|
|
6
|
-
/**
|
|
6
|
+
/** Base path segment for SSG output (e.g., 'blog') */
|
|
7
|
+
docsBase?: string;
|
|
8
|
+
/** Output directory for generated static pages */
|
|
7
9
|
outputDir?: string;
|
|
8
10
|
/** Meta tags configuration */
|
|
9
11
|
metaTagsOptions?: MetaTagsOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ssg.d.ts","sourceRoot":"","sources":["../src/setup-ssg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGrD,MAAM,WAAW,eAAe;IAC/B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,
|
|
1
|
+
{"version":3,"file":"setup-ssg.d.ts","sourceRoot":"","sources":["../src/setup-ssg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGrD,MAAM,WAAW,eAAe;IAC/B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAA;CACjC;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,QAAQ,CAC7B,OAAO,EAAE,eAAe,GACtB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CA2BnC"}
|
package/vite-config/setup-ssg.js
CHANGED
|
@@ -60,7 +60,7 @@ function readMdxFiles(docsDir) {
|
|
|
60
60
|
*/
|
|
61
61
|
export async function setupSSG(options) {
|
|
62
62
|
try {
|
|
63
|
-
const { docsPath, outputDir
|
|
63
|
+
const { docsPath, docsBase, outputDir, metaTagsOptions = {} } = options;
|
|
64
64
|
const mdxFiles = readMdxFiles(docsPath);
|
|
65
65
|
const { posts } = await discoverBlogPosts(mdxFiles, {
|
|
66
66
|
blogContentPath: docsPath,
|
|
@@ -73,6 +73,8 @@ export async function setupSSG(options) {
|
|
|
73
73
|
return createStaticGenPlugin({
|
|
74
74
|
posts,
|
|
75
75
|
outputDir,
|
|
76
|
+
basePath: docsBase,
|
|
77
|
+
docsBase,
|
|
76
78
|
metaTagsOptions,
|
|
77
79
|
});
|
|
78
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ssg.js","sourceRoot":"","sources":["../src/setup-ssg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"setup-ssg.js","sourceRoot":"","sources":["../src/setup-ssg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAa9D;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAe;IACpC,MAAM,QAAQ,GAA0C,EAAE,CAAA;IAE1D,SAAS,OAAO,CAAC,GAAW,EAAE,YAAY,GAAG,EAAE;QAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAM;QAE/B,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;YAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAElC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,gCAAgC;gBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAClD,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACpC,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,CAAA;IAChB,OAAO,QAAQ,CAAA;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,OAAwB;IAExB,IAAI,CAAC;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;QAEvE,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE;YACnD,eAAe,EAAE,QAAQ;SACzB,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;YACnD,OAAO,SAAS,CAAA;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,qBAAqB,CAAC,CAAA;QAE/D,OAAO,qBAAqB,CAAC;YAC5B,KAAK;YACL,SAAS;YACT,QAAQ,EAAE,QAAQ;YAClB,QAAQ;YACR,eAAe;SACf,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;QACrD,OAAO,SAAS,CAAA;IACjB,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-gen-plugin.d.ts","sourceRoot":"","sources":["../src/static-gen-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEjE,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC5D,8CAA8C;IAC9C,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,kCAAkC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"static-gen-plugin.d.ts","sourceRoot":"","sources":["../src/static-gen-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEjE,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC5D,8CAA8C;IAC9C,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,kCAAkC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAqG7E"}
|
|
@@ -8,8 +8,9 @@ import { generateHtmlWithMetaTags } from './meta-tags.js';
|
|
|
8
8
|
* These files are created after the main build completes
|
|
9
9
|
*/
|
|
10
10
|
export function createStaticGenPlugin(options) {
|
|
11
|
+
// biome-ignore lint/suspicious/noExplicitAny: <ignore>
|
|
11
12
|
let config;
|
|
12
|
-
const { posts, outputDir
|
|
13
|
+
const { posts, outputDir, metaTagsOptions = {}, indexHtmlPath = 'index.html', } = options;
|
|
13
14
|
return {
|
|
14
15
|
name: 'vite-plugin-blog-static-gen',
|
|
15
16
|
configResolved(resolvedConfig) {
|
|
@@ -25,19 +26,39 @@ export function createStaticGenPlugin(options) {
|
|
|
25
26
|
return;
|
|
26
27
|
}
|
|
27
28
|
try {
|
|
29
|
+
const resolvedIndexHtmlPath = path.isAbsolute(indexHtmlPath)
|
|
30
|
+
? indexHtmlPath
|
|
31
|
+
: path.resolve(config.build.outDir, indexHtmlPath);
|
|
32
|
+
const docsBasePath = typeof options.docsBase === 'string'
|
|
33
|
+
? options.docsBase
|
|
34
|
+
: typeof options.basePath === 'string'
|
|
35
|
+
? options.basePath
|
|
36
|
+
: typeof config.base === 'string'
|
|
37
|
+
? config.base
|
|
38
|
+
: '/';
|
|
39
|
+
const baseSegment = docsBasePath.replace(/^\//, '').replace(/\/$/, '');
|
|
40
|
+
const defaultOutputDir = baseSegment
|
|
41
|
+
? path.resolve(config.build.outDir, baseSegment)
|
|
42
|
+
: config.build.outDir;
|
|
43
|
+
const resolvedOutputDir = outputDir
|
|
44
|
+
? path.isAbsolute(outputDir)
|
|
45
|
+
? outputDir
|
|
46
|
+
: outputDir.startsWith(config.build.outDir)
|
|
47
|
+
? outputDir
|
|
48
|
+
: path.resolve(config.build.outDir, outputDir)
|
|
49
|
+
: defaultOutputDir;
|
|
28
50
|
// Read the generated index.html
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
console.warn(`⚠️ Index HTML not found at ${indexHtmlPath_}, skipping static generation`);
|
|
51
|
+
if (!fs.existsSync(resolvedIndexHtmlPath)) {
|
|
52
|
+
console.warn(`⚠️ Index HTML not found at ${resolvedIndexHtmlPath}, skipping static generation`);
|
|
32
53
|
return;
|
|
33
54
|
}
|
|
34
|
-
const indexHtmlContent = fs.readFileSync(
|
|
55
|
+
const indexHtmlContent = fs.readFileSync(resolvedIndexHtmlPath, 'utf-8');
|
|
35
56
|
console.log(`📝 Generating static pages for ${posts.length} blog posts...`);
|
|
36
57
|
// Create static HTML file for each blog post
|
|
37
58
|
for (const post of posts) {
|
|
38
59
|
const htmlWithMeta = generateHtmlWithMetaTags(indexHtmlContent, post, metaTagsOptions);
|
|
39
|
-
// Create directory structure:
|
|
40
|
-
const postDir = path.resolve(
|
|
60
|
+
// Create directory structure: <outputDir>/[language]/[slug]/index.html
|
|
61
|
+
const postDir = path.resolve(resolvedOutputDir, post.language, post.slug);
|
|
41
62
|
fs.mkdirSync(postDir, { recursive: true });
|
|
42
63
|
// Write the static HTML file
|
|
43
64
|
const htmlPath = path.resolve(postDir, 'index.html');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-gen-plugin.js","sourceRoot":"","sources":["../src/static-gen-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,wBAAwB,EAAwB,MAAM,gBAAgB,CAAA;AAY/E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACpE,IAAI,MAAW,CAAA;IACf,MAAM,EACL,KAAK,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"static-gen-plugin.js","sourceRoot":"","sources":["../src/static-gen-plugin.ts"],"names":[],"mappings":"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"}
|
package/vite-config/types.d.ts
CHANGED
|
@@ -24,7 +24,9 @@ export interface BlogSSGConfig {
|
|
|
24
24
|
generateStatic?: boolean;
|
|
25
25
|
/** Output directory for generated blog posts */
|
|
26
26
|
outputDir?: string;
|
|
27
|
-
/** Base path for blog routes */
|
|
27
|
+
/** Base path for blog routes (deprecated: use docsBase) */
|
|
28
28
|
basePath?: string;
|
|
29
|
+
/** Base path segment for SSG output (e.g., 'blog') */
|
|
30
|
+
docsBase?: string;
|
|
29
31
|
}
|
|
30
32
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACnD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,aAAa;IAC7B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACnD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,aAAa;IAC7B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB"}
|