@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.
Files changed (57) hide show
  1. package/dist/chunk.cjs +39 -49
  2. package/dist/github.cjs +323 -3
  3. package/dist/github.cjs.map +1 -0
  4. package/dist/github.mjs +2 -0
  5. package/dist/{github2.js → github2.mjs} +2 -3
  6. package/dist/github2.mjs.map +1 -0
  7. package/dist/index.cjs +467 -292
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.cts +79 -66
  10. package/dist/index.d.cts.map +1 -1
  11. package/dist/{index.d.ts → index.d.mts} +80 -67
  12. package/dist/index.d.mts.map +1 -0
  13. package/dist/{index.js → index.mjs} +479 -317
  14. package/dist/index.mjs.map +1 -0
  15. package/dist/mermaid.cjs +115 -3
  16. package/dist/mermaid.cjs.map +1 -0
  17. package/dist/{mermaid2.js → mermaid.mjs} +14 -6
  18. package/dist/mermaid.mjs.map +1 -0
  19. package/dist/mermaid2.mjs +2 -0
  20. package/dist/ogp.cjs +316 -3
  21. package/dist/ogp.cjs.map +1 -0
  22. package/dist/ogp.mjs +2 -0
  23. package/dist/{ogp2.js → ogp2.mjs} +2 -3
  24. package/dist/ogp2.mjs.map +1 -0
  25. package/dist/tabs.cjs +212 -3
  26. package/dist/tabs.cjs.map +1 -0
  27. package/dist/tabs.mjs +2 -0
  28. package/dist/{tabs2.js → tabs2.mjs} +2 -3
  29. package/dist/tabs2.mjs.map +1 -0
  30. package/dist/youtube.cjs +135 -3
  31. package/dist/youtube.cjs.map +1 -0
  32. package/dist/youtube.mjs +2 -0
  33. package/dist/{youtube2.js → youtube2.mjs} +2 -3
  34. package/dist/youtube2.mjs.map +1 -0
  35. package/package.json +61 -56
  36. package/dist/github.js +0 -3
  37. package/dist/github2.cjs +0 -313
  38. package/dist/github2.cjs.map +0 -1
  39. package/dist/github2.js.map +0 -1
  40. package/dist/index.d.ts.map +0 -1
  41. package/dist/index.js.map +0 -1
  42. package/dist/mermaid.js +0 -3
  43. package/dist/mermaid2.cjs +0 -92
  44. package/dist/mermaid2.cjs.map +0 -1
  45. package/dist/mermaid2.js.map +0 -1
  46. package/dist/ogp.js +0 -3
  47. package/dist/ogp2.cjs +0 -306
  48. package/dist/ogp2.cjs.map +0 -1
  49. package/dist/ogp2.js.map +0 -1
  50. package/dist/tabs.js +0 -3
  51. package/dist/tabs2.cjs +0 -203
  52. package/dist/tabs2.cjs.map +0 -1
  53. package/dist/tabs2.js.map +0 -1
  54. package/dist/youtube.js +0 -3
  55. package/dist/youtube2.cjs +0 -127
  56. package/dist/youtube2.cjs.map +0 -1
  57. 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
@@ -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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"}
@@ -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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"}
@@ -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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"}