@ox-content/vite-plugin 1.0.0-alpha.0 → 1.1.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/dist/chunk.cjs +39 -49
- package/dist/github.cjs +323 -3
- package/dist/github.cjs.map +1 -0
- package/dist/github.mjs +2 -0
- package/dist/{github2.js → github2.mjs} +2 -3
- package/dist/github2.mjs.map +1 -0
- package/dist/index.cjs +467 -292
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +79 -66
- package/dist/index.d.cts.map +1 -1
- package/dist/{index.d.ts → index.d.mts} +80 -67
- package/dist/index.d.mts.map +1 -0
- package/dist/{index.js → index.mjs} +479 -317
- package/dist/index.mjs.map +1 -0
- package/dist/mermaid.cjs +115 -3
- package/dist/mermaid.cjs.map +1 -0
- package/dist/{mermaid2.js → mermaid.mjs} +14 -6
- package/dist/mermaid.mjs.map +1 -0
- package/dist/mermaid2.mjs +2 -0
- package/dist/ogp.cjs +316 -3
- package/dist/ogp.cjs.map +1 -0
- package/dist/ogp.mjs +2 -0
- package/dist/{ogp2.js → ogp2.mjs} +2 -3
- package/dist/ogp2.mjs.map +1 -0
- package/dist/tabs.cjs +212 -3
- package/dist/tabs.cjs.map +1 -0
- package/dist/tabs.mjs +2 -0
- package/dist/{tabs2.js → tabs2.mjs} +2 -3
- package/dist/tabs2.mjs.map +1 -0
- package/dist/youtube.cjs +135 -3
- package/dist/youtube.cjs.map +1 -0
- package/dist/youtube.mjs +2 -0
- package/dist/{youtube2.js → youtube2.mjs} +2 -3
- package/dist/youtube2.mjs.map +1 -0
- package/package.json +61 -56
- package/dist/github.js +0 -3
- package/dist/github2.cjs +0 -313
- package/dist/github2.cjs.map +0 -1
- package/dist/github2.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/mermaid.js +0 -3
- package/dist/mermaid2.cjs +0 -92
- package/dist/mermaid2.cjs.map +0 -1
- package/dist/mermaid2.js.map +0 -1
- package/dist/ogp.js +0 -3
- package/dist/ogp2.cjs +0 -306
- package/dist/ogp2.cjs.map +0 -1
- package/dist/ogp2.js.map +0 -1
- package/dist/tabs.js +0 -3
- package/dist/tabs2.cjs +0 -203
- package/dist/tabs2.cjs.map +0 -1
- package/dist/tabs2.js.map +0 -1
- package/dist/youtube.js +0 -3
- package/dist/youtube2.cjs +0 -127
- package/dist/youtube2.cjs.map +0 -1
- package/dist/youtube2.js.map +0 -1
package/dist/github2.cjs
DELETED
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
const require_chunk = require('./chunk.cjs');
|
|
2
|
-
let unified = require("unified");
|
|
3
|
-
let rehype_parse = require("rehype-parse");
|
|
4
|
-
rehype_parse = require_chunk.__toESM(rehype_parse);
|
|
5
|
-
let rehype_stringify = require("rehype-stringify");
|
|
6
|
-
rehype_stringify = require_chunk.__toESM(rehype_stringify);
|
|
7
|
-
|
|
8
|
-
//#region src/plugins/github.ts
|
|
9
|
-
/**
|
|
10
|
-
* GitHub Plugin - Repository card embedding
|
|
11
|
-
*
|
|
12
|
-
* Transforms <GitHub> components into static repository cards
|
|
13
|
-
* by fetching data from GitHub API at build time.
|
|
14
|
-
*/
|
|
15
|
-
const defaultOptions = {
|
|
16
|
-
token: "",
|
|
17
|
-
cache: true,
|
|
18
|
-
cacheTTL: 36e5
|
|
19
|
-
};
|
|
20
|
-
const repoCache = /* @__PURE__ */ new Map();
|
|
21
|
-
/**
|
|
22
|
-
* Get element attribute value.
|
|
23
|
-
*/
|
|
24
|
-
function getAttribute(el, name) {
|
|
25
|
-
const value = el.properties?.[name];
|
|
26
|
-
if (typeof value === "string") return value;
|
|
27
|
-
if (Array.isArray(value)) return value.join(" ");
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Format number with K/M suffix.
|
|
31
|
-
*/
|
|
32
|
-
function formatNumber(num) {
|
|
33
|
-
if (num >= 1e6) return `${(num / 1e6).toFixed(1)}M`;
|
|
34
|
-
if (num >= 1e3) return `${(num / 1e3).toFixed(1)}k`;
|
|
35
|
-
return String(num);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Fetch repository data from GitHub API.
|
|
39
|
-
*/
|
|
40
|
-
async function fetchRepoData(repo, options) {
|
|
41
|
-
if (options.cache) {
|
|
42
|
-
const cached = repoCache.get(repo);
|
|
43
|
-
if (cached && Date.now() - cached.timestamp < options.cacheTTL) return cached.data;
|
|
44
|
-
}
|
|
45
|
-
try {
|
|
46
|
-
const headers = {
|
|
47
|
-
Accept: "application/vnd.github.v3+json",
|
|
48
|
-
"User-Agent": "ox-content-github-plugin"
|
|
49
|
-
};
|
|
50
|
-
if (options.token) headers.Authorization = `Bearer ${options.token}`;
|
|
51
|
-
const response = await fetch(`https://api.github.com/repos/${repo}`, { headers });
|
|
52
|
-
if (!response.ok) {
|
|
53
|
-
console.warn(`Failed to fetch GitHub repo ${repo}: ${response.status}`);
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
const data = await response.json();
|
|
57
|
-
if (options.cache) repoCache.set(repo, {
|
|
58
|
-
data,
|
|
59
|
-
timestamp: Date.now()
|
|
60
|
-
});
|
|
61
|
-
return data;
|
|
62
|
-
} catch (error) {
|
|
63
|
-
console.warn(`Error fetching GitHub repo ${repo}:`, error);
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Create GitHub card element from repo data.
|
|
69
|
-
*/
|
|
70
|
-
function createGitHubCard(repoData) {
|
|
71
|
-
const statsChildren = [];
|
|
72
|
-
if (repoData.language) statsChildren.push({
|
|
73
|
-
type: "element",
|
|
74
|
-
tagName: "span",
|
|
75
|
-
properties: { className: ["ox-github-language"] },
|
|
76
|
-
children: [{
|
|
77
|
-
type: "element",
|
|
78
|
-
tagName: "span",
|
|
79
|
-
properties: {
|
|
80
|
-
className: ["ox-github-language-color"],
|
|
81
|
-
"data-lang": repoData.language.toLowerCase()
|
|
82
|
-
},
|
|
83
|
-
children: []
|
|
84
|
-
}, {
|
|
85
|
-
type: "text",
|
|
86
|
-
value: repoData.language
|
|
87
|
-
}]
|
|
88
|
-
});
|
|
89
|
-
statsChildren.push({
|
|
90
|
-
type: "element",
|
|
91
|
-
tagName: "span",
|
|
92
|
-
properties: { className: ["ox-github-stat"] },
|
|
93
|
-
children: [{
|
|
94
|
-
type: "element",
|
|
95
|
-
tagName: "svg",
|
|
96
|
-
properties: {
|
|
97
|
-
viewBox: "0 0 16 16",
|
|
98
|
-
fill: "currentColor"
|
|
99
|
-
},
|
|
100
|
-
children: [{
|
|
101
|
-
type: "element",
|
|
102
|
-
tagName: "path",
|
|
103
|
-
properties: { d: "M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Z" },
|
|
104
|
-
children: []
|
|
105
|
-
}]
|
|
106
|
-
}, {
|
|
107
|
-
type: "text",
|
|
108
|
-
value: formatNumber(repoData.stargazers_count)
|
|
109
|
-
}]
|
|
110
|
-
});
|
|
111
|
-
statsChildren.push({
|
|
112
|
-
type: "element",
|
|
113
|
-
tagName: "span",
|
|
114
|
-
properties: { className: ["ox-github-stat"] },
|
|
115
|
-
children: [{
|
|
116
|
-
type: "element",
|
|
117
|
-
tagName: "svg",
|
|
118
|
-
properties: {
|
|
119
|
-
viewBox: "0 0 16 16",
|
|
120
|
-
fill: "currentColor"
|
|
121
|
-
},
|
|
122
|
-
children: [{
|
|
123
|
-
type: "element",
|
|
124
|
-
tagName: "path",
|
|
125
|
-
properties: { d: "M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z" },
|
|
126
|
-
children: []
|
|
127
|
-
}]
|
|
128
|
-
}, {
|
|
129
|
-
type: "text",
|
|
130
|
-
value: formatNumber(repoData.forks_count)
|
|
131
|
-
}]
|
|
132
|
-
});
|
|
133
|
-
return {
|
|
134
|
-
type: "element",
|
|
135
|
-
tagName: "a",
|
|
136
|
-
properties: {
|
|
137
|
-
className: ["ox-github-card"],
|
|
138
|
-
href: repoData.html_url,
|
|
139
|
-
target: "_blank",
|
|
140
|
-
rel: "noopener noreferrer"
|
|
141
|
-
},
|
|
142
|
-
children: [
|
|
143
|
-
{
|
|
144
|
-
type: "element",
|
|
145
|
-
tagName: "div",
|
|
146
|
-
properties: { className: ["ox-github-header"] },
|
|
147
|
-
children: [{
|
|
148
|
-
type: "element",
|
|
149
|
-
tagName: "svg",
|
|
150
|
-
properties: {
|
|
151
|
-
className: ["ox-github-icon"],
|
|
152
|
-
viewBox: "0 0 16 16",
|
|
153
|
-
fill: "currentColor"
|
|
154
|
-
},
|
|
155
|
-
children: [{
|
|
156
|
-
type: "element",
|
|
157
|
-
tagName: "path",
|
|
158
|
-
properties: { d: "M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z" },
|
|
159
|
-
children: []
|
|
160
|
-
}]
|
|
161
|
-
}, {
|
|
162
|
-
type: "element",
|
|
163
|
-
tagName: "span",
|
|
164
|
-
properties: { className: ["ox-github-repo"] },
|
|
165
|
-
children: [{
|
|
166
|
-
type: "text",
|
|
167
|
-
value: repoData.full_name
|
|
168
|
-
}]
|
|
169
|
-
}]
|
|
170
|
-
},
|
|
171
|
-
...repoData.description ? [{
|
|
172
|
-
type: "element",
|
|
173
|
-
tagName: "p",
|
|
174
|
-
properties: { className: ["ox-github-description"] },
|
|
175
|
-
children: [{
|
|
176
|
-
type: "text",
|
|
177
|
-
value: repoData.description
|
|
178
|
-
}]
|
|
179
|
-
}] : [],
|
|
180
|
-
{
|
|
181
|
-
type: "element",
|
|
182
|
-
tagName: "div",
|
|
183
|
-
properties: { className: ["ox-github-stats"] },
|
|
184
|
-
children: statsChildren
|
|
185
|
-
}
|
|
186
|
-
]
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Create fallback element when repo data is unavailable.
|
|
191
|
-
*/
|
|
192
|
-
function createFallbackCard(repo) {
|
|
193
|
-
return {
|
|
194
|
-
type: "element",
|
|
195
|
-
tagName: "a",
|
|
196
|
-
properties: {
|
|
197
|
-
className: ["ox-github-card", "error"],
|
|
198
|
-
href: `https://github.com/${repo}`,
|
|
199
|
-
target: "_blank",
|
|
200
|
-
rel: "noopener noreferrer"
|
|
201
|
-
},
|
|
202
|
-
children: [{
|
|
203
|
-
type: "element",
|
|
204
|
-
tagName: "div",
|
|
205
|
-
properties: { className: ["ox-github-header"] },
|
|
206
|
-
children: [{
|
|
207
|
-
type: "element",
|
|
208
|
-
tagName: "svg",
|
|
209
|
-
properties: {
|
|
210
|
-
className: ["ox-github-icon"],
|
|
211
|
-
viewBox: "0 0 16 16",
|
|
212
|
-
fill: "currentColor"
|
|
213
|
-
},
|
|
214
|
-
children: [{
|
|
215
|
-
type: "element",
|
|
216
|
-
tagName: "path",
|
|
217
|
-
properties: { d: "M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z" },
|
|
218
|
-
children: []
|
|
219
|
-
}]
|
|
220
|
-
}, {
|
|
221
|
-
type: "element",
|
|
222
|
-
tagName: "span",
|
|
223
|
-
properties: { className: ["ox-github-repo"] },
|
|
224
|
-
children: [{
|
|
225
|
-
type: "text",
|
|
226
|
-
value: repo
|
|
227
|
-
}]
|
|
228
|
-
}]
|
|
229
|
-
}]
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Collect all GitHub repos from HTML for pre-fetching.
|
|
234
|
-
*/
|
|
235
|
-
async function collectGitHubRepos(html) {
|
|
236
|
-
const repos = [];
|
|
237
|
-
const repoPattern = /<github[^>]*\s+repo=["']([^"']+)["']/gi;
|
|
238
|
-
let match;
|
|
239
|
-
while ((match = repoPattern.exec(html)) !== null) repos.push(match[1]);
|
|
240
|
-
return repos;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Pre-fetch all GitHub repos data.
|
|
244
|
-
*/
|
|
245
|
-
async function prefetchGitHubRepos(repos, options) {
|
|
246
|
-
const mergedOptions = {
|
|
247
|
-
...defaultOptions,
|
|
248
|
-
...options
|
|
249
|
-
};
|
|
250
|
-
const results = /* @__PURE__ */ new Map();
|
|
251
|
-
await Promise.all(repos.map(async (repo) => {
|
|
252
|
-
const data = await fetchRepoData(repo, mergedOptions);
|
|
253
|
-
results.set(repo, data);
|
|
254
|
-
}));
|
|
255
|
-
return results;
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Rehype plugin to transform GitHub components.
|
|
259
|
-
*/
|
|
260
|
-
function rehypeGitHub(repoDataMap) {
|
|
261
|
-
return (tree) => {
|
|
262
|
-
const visit = (node) => {
|
|
263
|
-
if ("children" in node) for (let i = 0; i < node.children.length; i++) {
|
|
264
|
-
const child = node.children[i];
|
|
265
|
-
if (child.type === "element") if (child.tagName.toLowerCase() === "github") {
|
|
266
|
-
const repo = getAttribute(child, "repo");
|
|
267
|
-
if (repo) {
|
|
268
|
-
const repoData = repoDataMap.get(repo);
|
|
269
|
-
const cardElement = repoData ? createGitHubCard(repoData) : createFallbackCard(repo);
|
|
270
|
-
node.children[i] = cardElement;
|
|
271
|
-
}
|
|
272
|
-
} else visit(child);
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
visit(tree);
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Transform GitHub components in HTML.
|
|
280
|
-
*/
|
|
281
|
-
async function transformGitHub(html, repoDataMap, options) {
|
|
282
|
-
let dataMap = repoDataMap;
|
|
283
|
-
if (!dataMap) dataMap = await prefetchGitHubRepos(await collectGitHubRepos(html), options);
|
|
284
|
-
const result = await (0, unified.unified)().use(rehype_parse.default, { fragment: true }).use(rehypeGitHub, dataMap).use(rehype_stringify.default).process(html);
|
|
285
|
-
return String(result);
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
//#endregion
|
|
289
|
-
Object.defineProperty(exports, 'collectGitHubRepos', {
|
|
290
|
-
enumerable: true,
|
|
291
|
-
get: function () {
|
|
292
|
-
return collectGitHubRepos;
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
Object.defineProperty(exports, 'fetchRepoData', {
|
|
296
|
-
enumerable: true,
|
|
297
|
-
get: function () {
|
|
298
|
-
return fetchRepoData;
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
Object.defineProperty(exports, 'prefetchGitHubRepos', {
|
|
302
|
-
enumerable: true,
|
|
303
|
-
get: function () {
|
|
304
|
-
return prefetchGitHubRepos;
|
|
305
|
-
}
|
|
306
|
-
});
|
|
307
|
-
Object.defineProperty(exports, 'transformGitHub', {
|
|
308
|
-
enumerable: true,
|
|
309
|
-
get: function () {
|
|
310
|
-
return transformGitHub;
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
//# sourceMappingURL=github2.cjs.map
|
package/dist/github2.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github2.cjs","names":["rehypeParse","rehypeStringify"],"sources":["../src/plugins/github.ts"],"sourcesContent":["/**\n * GitHub Plugin - Repository card embedding\n *\n * Transforms <GitHub> components into static repository cards\n * by fetching data from GitHub API at build time.\n */\n\nimport { unified } from \"unified\";\nimport rehypeParse from \"rehype-parse\";\nimport rehypeStringify from \"rehype-stringify\";\nimport type { Root, Element } from \"hast\";\n\nexport interface GitHubRepoData {\n name: string;\n full_name: string;\n description: string | null;\n html_url: string;\n stargazers_count: number;\n forks_count: number;\n language: string | null;\n owner: {\n login: string;\n avatar_url: string;\n };\n}\n\nexport interface GitHubOptions {\n /** GitHub API token for higher rate limits. */\n token?: string;\n /** Cache fetched data. Default: true */\n cache?: boolean;\n /** Cache TTL in milliseconds. Default: 3600000 (1 hour) */\n cacheTTL?: number;\n}\n\nconst defaultOptions: Required<GitHubOptions> = {\n token: \"\",\n cache: true,\n cacheTTL: 3600000,\n};\n\n// Simple in-memory cache\nconst repoCache = new Map<string, { data: GitHubRepoData; timestamp: number }>();\n\n/**\n * Get element attribute value.\n */\nfunction getAttribute(el: Element, name: string): string | undefined {\n const value = el.properties?.[name];\n if (typeof value === \"string\") return value;\n if (Array.isArray(value)) return value.join(\" \");\n return undefined;\n}\n\n/**\n * Format number with K/M suffix.\n */\nfunction formatNumber(num: number): string {\n if (num >= 1000000) {\n return `${(num / 1000000).toFixed(1)}M`;\n }\n if (num >= 1000) {\n return `${(num / 1000).toFixed(1)}k`;\n }\n return String(num);\n}\n\n/**\n * Fetch repository data from GitHub API.\n */\nexport async function fetchRepoData(\n repo: string,\n options: Required<GitHubOptions>,\n): Promise<GitHubRepoData | null> {\n // Check cache\n if (options.cache) {\n const cached = repoCache.get(repo);\n if (cached && Date.now() - cached.timestamp < options.cacheTTL) {\n return cached.data;\n }\n }\n\n try {\n const headers: Record<string, string> = {\n Accept: \"application/vnd.github.v3+json\",\n \"User-Agent\": \"ox-content-github-plugin\",\n };\n\n if (options.token) {\n headers.Authorization = `Bearer ${options.token}`;\n }\n\n const response = await fetch(`https://api.github.com/repos/${repo}`, { headers });\n\n if (!response.ok) {\n console.warn(`Failed to fetch GitHub repo ${repo}: ${response.status}`);\n return null;\n }\n\n const data = (await response.json()) as GitHubRepoData;\n\n // Cache the result\n if (options.cache) {\n repoCache.set(repo, { data, timestamp: Date.now() });\n }\n\n return data;\n } catch (error) {\n console.warn(`Error fetching GitHub repo ${repo}:`, error);\n return null;\n }\n}\n\n/**\n * Create GitHub card element from repo data.\n */\nfunction createGitHubCard(repoData: GitHubRepoData): Element {\n const statsChildren: Element[\"children\"] = [];\n\n // Language\n if (repoData.language) {\n statsChildren.push({\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-language\"] },\n children: [\n {\n type: \"element\",\n tagName: \"span\",\n properties: {\n className: [\"ox-github-language-color\"],\n \"data-lang\": repoData.language.toLowerCase(),\n },\n children: [],\n },\n { type: \"text\", value: repoData.language },\n ],\n });\n }\n\n // Stars\n statsChildren.push({\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-stat\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Z\",\n },\n children: [],\n },\n ],\n },\n { type: \"text\", value: formatNumber(repoData.stargazers_count) },\n ],\n });\n\n // Forks\n statsChildren.push({\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-stat\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\",\n },\n children: [],\n },\n ],\n },\n { type: \"text\", value: formatNumber(repoData.forks_count) },\n ],\n });\n\n return {\n type: \"element\",\n tagName: \"a\",\n properties: {\n className: [\"ox-github-card\"],\n href: repoData.html_url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n children: [\n // Header\n {\n type: \"element\",\n tagName: \"div\",\n properties: { className: [\"ox-github-header\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n className: [\"ox-github-icon\"],\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\",\n },\n children: [],\n },\n ],\n },\n {\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-repo\"] },\n children: [{ type: \"text\", value: repoData.full_name }],\n },\n ],\n },\n // Description\n ...(repoData.description\n ? [\n {\n type: \"element\" as const,\n tagName: \"p\",\n properties: { className: [\"ox-github-description\"] },\n children: [{ type: \"text\" as const, value: repoData.description }],\n },\n ]\n : []),\n // Stats\n {\n type: \"element\",\n tagName: \"div\",\n properties: { className: [\"ox-github-stats\"] },\n children: statsChildren,\n },\n ],\n };\n}\n\n/**\n * Create fallback element when repo data is unavailable.\n */\nfunction createFallbackCard(repo: string): Element {\n return {\n type: \"element\",\n tagName: \"a\",\n properties: {\n className: [\"ox-github-card\", \"error\"],\n href: `https://github.com/${repo}`,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"div\",\n properties: { className: [\"ox-github-header\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n className: [\"ox-github-icon\"],\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z\",\n },\n children: [],\n },\n ],\n },\n {\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-repo\"] },\n children: [{ type: \"text\", value: repo }],\n },\n ],\n },\n ],\n };\n}\n\n/**\n * Collect all GitHub repos from HTML for pre-fetching.\n */\nexport async function collectGitHubRepos(html: string): Promise<string[]> {\n const repos: string[] = [];\n const repoPattern = /<github[^>]*\\s+repo=[\"']([^\"']+)[\"']/gi;\n\n let match;\n while ((match = repoPattern.exec(html)) !== null) {\n repos.push(match[1]);\n }\n\n return repos;\n}\n\n/**\n * Pre-fetch all GitHub repos data.\n */\nexport async function prefetchGitHubRepos(\n repos: string[],\n options?: GitHubOptions,\n): Promise<Map<string, GitHubRepoData | null>> {\n const mergedOptions = { ...defaultOptions, ...options };\n const results = new Map<string, GitHubRepoData | null>();\n\n await Promise.all(\n repos.map(async (repo) => {\n const data = await fetchRepoData(repo, mergedOptions);\n results.set(repo, data);\n }),\n );\n\n return results;\n}\n\n/**\n * Rehype plugin to transform GitHub components.\n */\nfunction rehypeGitHub(repoDataMap: Map<string, GitHubRepoData | null>) {\n return (tree: Root) => {\n const visit = (node: Root | Element) => {\n if (\"children\" in node) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n\n if (child.type === \"element\") {\n // Check for <GitHub> component\n if (child.tagName.toLowerCase() === \"github\") {\n const repo = getAttribute(child, \"repo\");\n\n if (repo) {\n const repoData = repoDataMap.get(repo);\n const cardElement = repoData\n ? createGitHubCard(repoData)\n : createFallbackCard(repo);\n node.children[i] = cardElement;\n }\n } else {\n visit(child);\n }\n }\n }\n }\n };\n\n visit(tree);\n };\n}\n\n/**\n * Transform GitHub components in HTML.\n */\nexport async function transformGitHub(\n html: string,\n repoDataMap?: Map<string, GitHubRepoData | null>,\n options?: GitHubOptions,\n): Promise<string> {\n // If no pre-fetched data, collect and fetch\n let dataMap = repoDataMap;\n if (!dataMap) {\n const repos = await collectGitHubRepos(html);\n dataMap = await prefetchGitHubRepos(repos, options);\n }\n\n const result = await unified()\n .use(rehypeParse, { fragment: true })\n .use(rehypeGitHub, dataMap)\n .use(rehypeStringify)\n .process(html);\n\n return String(result);\n}\n"],"mappings":"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"}
|
package/dist/github2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github2.js","names":[],"sources":["../src/plugins/github.ts"],"sourcesContent":["/**\n * GitHub Plugin - Repository card embedding\n *\n * Transforms <GitHub> components into static repository cards\n * by fetching data from GitHub API at build time.\n */\n\nimport { unified } from \"unified\";\nimport rehypeParse from \"rehype-parse\";\nimport rehypeStringify from \"rehype-stringify\";\nimport type { Root, Element } from \"hast\";\n\nexport interface GitHubRepoData {\n name: string;\n full_name: string;\n description: string | null;\n html_url: string;\n stargazers_count: number;\n forks_count: number;\n language: string | null;\n owner: {\n login: string;\n avatar_url: string;\n };\n}\n\nexport interface GitHubOptions {\n /** GitHub API token for higher rate limits. */\n token?: string;\n /** Cache fetched data. Default: true */\n cache?: boolean;\n /** Cache TTL in milliseconds. Default: 3600000 (1 hour) */\n cacheTTL?: number;\n}\n\nconst defaultOptions: Required<GitHubOptions> = {\n token: \"\",\n cache: true,\n cacheTTL: 3600000,\n};\n\n// Simple in-memory cache\nconst repoCache = new Map<string, { data: GitHubRepoData; timestamp: number }>();\n\n/**\n * Get element attribute value.\n */\nfunction getAttribute(el: Element, name: string): string | undefined {\n const value = el.properties?.[name];\n if (typeof value === \"string\") return value;\n if (Array.isArray(value)) return value.join(\" \");\n return undefined;\n}\n\n/**\n * Format number with K/M suffix.\n */\nfunction formatNumber(num: number): string {\n if (num >= 1000000) {\n return `${(num / 1000000).toFixed(1)}M`;\n }\n if (num >= 1000) {\n return `${(num / 1000).toFixed(1)}k`;\n }\n return String(num);\n}\n\n/**\n * Fetch repository data from GitHub API.\n */\nexport async function fetchRepoData(\n repo: string,\n options: Required<GitHubOptions>,\n): Promise<GitHubRepoData | null> {\n // Check cache\n if (options.cache) {\n const cached = repoCache.get(repo);\n if (cached && Date.now() - cached.timestamp < options.cacheTTL) {\n return cached.data;\n }\n }\n\n try {\n const headers: Record<string, string> = {\n Accept: \"application/vnd.github.v3+json\",\n \"User-Agent\": \"ox-content-github-plugin\",\n };\n\n if (options.token) {\n headers.Authorization = `Bearer ${options.token}`;\n }\n\n const response = await fetch(`https://api.github.com/repos/${repo}`, { headers });\n\n if (!response.ok) {\n console.warn(`Failed to fetch GitHub repo ${repo}: ${response.status}`);\n return null;\n }\n\n const data = (await response.json()) as GitHubRepoData;\n\n // Cache the result\n if (options.cache) {\n repoCache.set(repo, { data, timestamp: Date.now() });\n }\n\n return data;\n } catch (error) {\n console.warn(`Error fetching GitHub repo ${repo}:`, error);\n return null;\n }\n}\n\n/**\n * Create GitHub card element from repo data.\n */\nfunction createGitHubCard(repoData: GitHubRepoData): Element {\n const statsChildren: Element[\"children\"] = [];\n\n // Language\n if (repoData.language) {\n statsChildren.push({\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-language\"] },\n children: [\n {\n type: \"element\",\n tagName: \"span\",\n properties: {\n className: [\"ox-github-language-color\"],\n \"data-lang\": repoData.language.toLowerCase(),\n },\n children: [],\n },\n { type: \"text\", value: repoData.language },\n ],\n });\n }\n\n // Stars\n statsChildren.push({\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-stat\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Z\",\n },\n children: [],\n },\n ],\n },\n { type: \"text\", value: formatNumber(repoData.stargazers_count) },\n ],\n });\n\n // Forks\n statsChildren.push({\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-stat\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\",\n },\n children: [],\n },\n ],\n },\n { type: \"text\", value: formatNumber(repoData.forks_count) },\n ],\n });\n\n return {\n type: \"element\",\n tagName: \"a\",\n properties: {\n className: [\"ox-github-card\"],\n href: repoData.html_url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n children: [\n // Header\n {\n type: \"element\",\n tagName: \"div\",\n properties: { className: [\"ox-github-header\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n className: [\"ox-github-icon\"],\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\",\n },\n children: [],\n },\n ],\n },\n {\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-repo\"] },\n children: [{ type: \"text\", value: repoData.full_name }],\n },\n ],\n },\n // Description\n ...(repoData.description\n ? [\n {\n type: \"element\" as const,\n tagName: \"p\",\n properties: { className: [\"ox-github-description\"] },\n children: [{ type: \"text\" as const, value: repoData.description }],\n },\n ]\n : []),\n // Stats\n {\n type: \"element\",\n tagName: \"div\",\n properties: { className: [\"ox-github-stats\"] },\n children: statsChildren,\n },\n ],\n };\n}\n\n/**\n * Create fallback element when repo data is unavailable.\n */\nfunction createFallbackCard(repo: string): Element {\n return {\n type: \"element\",\n tagName: \"a\",\n properties: {\n className: [\"ox-github-card\", \"error\"],\n href: `https://github.com/${repo}`,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"div\",\n properties: { className: [\"ox-github-header\"] },\n children: [\n {\n type: \"element\",\n tagName: \"svg\",\n properties: {\n className: [\"ox-github-icon\"],\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n },\n children: [\n {\n type: \"element\",\n tagName: \"path\",\n properties: {\n d: \"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z\",\n },\n children: [],\n },\n ],\n },\n {\n type: \"element\",\n tagName: \"span\",\n properties: { className: [\"ox-github-repo\"] },\n children: [{ type: \"text\", value: repo }],\n },\n ],\n },\n ],\n };\n}\n\n/**\n * Collect all GitHub repos from HTML for pre-fetching.\n */\nexport async function collectGitHubRepos(html: string): Promise<string[]> {\n const repos: string[] = [];\n const repoPattern = /<github[^>]*\\s+repo=[\"']([^\"']+)[\"']/gi;\n\n let match;\n while ((match = repoPattern.exec(html)) !== null) {\n repos.push(match[1]);\n }\n\n return repos;\n}\n\n/**\n * Pre-fetch all GitHub repos data.\n */\nexport async function prefetchGitHubRepos(\n repos: string[],\n options?: GitHubOptions,\n): Promise<Map<string, GitHubRepoData | null>> {\n const mergedOptions = { ...defaultOptions, ...options };\n const results = new Map<string, GitHubRepoData | null>();\n\n await Promise.all(\n repos.map(async (repo) => {\n const data = await fetchRepoData(repo, mergedOptions);\n results.set(repo, data);\n }),\n );\n\n return results;\n}\n\n/**\n * Rehype plugin to transform GitHub components.\n */\nfunction rehypeGitHub(repoDataMap: Map<string, GitHubRepoData | null>) {\n return (tree: Root) => {\n const visit = (node: Root | Element) => {\n if (\"children\" in node) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n\n if (child.type === \"element\") {\n // Check for <GitHub> component\n if (child.tagName.toLowerCase() === \"github\") {\n const repo = getAttribute(child, \"repo\");\n\n if (repo) {\n const repoData = repoDataMap.get(repo);\n const cardElement = repoData\n ? createGitHubCard(repoData)\n : createFallbackCard(repo);\n node.children[i] = cardElement;\n }\n } else {\n visit(child);\n }\n }\n }\n }\n };\n\n visit(tree);\n };\n}\n\n/**\n * Transform GitHub components in HTML.\n */\nexport async function transformGitHub(\n html: string,\n repoDataMap?: Map<string, GitHubRepoData | null>,\n options?: GitHubOptions,\n): Promise<string> {\n // If no pre-fetched data, collect and fetch\n let dataMap = repoDataMap;\n if (!dataMap) {\n const repos = await collectGitHubRepos(html);\n dataMap = await prefetchGitHubRepos(repos, options);\n }\n\n const result = await unified()\n .use(rehypeParse, { fragment: true })\n .use(rehypeGitHub, dataMap)\n .use(rehypeStringify)\n .process(html);\n\n return String(result);\n}\n"],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/theme.ts","../src/types.ts","../src/environment.ts","../src/transform.ts","../src/docs.ts","../src/ssg.ts","../src/search.ts","../src/jsx-runtime.ts","../src/page-context.ts","../src/theme-renderer.ts","../src/plugins/tabs.ts","../src/plugins/youtube.ts","../src/plugins/github.ts","../src/plugins/ogp.ts","../src/plugins/mermaid.ts","../src/plugins/index.ts","../src/island/parse.ts","../src/og-image/types.ts","../src/og-image/browser.ts","../src/og-image/index.ts","../src/i18n.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|