@windrun-huaiin/third-ui 6.3.1 → 7.0.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 +15 -53
- package/dist/chunk-45PUPAKX.js +0 -128
- package/dist/chunk-45PUPAKX.js.map +0 -1
- package/dist/chunk-5BELDGQB.mjs +0 -19
- package/dist/chunk-5BELDGQB.mjs.map +0 -1
- package/dist/chunk-ECWCWQCD.js +0 -231
- package/dist/chunk-ECWCWQCD.js.map +0 -1
- package/dist/chunk-EH6BJNHH.mjs +0 -3266
- package/dist/chunk-EH6BJNHH.mjs.map +0 -1
- package/dist/chunk-ETOMEWHS.mjs +0 -231
- package/dist/chunk-ETOMEWHS.mjs.map +0 -1
- package/dist/chunk-GPRHQYBI.mjs +0 -2962
- package/dist/chunk-GPRHQYBI.mjs.map +0 -1
- package/dist/chunk-M4ASGKEP.mjs +0 -128
- package/dist/chunk-M4ASGKEP.mjs.map +0 -1
- package/dist/chunk-NQKOD34Z.js +0 -2962
- package/dist/chunk-NQKOD34Z.js.map +0 -1
- package/dist/chunk-OZQO43WJ.js +0 -981
- package/dist/chunk-OZQO43WJ.js.map +0 -1
- package/dist/chunk-SQFKTU52.mjs +0 -981
- package/dist/chunk-SQFKTU52.mjs.map +0 -1
- package/dist/chunk-UNJOOO7O.js +0 -101
- package/dist/chunk-UNJOOO7O.js.map +0 -1
- package/dist/chunk-WWEZQKHX.mjs +0 -103
- package/dist/chunk-WWEZQKHX.mjs.map +0 -1
- package/dist/chunk-XCKOFS5W.js +0 -3266
- package/dist/chunk-XCKOFS5W.js.map +0 -1
- package/dist/chunk-ZURRPUFV.js +0 -19
- package/dist/chunk-ZURRPUFV.js.map +0 -1
- package/dist/clerk/index.d.mts +0 -15
- package/dist/clerk/index.d.ts +0 -15
- package/dist/clerk/index.js +0 -52
- package/dist/clerk/index.js.map +0 -1
- package/dist/clerk/index.mjs +0 -52
- package/dist/clerk/index.mjs.map +0 -1
- package/dist/clerk/server.d.mts +0 -28
- package/dist/clerk/server.d.ts +0 -28
- package/dist/clerk/server.js +0 -188
- package/dist/clerk/server.js.map +0 -1
- package/dist/clerk/server.mjs +0 -188
- package/dist/clerk/server.mjs.map +0 -1
- package/dist/cta.css +0 -16
- package/dist/fuma/mdx/index.d.mts +0 -133
- package/dist/fuma/mdx/index.d.ts +0 -133
- package/dist/fuma/mdx/index.js +0 -40
- package/dist/fuma/mdx/index.js.map +0 -1
- package/dist/fuma/mdx/index.mjs +0 -40
- package/dist/fuma/mdx/index.mjs.map +0 -1
- package/dist/fuma/server.d.mts +0 -77
- package/dist/fuma/server.d.ts +0 -77
- package/dist/fuma/server.js +0 -27481
- package/dist/fuma/server.js.map +0 -1
- package/dist/fuma/server.mjs +0 -27481
- package/dist/fuma/server.mjs.map +0 -1
- package/dist/fuma.css +0 -106
- package/dist/lib/server.d.mts +0 -4670
- package/dist/lib/server.d.ts +0 -4670
- package/dist/lib/server.js +0 -152
- package/dist/lib/server.js.map +0 -1
- package/dist/lib/server.mjs +0 -152
- package/dist/lib/server.mjs.map +0 -1
- package/dist/main/index.d.mts +0 -198
- package/dist/main/index.d.ts +0 -198
- package/dist/main/index.js +0 -32
- package/dist/main/index.js.map +0 -1
- package/dist/main/index.mjs +0 -32
- package/dist/main/index.mjs.map +0 -1
- package/dist/main/server.d.mts +0 -64
- package/dist/main/server.d.ts +0 -64
- package/dist/main/server.js +0 -615
- package/dist/main/server.js.map +0 -1
- package/dist/main/server.mjs +0 -615
- package/dist/main/server.mjs.map +0 -1
- package/dist/third-ui.css +0 -66
- package/dist/toc-base-BC7kXpDU.d.mts +0 -15
- package/dist/toc-base-BC7kXpDU.d.ts +0 -15
package/dist/lib/server.js
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunkZURRPUFVjs = require('../chunk-ZURRPUFV.js');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunkUNJOOO7Ojs = require('../chunk-UNJOOO7O.js');
|
|
8
|
-
|
|
9
|
-
// src/lib/server.ts
|
|
10
|
-
_chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
|
|
11
|
-
|
|
12
|
-
// src/lib/fuma-search-util.ts
|
|
13
|
-
_chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
|
|
14
|
-
var fumaI18nCn = {
|
|
15
|
-
search: "Translated Content"
|
|
16
|
-
// other translations
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
// src/lib/fuma-schema-check-util.ts
|
|
20
|
-
_chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
|
|
21
|
-
var _zod = require('zod');
|
|
22
|
-
var _config = require('fumadocs-mdx/config');
|
|
23
|
-
var createTitleSchema = () => _zod.z.string({
|
|
24
|
-
required_error: "Title is required",
|
|
25
|
-
invalid_type_error: "Title must be a string and cannot be null"
|
|
26
|
-
}).trim().min(1, { message: "Title cannot be empty or consist only of whitespace" });
|
|
27
|
-
var createDescriptionSchema = () => _zod.z.preprocess(
|
|
28
|
-
(val) => {
|
|
29
|
-
if (typeof val === "string") {
|
|
30
|
-
return val.trim() === "" || val === null ? void 0 : val.trim();
|
|
31
|
-
}
|
|
32
|
-
return val === null ? void 0 : val;
|
|
33
|
-
},
|
|
34
|
-
_zod.z.string().optional()
|
|
35
|
-
);
|
|
36
|
-
var createIconSchema = () => _zod.z.preprocess(
|
|
37
|
-
(val) => val === "" || val === null ? void 0 : val,
|
|
38
|
-
_zod.z.string().optional()
|
|
39
|
-
);
|
|
40
|
-
var createDateSchema = () => _zod.z.preprocess(
|
|
41
|
-
(arg) => {
|
|
42
|
-
if (arg instanceof Date) {
|
|
43
|
-
const year = arg.getFullYear();
|
|
44
|
-
const month = (arg.getMonth() + 1).toString().padStart(2, "0");
|
|
45
|
-
const day = arg.getDate().toString().padStart(2, "0");
|
|
46
|
-
return `${year}-${month}-${day}`;
|
|
47
|
-
}
|
|
48
|
-
if (typeof arg === "string") {
|
|
49
|
-
return arg.trim();
|
|
50
|
-
}
|
|
51
|
-
return arg;
|
|
52
|
-
},
|
|
53
|
-
_zod.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format or a valid Date object").refine((val) => !isNaN(new Date(val).getTime()), "Invalid date!")
|
|
54
|
-
);
|
|
55
|
-
var createCommonDocsSchema = () => _config.frontmatterSchema.extend({
|
|
56
|
-
title: createTitleSchema(),
|
|
57
|
-
description: createDescriptionSchema(),
|
|
58
|
-
icon: createIconSchema(),
|
|
59
|
-
date: createDateSchema(),
|
|
60
|
-
author: _zod.z.string().optional(),
|
|
61
|
-
keywords: _zod.z.array(_zod.z.string()).optional()
|
|
62
|
-
});
|
|
63
|
-
var createCommonMetaSchema = () => _config.metaSchema.extend({
|
|
64
|
-
description: _zod.z.string().optional()
|
|
65
|
-
});
|
|
66
|
-
var remarkInstallOptions = {
|
|
67
|
-
persist: {
|
|
68
|
-
id: "package-manager"
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
// src/lib/seo-util.ts
|
|
73
|
-
_chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
|
|
74
|
-
var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
|
|
75
|
-
var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
76
|
-
function generateRobots(baseUrl) {
|
|
77
|
-
return {
|
|
78
|
-
rules: {
|
|
79
|
-
userAgent: "*",
|
|
80
|
-
allow: "/"
|
|
81
|
-
},
|
|
82
|
-
sitemap: `${baseUrl}/sitemap.xml`
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
function generateSitemap(baseUrl, locales, mdxSourceDir, openMdxSEOSiteMap = true) {
|
|
86
|
-
const blogRoutes = [];
|
|
87
|
-
if (mdxSourceDir && mdxSourceDir.trim() !== "") {
|
|
88
|
-
const blogDir = _path2.default.join(process.cwd(), mdxSourceDir);
|
|
89
|
-
try {
|
|
90
|
-
if (_fs2.default.existsSync(blogDir) && _fs2.default.statSync(blogDir).isDirectory()) {
|
|
91
|
-
const blogFiles = _fs2.default.readdirSync(blogDir).filter((f) => f.endsWith(".mdx"));
|
|
92
|
-
for (const locale of locales) {
|
|
93
|
-
for (const f of blogFiles) {
|
|
94
|
-
if (f === "index.mdx") {
|
|
95
|
-
blogRoutes.push({
|
|
96
|
-
url: `${baseUrl}/${locale}/blog`,
|
|
97
|
-
lastModified: /* @__PURE__ */ new Date(),
|
|
98
|
-
changeFrequency: "daily",
|
|
99
|
-
priority: 1
|
|
100
|
-
});
|
|
101
|
-
} else {
|
|
102
|
-
const slug = f.replace(/\.mdx$/, "");
|
|
103
|
-
blogRoutes.push({
|
|
104
|
-
url: `${baseUrl}/${locale}/blog/${slug}`,
|
|
105
|
-
lastModified: /* @__PURE__ */ new Date(),
|
|
106
|
-
changeFrequency: f === "ioc.mdx" ? "daily" : "monthly",
|
|
107
|
-
priority: 0.8
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
} catch (error) {
|
|
114
|
-
console.warn(`Warning: Could not read MDX directory "${mdxSourceDir}":`, error);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
const mainRoutes = locales.map((locale) => ({
|
|
118
|
-
url: `${baseUrl}/${locale}`,
|
|
119
|
-
lastModified: /* @__PURE__ */ new Date(),
|
|
120
|
-
changeFrequency: "weekly",
|
|
121
|
-
priority: 1
|
|
122
|
-
}));
|
|
123
|
-
return openMdxSEOSiteMap ? [...mainRoutes, ...blogRoutes] : [...mainRoutes];
|
|
124
|
-
}
|
|
125
|
-
function createRobotsHandler(baseUrl) {
|
|
126
|
-
return function robots() {
|
|
127
|
-
return generateRobots(baseUrl);
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
function createSitemapHandler(baseUrl, locales, mdxSourceDir = "", openMdxSEOSiteMap = true) {
|
|
131
|
-
const sitemapHandler = function sitemap() {
|
|
132
|
-
return generateSitemap(baseUrl, locales, mdxSourceDir, openMdxSEOSiteMap);
|
|
133
|
-
};
|
|
134
|
-
sitemapHandler.dynamic = "force-static";
|
|
135
|
-
return sitemapHandler;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
exports.clerkIntl = _chunkZURRPUFVjs.clerkIntl; exports.createCommonDocsSchema = createCommonDocsSchema; exports.createCommonMetaSchema = createCommonMetaSchema; exports.createDateSchema = createDateSchema; exports.createDescriptionSchema = createDescriptionSchema; exports.createIconSchema = createIconSchema; exports.createRobotsHandler = createRobotsHandler; exports.createSitemapHandler = createSitemapHandler; exports.createTitleSchema = createTitleSchema; exports.fumaI18nCn = fumaI18nCn; exports.generateRobots = generateRobots; exports.generateSitemap = generateSitemap; exports.remarkInstallOptions = remarkInstallOptions;
|
|
152
|
-
//# sourceMappingURL=server.js.map
|
package/dist/lib/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/lib/server.js","../../src/lib/server.ts","../../src/lib/fuma-search-util.ts","../../src/lib/fuma-schema-check-util.ts","../../src/lib/seo-util.ts"],"names":[],"mappings":"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","file":"/Users/funeye/IdeaProjects/next-ai-build/packages/third-ui/dist/lib/server.js","sourcesContent":[null,"// This is a server component!\n\nexport * from './fuma-search-util';\nexport * from './clerk-intl';\nexport * from './fuma-schema-check-util';\nexport * from './seo-util';","import { Translations } from 'fumadocs-ui/i18n';\n\nexport const fumaI18nCn: Partial<Translations> = {\n search: 'Translated Content',\n // other translations\n};\n","import { z } from 'zod';\nimport { frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';\n\n\n// Reusable schema for title\nexport const createTitleSchema = () =>\n z.string({\n required_error: \"Title is required\",\n invalid_type_error: \"Title must be a string and cannot be null\",\n })\n .trim()\n .min(1, { message: \"Title cannot be empty or consist only of whitespace\" });\n\n// Reusable schema for description\nexport const createDescriptionSchema = () =>\n z.preprocess(\n (val: any) => {\n if (typeof val === 'string') {\n return val.trim() === \"\" || val === null ? undefined : val.trim();\n }\n return val === null ? undefined : val;\n },\n z.string().optional()\n );\n\n// Reusable schema for icon\nexport const createIconSchema = () =>\n z.preprocess(\n (val: any) => (val === \"\" || val === null ? undefined : val),\n z.string().optional()\n );\n\n// Reusable schema for date\nexport const createDateSchema = () =>\n z.preprocess((arg: any) => {\n if (arg instanceof Date) {\n // Format Date object to YYYY-MM-DD string\n const year = arg.getFullYear();\n const month = (arg.getMonth() + 1).toString().padStart(2, '0');\n const day = arg.getDate().toString().padStart(2, '0');\n return `${year}-${month}-${day}`;\n }\n if (typeof arg === 'string') {\n return arg.trim();\n }\n // For other types or null/undefined, let the subsequent string validation handle it\n return arg; \n },\n z.string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, \"Date must be in YYYY-MM-DD format or a valid Date object\")\n .refine((val: any) => !isNaN(new Date(val).getTime()), 'Invalid date!')\n );\n\n// common docs frontmatter schema\nexport const createCommonDocsSchema = () => frontmatterSchema.extend({\n title: createTitleSchema(),\n description: createDescriptionSchema(),\n icon: createIconSchema(),\n date: createDateSchema(),\n author: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n});\n\n// common meta schema\nexport const createCommonMetaSchema = () => metaSchema.extend({\n description: z.string().optional(),\n});\n\nexport const remarkInstallOptions = {\n persist: {\n id: 'package-manager',\n },\n};","import type { MetadataRoute } from 'next';\nimport fs from 'fs';\nimport path from 'path';\n\n/**\n * Generate robots.txt content\n * @param baseUrl - The base URL of the website\n * @returns Robots configuration\n */\nexport function generateRobots(baseUrl: string): MetadataRoute.Robots {\n return {\n rules: {\n userAgent: \"*\",\n allow: \"/\",\n },\n sitemap: `${baseUrl}/sitemap.xml`,\n };\n}\n\n/**\n * Generate sitemap.xml content\n * @param baseUrl - The base URL of the website\n * @param locales - Supported locales array\n * @param mdxSourceDir - MDX source directory path\n * @param openMdxSEOSiteMap - Whether to include MDX content in sitemap, default is true\n * @returns Sitemap entries\n */\nexport function generateSitemap(\n baseUrl: string,\n locales: string[],\n mdxSourceDir: string,\n openMdxSEOSiteMap: boolean = true\n): MetadataRoute.Sitemap {\n // 2. handle index.mdx (blog start page) and other slugs\n const blogRoutes: MetadataRoute.Sitemap = [];\n\n // 1. read all blog mdx file names with error handling\n if (mdxSourceDir && mdxSourceDir.trim() !== '') {\n const blogDir = path.join(process.cwd(), mdxSourceDir);\n \n // Check if directory exists and is readable\n try {\n if (fs.existsSync(blogDir) && fs.statSync(blogDir).isDirectory()) {\n const blogFiles = fs.readdirSync(blogDir).filter(f => f.endsWith('.mdx'));\n\n for (const locale of locales) {\n for (const f of blogFiles) {\n if (f === 'index.mdx') {\n blogRoutes.push({\n url: `${baseUrl}/${locale}/blog`,\n lastModified: new Date(),\n changeFrequency: 'daily',\n priority: 1.0\n });\n } else {\n const slug = f.replace(/\\.mdx$/, '');\n blogRoutes.push({\n url: `${baseUrl}/${locale}/blog/${slug}`,\n lastModified: new Date(),\n changeFrequency: f === 'ioc.mdx' ? 'daily' : 'monthly',\n priority: 0.8\n });\n }\n }\n }\n }\n } catch (error) {\n // Handle edge cases like race conditions, permission changes, or filesystem errors\n console.warn(`Warning: Could not read MDX directory \"${mdxSourceDir}\":`, error);\n }\n }\n\n // 3. main page (all language versions)\n const mainRoutes = locales.map(locale => ({\n url: `${baseUrl}/${locale}`,\n lastModified: new Date(),\n changeFrequency: 'weekly' as const,\n priority: 1.0\n }));\n\n return openMdxSEOSiteMap ? [...mainRoutes, ...blogRoutes] : [...mainRoutes];\n}\n\n/**\n * Create robots.txt handler function\n * @param baseUrl - The base URL of the website\n * @returns Robots handler function\n */\nexport function createRobotsHandler(baseUrl: string) {\n return function robots(): MetadataRoute.Robots {\n return generateRobots(baseUrl);\n };\n}\n\n/**\n * Create sitemap.xml handler function\n * @param baseUrl - The base URL of the website\n * @param locales - Supported locales array\n * @param mdxSourceDir - MDX source directory path, default is empty\n * @param openMdxSEOSiteMap - Whether to include MDX content in sitemap, default is true\n * @returns Sitemap handler function\n */\nexport function createSitemapHandler(\n baseUrl: string,\n locales: string[],\n mdxSourceDir: string = '',\n openMdxSEOSiteMap: boolean = true\n) {\n // force static generation\n const sitemapHandler = function sitemap(): MetadataRoute.Sitemap {\n return generateSitemap(baseUrl, locales, mdxSourceDir, openMdxSEOSiteMap);\n };\n \n // Add static generation directive\n (sitemapHandler as any).dynamic = 'force-static';\n \n return sitemapHandler;\n}"]}
|
package/dist/lib/server.mjs
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
import {
|
|
3
|
-
clerkIntl
|
|
4
|
-
} from "../chunk-5BELDGQB.mjs";
|
|
5
|
-
import {
|
|
6
|
-
init_esm_shims
|
|
7
|
-
} from "../chunk-WWEZQKHX.mjs";
|
|
8
|
-
|
|
9
|
-
// src/lib/server.ts
|
|
10
|
-
init_esm_shims();
|
|
11
|
-
|
|
12
|
-
// src/lib/fuma-search-util.ts
|
|
13
|
-
init_esm_shims();
|
|
14
|
-
var fumaI18nCn = {
|
|
15
|
-
search: "Translated Content"
|
|
16
|
-
// other translations
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
// src/lib/fuma-schema-check-util.ts
|
|
20
|
-
init_esm_shims();
|
|
21
|
-
import { z } from "zod";
|
|
22
|
-
import { frontmatterSchema, metaSchema } from "fumadocs-mdx/config";
|
|
23
|
-
var createTitleSchema = () => z.string({
|
|
24
|
-
required_error: "Title is required",
|
|
25
|
-
invalid_type_error: "Title must be a string and cannot be null"
|
|
26
|
-
}).trim().min(1, { message: "Title cannot be empty or consist only of whitespace" });
|
|
27
|
-
var createDescriptionSchema = () => z.preprocess(
|
|
28
|
-
(val) => {
|
|
29
|
-
if (typeof val === "string") {
|
|
30
|
-
return val.trim() === "" || val === null ? void 0 : val.trim();
|
|
31
|
-
}
|
|
32
|
-
return val === null ? void 0 : val;
|
|
33
|
-
},
|
|
34
|
-
z.string().optional()
|
|
35
|
-
);
|
|
36
|
-
var createIconSchema = () => z.preprocess(
|
|
37
|
-
(val) => val === "" || val === null ? void 0 : val,
|
|
38
|
-
z.string().optional()
|
|
39
|
-
);
|
|
40
|
-
var createDateSchema = () => z.preprocess(
|
|
41
|
-
(arg) => {
|
|
42
|
-
if (arg instanceof Date) {
|
|
43
|
-
const year = arg.getFullYear();
|
|
44
|
-
const month = (arg.getMonth() + 1).toString().padStart(2, "0");
|
|
45
|
-
const day = arg.getDate().toString().padStart(2, "0");
|
|
46
|
-
return `${year}-${month}-${day}`;
|
|
47
|
-
}
|
|
48
|
-
if (typeof arg === "string") {
|
|
49
|
-
return arg.trim();
|
|
50
|
-
}
|
|
51
|
-
return arg;
|
|
52
|
-
},
|
|
53
|
-
z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format or a valid Date object").refine((val) => !isNaN(new Date(val).getTime()), "Invalid date!")
|
|
54
|
-
);
|
|
55
|
-
var createCommonDocsSchema = () => frontmatterSchema.extend({
|
|
56
|
-
title: createTitleSchema(),
|
|
57
|
-
description: createDescriptionSchema(),
|
|
58
|
-
icon: createIconSchema(),
|
|
59
|
-
date: createDateSchema(),
|
|
60
|
-
author: z.string().optional(),
|
|
61
|
-
keywords: z.array(z.string()).optional()
|
|
62
|
-
});
|
|
63
|
-
var createCommonMetaSchema = () => metaSchema.extend({
|
|
64
|
-
description: z.string().optional()
|
|
65
|
-
});
|
|
66
|
-
var remarkInstallOptions = {
|
|
67
|
-
persist: {
|
|
68
|
-
id: "package-manager"
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
// src/lib/seo-util.ts
|
|
73
|
-
init_esm_shims();
|
|
74
|
-
import fs from "fs";
|
|
75
|
-
import path from "path";
|
|
76
|
-
function generateRobots(baseUrl) {
|
|
77
|
-
return {
|
|
78
|
-
rules: {
|
|
79
|
-
userAgent: "*",
|
|
80
|
-
allow: "/"
|
|
81
|
-
},
|
|
82
|
-
sitemap: `${baseUrl}/sitemap.xml`
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
function generateSitemap(baseUrl, locales, mdxSourceDir, openMdxSEOSiteMap = true) {
|
|
86
|
-
const blogRoutes = [];
|
|
87
|
-
if (mdxSourceDir && mdxSourceDir.trim() !== "") {
|
|
88
|
-
const blogDir = path.join(process.cwd(), mdxSourceDir);
|
|
89
|
-
try {
|
|
90
|
-
if (fs.existsSync(blogDir) && fs.statSync(blogDir).isDirectory()) {
|
|
91
|
-
const blogFiles = fs.readdirSync(blogDir).filter((f) => f.endsWith(".mdx"));
|
|
92
|
-
for (const locale of locales) {
|
|
93
|
-
for (const f of blogFiles) {
|
|
94
|
-
if (f === "index.mdx") {
|
|
95
|
-
blogRoutes.push({
|
|
96
|
-
url: `${baseUrl}/${locale}/blog`,
|
|
97
|
-
lastModified: /* @__PURE__ */ new Date(),
|
|
98
|
-
changeFrequency: "daily",
|
|
99
|
-
priority: 1
|
|
100
|
-
});
|
|
101
|
-
} else {
|
|
102
|
-
const slug = f.replace(/\.mdx$/, "");
|
|
103
|
-
blogRoutes.push({
|
|
104
|
-
url: `${baseUrl}/${locale}/blog/${slug}`,
|
|
105
|
-
lastModified: /* @__PURE__ */ new Date(),
|
|
106
|
-
changeFrequency: f === "ioc.mdx" ? "daily" : "monthly",
|
|
107
|
-
priority: 0.8
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
} catch (error) {
|
|
114
|
-
console.warn(`Warning: Could not read MDX directory "${mdxSourceDir}":`, error);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
const mainRoutes = locales.map((locale) => ({
|
|
118
|
-
url: `${baseUrl}/${locale}`,
|
|
119
|
-
lastModified: /* @__PURE__ */ new Date(),
|
|
120
|
-
changeFrequency: "weekly",
|
|
121
|
-
priority: 1
|
|
122
|
-
}));
|
|
123
|
-
return openMdxSEOSiteMap ? [...mainRoutes, ...blogRoutes] : [...mainRoutes];
|
|
124
|
-
}
|
|
125
|
-
function createRobotsHandler(baseUrl) {
|
|
126
|
-
return function robots() {
|
|
127
|
-
return generateRobots(baseUrl);
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
function createSitemapHandler(baseUrl, locales, mdxSourceDir = "", openMdxSEOSiteMap = true) {
|
|
131
|
-
const sitemapHandler = function sitemap() {
|
|
132
|
-
return generateSitemap(baseUrl, locales, mdxSourceDir, openMdxSEOSiteMap);
|
|
133
|
-
};
|
|
134
|
-
sitemapHandler.dynamic = "force-static";
|
|
135
|
-
return sitemapHandler;
|
|
136
|
-
}
|
|
137
|
-
export {
|
|
138
|
-
clerkIntl,
|
|
139
|
-
createCommonDocsSchema,
|
|
140
|
-
createCommonMetaSchema,
|
|
141
|
-
createDateSchema,
|
|
142
|
-
createDescriptionSchema,
|
|
143
|
-
createIconSchema,
|
|
144
|
-
createRobotsHandler,
|
|
145
|
-
createSitemapHandler,
|
|
146
|
-
createTitleSchema,
|
|
147
|
-
fumaI18nCn,
|
|
148
|
-
generateRobots,
|
|
149
|
-
generateSitemap,
|
|
150
|
-
remarkInstallOptions
|
|
151
|
-
};
|
|
152
|
-
//# sourceMappingURL=server.mjs.map
|
package/dist/lib/server.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/server.ts","../../src/lib/fuma-search-util.ts","../../src/lib/fuma-schema-check-util.ts","../../src/lib/seo-util.ts"],"sourcesContent":["// This is a server component!\n\nexport * from './fuma-search-util';\nexport * from './clerk-intl';\nexport * from './fuma-schema-check-util';\nexport * from './seo-util';","import { Translations } from 'fumadocs-ui/i18n';\n\nexport const fumaI18nCn: Partial<Translations> = {\n search: 'Translated Content',\n // other translations\n};\n","import { z } from 'zod';\nimport { frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';\n\n\n// Reusable schema for title\nexport const createTitleSchema = () =>\n z.string({\n required_error: \"Title is required\",\n invalid_type_error: \"Title must be a string and cannot be null\",\n })\n .trim()\n .min(1, { message: \"Title cannot be empty or consist only of whitespace\" });\n\n// Reusable schema for description\nexport const createDescriptionSchema = () =>\n z.preprocess(\n (val: any) => {\n if (typeof val === 'string') {\n return val.trim() === \"\" || val === null ? undefined : val.trim();\n }\n return val === null ? undefined : val;\n },\n z.string().optional()\n );\n\n// Reusable schema for icon\nexport const createIconSchema = () =>\n z.preprocess(\n (val: any) => (val === \"\" || val === null ? undefined : val),\n z.string().optional()\n );\n\n// Reusable schema for date\nexport const createDateSchema = () =>\n z.preprocess((arg: any) => {\n if (arg instanceof Date) {\n // Format Date object to YYYY-MM-DD string\n const year = arg.getFullYear();\n const month = (arg.getMonth() + 1).toString().padStart(2, '0');\n const day = arg.getDate().toString().padStart(2, '0');\n return `${year}-${month}-${day}`;\n }\n if (typeof arg === 'string') {\n return arg.trim();\n }\n // For other types or null/undefined, let the subsequent string validation handle it\n return arg; \n },\n z.string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, \"Date must be in YYYY-MM-DD format or a valid Date object\")\n .refine((val: any) => !isNaN(new Date(val).getTime()), 'Invalid date!')\n );\n\n// common docs frontmatter schema\nexport const createCommonDocsSchema = () => frontmatterSchema.extend({\n title: createTitleSchema(),\n description: createDescriptionSchema(),\n icon: createIconSchema(),\n date: createDateSchema(),\n author: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n});\n\n// common meta schema\nexport const createCommonMetaSchema = () => metaSchema.extend({\n description: z.string().optional(),\n});\n\nexport const remarkInstallOptions = {\n persist: {\n id: 'package-manager',\n },\n};","import type { MetadataRoute } from 'next';\nimport fs from 'fs';\nimport path from 'path';\n\n/**\n * Generate robots.txt content\n * @param baseUrl - The base URL of the website\n * @returns Robots configuration\n */\nexport function generateRobots(baseUrl: string): MetadataRoute.Robots {\n return {\n rules: {\n userAgent: \"*\",\n allow: \"/\",\n },\n sitemap: `${baseUrl}/sitemap.xml`,\n };\n}\n\n/**\n * Generate sitemap.xml content\n * @param baseUrl - The base URL of the website\n * @param locales - Supported locales array\n * @param mdxSourceDir - MDX source directory path\n * @param openMdxSEOSiteMap - Whether to include MDX content in sitemap, default is true\n * @returns Sitemap entries\n */\nexport function generateSitemap(\n baseUrl: string,\n locales: string[],\n mdxSourceDir: string,\n openMdxSEOSiteMap: boolean = true\n): MetadataRoute.Sitemap {\n // 2. handle index.mdx (blog start page) and other slugs\n const blogRoutes: MetadataRoute.Sitemap = [];\n\n // 1. read all blog mdx file names with error handling\n if (mdxSourceDir && mdxSourceDir.trim() !== '') {\n const blogDir = path.join(process.cwd(), mdxSourceDir);\n \n // Check if directory exists and is readable\n try {\n if (fs.existsSync(blogDir) && fs.statSync(blogDir).isDirectory()) {\n const blogFiles = fs.readdirSync(blogDir).filter(f => f.endsWith('.mdx'));\n\n for (const locale of locales) {\n for (const f of blogFiles) {\n if (f === 'index.mdx') {\n blogRoutes.push({\n url: `${baseUrl}/${locale}/blog`,\n lastModified: new Date(),\n changeFrequency: 'daily',\n priority: 1.0\n });\n } else {\n const slug = f.replace(/\\.mdx$/, '');\n blogRoutes.push({\n url: `${baseUrl}/${locale}/blog/${slug}`,\n lastModified: new Date(),\n changeFrequency: f === 'ioc.mdx' ? 'daily' : 'monthly',\n priority: 0.8\n });\n }\n }\n }\n }\n } catch (error) {\n // Handle edge cases like race conditions, permission changes, or filesystem errors\n console.warn(`Warning: Could not read MDX directory \"${mdxSourceDir}\":`, error);\n }\n }\n\n // 3. main page (all language versions)\n const mainRoutes = locales.map(locale => ({\n url: `${baseUrl}/${locale}`,\n lastModified: new Date(),\n changeFrequency: 'weekly' as const,\n priority: 1.0\n }));\n\n return openMdxSEOSiteMap ? [...mainRoutes, ...blogRoutes] : [...mainRoutes];\n}\n\n/**\n * Create robots.txt handler function\n * @param baseUrl - The base URL of the website\n * @returns Robots handler function\n */\nexport function createRobotsHandler(baseUrl: string) {\n return function robots(): MetadataRoute.Robots {\n return generateRobots(baseUrl);\n };\n}\n\n/**\n * Create sitemap.xml handler function\n * @param baseUrl - The base URL of the website\n * @param locales - Supported locales array\n * @param mdxSourceDir - MDX source directory path, default is empty\n * @param openMdxSEOSiteMap - Whether to include MDX content in sitemap, default is true\n * @returns Sitemap handler function\n */\nexport function createSitemapHandler(\n baseUrl: string,\n locales: string[],\n mdxSourceDir: string = '',\n openMdxSEOSiteMap: boolean = true\n) {\n // force static generation\n const sitemapHandler = function sitemap(): MetadataRoute.Sitemap {\n return generateSitemap(baseUrl, locales, mdxSourceDir, openMdxSEOSiteMap);\n };\n \n // Add static generation directive\n (sitemapHandler as any).dynamic = 'force-static';\n \n return sitemapHandler;\n}"],"mappings":"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","names":[]}
|
package/dist/main/index.d.mts
DELETED
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import React, { ReactNode } from 'react';
|
|
3
|
-
|
|
4
|
-
declare function GoToTop(): react_jsx_runtime.JSX.Element;
|
|
5
|
-
|
|
6
|
-
declare function Loading(): react_jsx_runtime.JSX.Element;
|
|
7
|
-
|
|
8
|
-
declare function NProgressBar(): null;
|
|
9
|
-
|
|
10
|
-
interface AdsAlertDialogProps {
|
|
11
|
-
open: boolean;
|
|
12
|
-
onOpenChange: (open: boolean) => void;
|
|
13
|
-
title: React.ReactNode;
|
|
14
|
-
description: React.ReactNode;
|
|
15
|
-
imgSrc?: string;
|
|
16
|
-
imgHref?: string;
|
|
17
|
-
onCancel?: () => void;
|
|
18
|
-
cancelText?: string;
|
|
19
|
-
confirmText?: string;
|
|
20
|
-
onConfirm?: () => void;
|
|
21
|
-
}
|
|
22
|
-
declare function AdsAlertDialog({ open, onOpenChange, title, description, imgSrc, imgHref, cancelText, onCancel, confirmText, onConfirm, }: AdsAlertDialogProps): react_jsx_runtime.JSX.Element;
|
|
23
|
-
|
|
24
|
-
interface BaseButtonConfig {
|
|
25
|
-
icon: ReactNode;
|
|
26
|
-
text: string;
|
|
27
|
-
onClick: () => void | Promise<void>;
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
}
|
|
30
|
-
interface MenuItemConfig extends BaseButtonConfig {
|
|
31
|
-
tag?: {
|
|
32
|
-
text: string;
|
|
33
|
-
color?: string;
|
|
34
|
-
};
|
|
35
|
-
splitTopBorder?: boolean;
|
|
36
|
-
}
|
|
37
|
-
interface SingleButtonProps {
|
|
38
|
-
type: 'single';
|
|
39
|
-
button: BaseButtonConfig;
|
|
40
|
-
loadingText?: string;
|
|
41
|
-
minWidth?: string;
|
|
42
|
-
className?: string;
|
|
43
|
-
}
|
|
44
|
-
interface SplitButtonProps {
|
|
45
|
-
type: 'split';
|
|
46
|
-
mainButton: BaseButtonConfig;
|
|
47
|
-
menuItems: MenuItemConfig[];
|
|
48
|
-
loadingText?: string;
|
|
49
|
-
menuWidth?: string;
|
|
50
|
-
className?: string;
|
|
51
|
-
mainButtonClassName?: string;
|
|
52
|
-
dropdownButtonClassName?: string;
|
|
53
|
-
}
|
|
54
|
-
type xButtonProps = SingleButtonProps | SplitButtonProps;
|
|
55
|
-
declare function XButton(props: xButtonProps): react_jsx_runtime.JSX.Element;
|
|
56
|
-
|
|
57
|
-
interface AIPromptTextareaProps {
|
|
58
|
-
/**
|
|
59
|
-
* Textarea value reference
|
|
60
|
-
*/
|
|
61
|
-
value: string;
|
|
62
|
-
/**
|
|
63
|
-
* Textarea value change handler
|
|
64
|
-
*/
|
|
65
|
-
onChange: (value: string) => void;
|
|
66
|
-
/**
|
|
67
|
-
* Word limit value reference
|
|
68
|
-
*/
|
|
69
|
-
isWordLimit: boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Word limit value change handler
|
|
72
|
-
*/
|
|
73
|
-
onWordLimitChange: (isLimit: boolean) => void;
|
|
74
|
-
/**
|
|
75
|
-
* Placeholder
|
|
76
|
-
*/
|
|
77
|
-
placeholder?: string;
|
|
78
|
-
/**
|
|
79
|
-
* Disabled switch condition, default is false
|
|
80
|
-
*/
|
|
81
|
-
disabled?: boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Maximum words
|
|
84
|
-
*/
|
|
85
|
-
maxWords?: number;
|
|
86
|
-
/**
|
|
87
|
-
* Word count unit title
|
|
88
|
-
*/
|
|
89
|
-
wordUnitTitle?: string;
|
|
90
|
-
/**
|
|
91
|
-
* Minimum height, px
|
|
92
|
-
*/
|
|
93
|
-
minHeight?: number;
|
|
94
|
-
/**
|
|
95
|
-
* Maximum height, px
|
|
96
|
-
*/
|
|
97
|
-
maxHeight?: number;
|
|
98
|
-
/**
|
|
99
|
-
* Word count switch, default is true
|
|
100
|
-
*/
|
|
101
|
-
showWordCount?: boolean;
|
|
102
|
-
/**
|
|
103
|
-
* Auto scroll switch, default is true
|
|
104
|
-
*/
|
|
105
|
-
autoScroll?: boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Extra scroll space, px
|
|
108
|
-
*/
|
|
109
|
-
extraScrollSpace?: number;
|
|
110
|
-
/**
|
|
111
|
-
* Custome tailwindcss style
|
|
112
|
-
*/
|
|
113
|
-
className?: string;
|
|
114
|
-
/**
|
|
115
|
-
* Title text, if not provided, no title will be rendered
|
|
116
|
-
*/
|
|
117
|
-
title?: string;
|
|
118
|
-
/**
|
|
119
|
-
* Description text
|
|
120
|
-
*/
|
|
121
|
-
description?: string;
|
|
122
|
-
/**
|
|
123
|
-
* Embed title inside textarea, default is false
|
|
124
|
-
*/
|
|
125
|
-
embed?: boolean;
|
|
126
|
-
}
|
|
127
|
-
declare function AIPromptTextarea({ value, onChange, placeholder, disabled, maxWords, wordUnitTitle, minHeight, maxHeight, className, showWordCount, autoScroll, extraScrollSpace, isWordLimit, onWordLimitChange, title, description, embed }: AIPromptTextareaProps): react_jsx_runtime.JSX.Element;
|
|
128
|
-
|
|
129
|
-
type TagRenderer = (chunks: React.ReactNode) => React.ReactElement;
|
|
130
|
-
type TagRenderers = Record<string, TagRenderer>;
|
|
131
|
-
declare function createRichTextRenderer(customRenderers?: TagRenderers): (t: any, key: string) => any;
|
|
132
|
-
declare const richText: (t: any, key: string) => any;
|
|
133
|
-
|
|
134
|
-
interface FAQData {
|
|
135
|
-
title: string;
|
|
136
|
-
description: string;
|
|
137
|
-
items: Array<{
|
|
138
|
-
id: string;
|
|
139
|
-
question: string;
|
|
140
|
-
answer: string;
|
|
141
|
-
}>;
|
|
142
|
-
}
|
|
143
|
-
declare function FAQInteractive({ data }: {
|
|
144
|
-
data: FAQData;
|
|
145
|
-
}): null;
|
|
146
|
-
|
|
147
|
-
interface BillingOption {
|
|
148
|
-
key: string;
|
|
149
|
-
discount: number;
|
|
150
|
-
}
|
|
151
|
-
interface Prices {
|
|
152
|
-
[key: string]: number | string;
|
|
153
|
-
}
|
|
154
|
-
interface PricePlanAppConfig {
|
|
155
|
-
billingOptions: BillingOption[];
|
|
156
|
-
prices: Prices;
|
|
157
|
-
minPlanFeaturesCount: number;
|
|
158
|
-
}
|
|
159
|
-
interface PricePlanData {
|
|
160
|
-
title: string;
|
|
161
|
-
subtitle: string;
|
|
162
|
-
billingSwitch: {
|
|
163
|
-
options: Array<{
|
|
164
|
-
key: string;
|
|
165
|
-
name: string;
|
|
166
|
-
unit: string;
|
|
167
|
-
discountText: string;
|
|
168
|
-
subTitle?: string;
|
|
169
|
-
}>;
|
|
170
|
-
defaultKey: string;
|
|
171
|
-
};
|
|
172
|
-
plans: Array<any>;
|
|
173
|
-
currency: string;
|
|
174
|
-
pricePlanConfig: PricePlanAppConfig;
|
|
175
|
-
}
|
|
176
|
-
declare function PricePlanInteractive({ data }: {
|
|
177
|
-
data: PricePlanData;
|
|
178
|
-
}): react_jsx_runtime.JSX.Element;
|
|
179
|
-
|
|
180
|
-
interface GalleryItem {
|
|
181
|
-
id: string;
|
|
182
|
-
url: string;
|
|
183
|
-
altMsg: string;
|
|
184
|
-
}
|
|
185
|
-
interface GalleryData {
|
|
186
|
-
titleL: string;
|
|
187
|
-
eyesOn: string;
|
|
188
|
-
titleR: string;
|
|
189
|
-
description: string;
|
|
190
|
-
items: GalleryItem[];
|
|
191
|
-
defaultImgUrl: string;
|
|
192
|
-
downloadPrefix: string;
|
|
193
|
-
}
|
|
194
|
-
declare function GalleryInteractive({ data }: {
|
|
195
|
-
data: GalleryData;
|
|
196
|
-
}): null;
|
|
197
|
-
|
|
198
|
-
export { AIPromptTextarea, AdsAlertDialog, FAQInteractive, GalleryInteractive, GoToTop, Loading, NProgressBar, PricePlanInteractive, XButton, createRichTextRenderer, richText };
|