fumapress 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/css/generated.css +217 -3
  2. package/dist/adapters/mdx.d.ts +1 -1
  3. package/dist/client.d.ts +2 -23
  4. package/dist/client.js +3 -9
  5. package/dist/components/blog.js +4 -4
  6. package/dist/components/image.d.ts +30 -0
  7. package/dist/components/image.js +143 -0
  8. package/dist/components/link.d.ts +25 -0
  9. package/dist/components/link.js +18 -0
  10. package/dist/components/provider.d.ts +6 -0
  11. package/dist/components/provider.js +39 -0
  12. package/dist/config.d.ts +73 -30
  13. package/dist/config.js +14 -7
  14. package/dist/image.d.ts +2 -0
  15. package/dist/image.js +2 -0
  16. package/dist/index.d.ts +2 -2
  17. package/dist/layouts/blog.d.ts +1 -1
  18. package/dist/layouts/blog.index.js +3 -3
  19. package/dist/layouts/blog.js +3 -3
  20. package/dist/layouts/blog.tags.js +2 -2
  21. package/dist/layouts/docs.d.ts +2 -2
  22. package/dist/layouts/home.d.ts +1 -1
  23. package/dist/layouts/notebook.d.ts +2 -2
  24. package/dist/layouts/root.d.ts +5 -3
  25. package/dist/layouts/root.js +13 -16
  26. package/dist/layouts/switch.d.ts +2 -2
  27. package/dist/lib/pathname.js +14 -0
  28. package/dist/lib/shared.d.ts +10 -15
  29. package/dist/lib/shared.js +68 -33
  30. package/dist/lib/types.d.ts +30 -16
  31. package/dist/node_modules/.pnpm/http-cache-semantics@4.2.0/node_modules/http-cache-semantics/index.js +596 -0
  32. package/dist/plugins/blog.d.ts +3 -6
  33. package/dist/plugins/blog.js +6 -6
  34. package/dist/plugins/flexsearch.d.ts +1 -1
  35. package/dist/plugins/image/self-hosted.client.js +40 -0
  36. package/dist/plugins/image/self-hosted.d.ts +29 -0
  37. package/dist/plugins/image/self-hosted.js +30 -0
  38. package/dist/plugins/image/self-hosted.utils.js +270 -0
  39. package/dist/plugins/image/vercel.client.js +34 -0
  40. package/dist/plugins/image/vercel.d.ts +39 -0
  41. package/dist/plugins/image/vercel.enhancer.d.ts +10 -0
  42. package/dist/plugins/image/vercel.enhancer.js +16 -0
  43. package/dist/plugins/image/vercel.js +30 -0
  44. package/dist/plugins/image/vercel.utils.d.ts +10 -0
  45. package/dist/plugins/image/vercel.utils.js +30 -0
  46. package/dist/plugins/link-validation.d.ts +24 -0
  47. package/dist/plugins/link-validation.js +30 -0
  48. package/dist/plugins/llms.txt.d.ts +1 -1
  49. package/dist/plugins/llms.txt.js +2 -2
  50. package/dist/plugins/openapi.d.ts +2 -0
  51. package/dist/plugins/openapi.js +8 -1
  52. package/dist/plugins/orama-search.d.ts +1 -1
  53. package/dist/plugins/sitemap.d.ts +196 -0
  54. package/dist/plugins/sitemap.js +90 -0
  55. package/dist/plugins/takumi.d.ts +1 -1
  56. package/dist/plugins/takumi.js +3 -4
  57. package/dist/router/fs.js +1 -1
  58. package/dist/router/index.d.ts +17 -0
  59. package/dist/{router.js → router/index.js} +41 -26
  60. package/dist/vite.js +10 -10
  61. package/package.json +27 -9
  62. package/dist/lib/join-pathname.js +0 -9
  63. package/dist/router.d.ts +0 -15
package/css/generated.css CHANGED
@@ -1,21 +1,48 @@
1
+ @source inline("!ctx");
2
+ @source inline("!sizes");
1
3
  @source inline("---spacing");
2
4
  @source inline("-translate-x-1/2");
5
+ @source inline("@default");
3
6
  @source inline("@orama/orama");
4
7
  @source inline("a");
8
+ @source inline("above");
5
9
  @source inline("absolutePath");
10
+ @source inline("accepts");
6
11
  @source inline("active:scale-95");
12
+ @source inline("actually");
13
+ @source inline("all");
14
+ @source inline("allSizes");
7
15
  @source inline("allTags");
16
+ @source inline("allowed");
17
+ @source inline("allows");
18
+ @source inline("always");
19
+ @source inline("and");
20
+ @source inline("and/or");
21
+ @source inline("any");
22
+ @source inline("app");
23
+ @source inline("are");
8
24
  @source inline("as");
25
+ @source inline("associated");
26
+ @source inline("assumes");
9
27
  @source inline("async");
28
+ @source inline("attribute");
29
+ @source inline("attributes");
10
30
  @source inline("await");
11
31
  @source inline("backToHome");
12
32
  @source inline("backdrop-blur-sm");
33
+ @source inline("base");
34
+ @source inline("basePathname");
35
+ @source inline("be");
36
+ @source inline("because");
37
+ @source inline("before");
38
+ @source inline("between");
13
39
  @source inline("bg-fd-card");
14
40
  @source inline("bg-fd-primary");
15
41
  @source inline("bg-fd-primary/10");
16
42
  @source inline("bg-fd-secondary/80");
17
43
  @source inline("blog");
18
44
  @source inline("blogPosts");
45
+ @source inline("blue");
19
46
  @source inline("body");
20
47
  @source inline("border");
21
48
  @source inline("border-2");
@@ -24,18 +51,35 @@
24
51
  @source inline("border-fd-primary");
25
52
  @source inline("border-y");
26
53
  @source inline("bottom-2");
54
+ @source inline("browsers");
55
+ @source inline("bug");
56
+ @source inline("buildImageUrl");
57
+ @source inline("but");
27
58
  @source inline("buttonVariants");
59
+ @source inline("by");
28
60
  @source inline("can");
61
+ @source inline("canOptimize");
62
+ @source inline("cannot");
63
+ @source inline("cases");
64
+ @source inline("cause");
65
+ @source inline("causes");
66
+ @source inline("change");
67
+ @source inline("check");
29
68
  @source inline("children");
30
69
  @source inline("class-variance-authority");
31
70
  @source inline("className");
32
71
  @source inline("client");
33
72
  @source inline("cn");
73
+ @source inline("component");
34
74
  @source inline("components");
75
+ @source inline("conditions");
35
76
  @source inline("config");
36
77
  @source inline("const");
37
78
  @source inline("content");
38
79
  @source inline("copied");
80
+ @source inline("copies");
81
+ @source inline("copy");
82
+ @source inline("copyright");
39
83
  @source inline("core:docs-layout");
40
84
  @source inline("core:home-layout");
41
85
  @source inline("core:notebook-layout");
@@ -57,7 +101,7 @@
57
101
  @source inline("createNotebookLayoutPage");
58
102
  @source inline("createRootLayout");
59
103
  @source inline("creationDate");
60
- @source inline("cssUrl");
104
+ @source inline("crossOrigin");
61
105
  @source inline("ctx");
62
106
  @source inline("current");
63
107
  @source inline("currentDate");
@@ -66,23 +110,38 @@
66
110
  @source inline("data-fd-home-layout-container");
67
111
  @source inline("data-version");
68
112
  @source inline("date");
113
+ @source inline("deal");
69
114
  @source inline("decoded");
70
115
  @source inline("decoration-fd-primary");
71
116
  @source inline("default");
117
+ @source inline("defaultQuality");
118
+ @source inline("defaultWidth");
72
119
  @source inline("defined");
120
+ @source inline("detail");
73
121
  @source inline("detect");
74
122
  @source inline("detector");
123
+ @source inline("deviceSizes");
75
124
  @source inline("do");
125
+ @source inline("documentation");
76
126
  @source inline("duration-150");
127
+ @source inline("eager");
128
+ @source inline("edge");
77
129
  @source inline("else");
78
130
  @source inline("empty");
79
131
  @source inline("empty:hidden");
80
132
  @source inline("en");
81
133
  @source inline("english");
134
+ @source inline("even");
135
+ @source inline("except");
82
136
  @source inline("export");
83
137
  @source inline("extends");
138
+ @source inline("eye");
84
139
  @source inline("false");
140
+ @source inline("fetch");
141
+ @source inline("fetchPriority");
142
+ @source inline("files");
85
143
  @source inline("find");
144
+ @source inline("first");
86
145
  @source inline("fixed");
87
146
  @source inline("flex");
88
147
  @source inline("flex-1");
@@ -90,47 +149,80 @@
90
149
  @source inline("flex-row");
91
150
  @source inline("flex-wrap");
92
151
  @source inline("flexsearchStaticClient");
152
+ @source inline("fn");
153
+ @source inline("following");
93
154
  @source inline("font-medium");
94
155
  @source inline("font-mono");
95
156
  @source inline("font-semibold");
96
157
  @source inline("for");
158
+ @source inline("framework");
159
+ @source inline("free");
97
160
  @source inline("from");
161
+ @source inline("fromPathname");
162
+ @source inline("full");
163
+ @source inline("fumadocs-core/framework");
98
164
  @source inline("fumadocs-core/i18n");
99
165
  @source inline("fumadocs-core/source");
100
166
  @source inline("fumadocs-core/toc");
101
167
  @source inline("fumadocs-ui/i18n");
102
168
  @source inline("fumapress");
103
169
  @source inline("function");
170
+ @source inline("furnished");
104
171
  @source inline("gap-1");
105
172
  @source inline("gap-2");
106
173
  @source inline("gap-4");
174
+ @source inline("generate");
175
+ @source inline("generatedProps");
107
176
  @source inline("getBlogContext");
108
177
  @source inline("getLayoutProps");
109
178
  @source inline("getPressContext");
110
179
  @source inline("getTags");
111
180
  @source inline("ghost");
112
181
  @source inline("githubUrl");
182
+ @source inline("given");
183
+ @source inline("global");
184
+ @source inline("green");
113
185
  @source inline("grid");
114
186
  @source inline("grid-cols-1");
115
187
  @source inline("grid-cols-2");
116
188
  @source inline("groupTags");
117
189
  @source inline("grouped");
118
190
  @source inline("h-12");
191
+ @source inline("height");
192
+ @source inline("hereby");
193
+ @source inline("high");
119
194
  @source inline("hook");
120
195
  @source inline("hooks");
196
+ @source inline("hostname");
121
197
  @source inline("hover:bg-fd-accent");
122
198
  @source inline("hover:text-fd-accent-foreground");
199
+ @source inline("how");
123
200
  @source inline("href");
201
+ @source inline("html");
202
+ @source inline("human");
203
+ @source inline("i");
124
204
  @source inline("i18n");
125
205
  @source inline("i18nProvider");
126
206
  @source inline("if");
207
+ @source inline("image");
208
+ @source inline("imageSizes");
209
+ @source inline("imageSrcSet");
210
+ @source inline("images");
211
+ @source inline("imagesrcset");
212
+ @source inline("immediately");
127
213
  @source inline("import");
128
214
  @source inline("in");
215
+ @source inline("included");
216
+ @source inline("including");
217
+ @source inline("incorrect");
129
218
  @source inline("indexPath");
219
+ @source inline("indicates");
130
220
  @source inline("inherit");
131
221
  @source inline("inheritLayoutProps");
132
222
  @source inline("inherited");
133
223
  @source inline("inline-flex");
224
+ @source inline("integer");
225
+ @source inline("intended");
134
226
  @source inline("interface");
135
227
  @source inline("is");
136
228
  @source inline("isBlog");
@@ -141,11 +233,15 @@
141
233
  @source inline("items-center");
142
234
  @source inline("items-start");
143
235
  @source inline("joinPathname");
236
+ @source inline("js");
237
+ @source inline("keep");
144
238
  @source inline("key");
145
239
  @source inline("keyof");
240
+ @source inline("kind");
146
241
  @source inline("label");
147
242
  @source inline("lang");
148
243
  @source inline("language");
244
+ @source inline("last");
149
245
  @source inline("lastModified");
150
246
  @source inline("layout");
151
247
  @source inline("layoutData");
@@ -154,9 +250,14 @@
154
250
  @source inline("left-1/2");
155
251
  @source inline("length");
156
252
  @source inline("let");
157
- @source inline("loaderConfig");
253
+ @source inline("level");
254
+ @source inline("like");
255
+ @source inline("limitation");
256
+ @source inline("link");
257
+ @source inline("loading");
158
258
  @source inline("locale");
159
259
  @source inline("lucide-react");
260
+ @source inline("magnifying");
160
261
  @source inline("markdownUrl");
161
262
  @source inline("matchingBlogPosts");
162
263
  @source inline("max-h-[min(600px,calc(100vh---spacing(30)))]");
@@ -168,15 +269,32 @@
168
269
  @source inline("md:grid-cols-3");
169
270
  @source inline("md:grid-cols-4");
170
271
  @source inline("md:p-8");
272
+ @source inline("means");
171
273
  @source inline("min-h-screen");
172
274
  @source inline("min-w-0");
275
+ @source inline("minIndex");
276
+ @source inline("minRatio");
277
+ @source inline("minSize");
278
+ @source inline("more");
279
+ @source inline("most");
173
280
  @source inline("ms-auto");
174
281
  @source inline("mt-4");
175
282
  @source inline("mt-6");
176
283
  @source inline("mt-auto");
284
+ @source inline("multiple");
177
285
  @source inline("mx-auto");
286
+ @source inline("name");
287
+ @source inline("navigation");
288
+ @source inline("never");
178
289
  @source inline("new");
290
+ @source inline("normal");
291
+ @source inline("not");
292
+ @source inline("notice");
293
+ @source inline("number");
294
+ @source inline("object");
295
+ @source inline("obtaining");
179
296
  @source inline("of");
297
+ @source inline("omit");
180
298
  @source inline("on");
181
299
  @source inline("onClick");
182
300
  @source inline("onCopy");
@@ -184,26 +302,49 @@
184
302
  @source inline("onSearchChange");
185
303
  @source inline("only");
186
304
  @source inline("open");
305
+ @source inline("optimized");
187
306
  @source inline("option");
188
307
  @source inline("options");
308
+ @source inline("or");
189
309
  @source inline("orderedPosts");
190
310
  @source inline("outer");
191
311
  @source inline("overline");
312
+ @source inline("p");
192
313
  @source inline("p-1");
193
314
  @source inline("p-4");
194
315
  @source inline("page");
195
316
  @source inline("pageProps");
196
317
  @source inline("panelButtonVariants");
318
+ @source inline("params");
319
+ @source inline("parsed");
320
+ @source inline("path");
321
+ @source inline("path/hash");
322
+ @source inline("pathname");
197
323
  @source inline("payload");
198
324
  @source inline("pb-6");
325
+ @source inline("percent");
326
+ @source inline("percentSizes");
327
+ @source inline("permission");
328
+ @source inline("permit");
329
+ @source inline("person");
330
+ @source inline("persons");
331
+ @source inline("portions");
199
332
  @source inline("posts");
333
+ @source inline("potentially");
334
+ @source inline("preload");
335
+ @source inline("preloadElement");
336
+ @source inline("preloadOptions");
200
337
  @source inline("primary");
338
+ @source inline("production");
339
+ @source inline("prop");
201
340
  @source inline("props");
202
341
  @source inline("prose");
342
+ @source inline("provider");
203
343
  @source inline("providerProps");
204
344
  @source inline("pt-2");
205
345
  @source inline("pt-3.5");
206
346
  @source inline("pt-4");
347
+ @source inline("push");
207
348
  @source inline("px-1.5");
208
349
  @source inline("px-2");
209
350
  @source inline("px-3");
@@ -212,47 +353,89 @@
212
353
  @source inline("py-1");
213
354
  @source inline("py-2");
214
355
  @source inline("py-6");
356
+ @source inline("quality");
215
357
  @source inline("query");
358
+ @source inline("query-only");
216
359
  @source inline("r");
217
360
  @source inline("react");
361
+ @source inline("react-dom");
362
+ @source inline("received");
363
+ @source inline("red");
364
+ @source inline("reference");
365
+ @source inline("referrerPolicy");
366
+ @source inline("refresh");
218
367
  @source inline("rel");
368
+ @source inline("relative");
369
+ @source inline("relevant");
219
370
  @source inline("render");
220
371
  @source inline("renderCtx");
221
372
  @source inline("renderRootMeta");
222
373
  @source inline("replacements");
374
+ @source inline("reproduced");
375
+ @source inline("requests");
376
+ @source inline("resolution");
377
+ @source inline("resolve");
223
378
  @source inline("resolved");
379
+ @source inline("rest");
224
380
  @source inline("result");
225
381
  @source inline("return");
382
+ @source inline("rights");
226
383
  @source inline("root");
227
384
  @source inline("rotate-180");
228
385
  @source inline("rounded-2xl");
229
386
  @source inline("rounded-lg");
230
387
  @source inline("rounded-xl");
388
+ @source inline("router");
389
+ @source inline("run");
390
+ @source inline("s");
391
+ @source inline("satisfies");
392
+ @source inline("say");
231
393
  @source inline("schema");
232
394
  @source inline("schemaId");
395
+ @source inline("screens");
396
+ @source inline("scroll");
233
397
  @source inline("search");
398
+ @source inline("see");
399
+ @source inline("sell");
234
400
  @source inline("server");
235
401
  @source inline("setOpen");
236
402
  @source inline("shadow-inner");
237
403
  @source inline("shadow-md");
238
404
  @source inline("shadow-sm");
405
+ @source inline("shall");
406
+ @source inline("should");
239
407
  @source inline("shrink-0");
408
+ @source inline("significantly");
240
409
  @source inline("size-3.5");
241
410
  @source inline("size-4");
242
411
  @source inline("size-6");
412
+ @source inline("sizes");
243
413
  @source inline("sm:border");
244
414
  @source inline("sm:bottom-4");
245
415
  @source inline("sm:grid-cols-3");
246
416
  @source inline("sm:max-w-[400px]");
247
417
  @source inline("sm:rounded-xl");
248
418
  @source inline("so");
419
+ @source inline("software");
420
+ @source inline("something");
249
421
  @source inline("source");
422
+ @source inline("specified");
250
423
  @source inline("specify");
424
+ @source inline("src");
425
+ @source inline("srcSet");
426
+ @source inline("srcset");
427
+ @source inline("start");
251
428
  @source inline("static");
252
429
  @source inline("string");
253
430
  @source inline("styleTag");
254
- @source inline("styles");
431
+ @source inline("stylesHref");
432
+ @source inline("stylesInline");
255
433
  @source inline("stylesheet");
434
+ @source inline("subject");
435
+ @source inline("subset");
436
+ @source inline("substantial");
437
+ @source inline("support");
438
+ @source inline("supported");
256
439
  @source inline("sure");
257
440
  @source inline("swap");
258
441
  @source inline("t");
@@ -261,6 +444,7 @@
261
444
  @source inline("tags");
262
445
  @source inline("tagsInTotal");
263
446
  @source inline("tagsPath");
447
+ @source inline("takes");
264
448
  @source inline("text");
265
449
  @source inline("text-2xl");
266
450
  @source inline("text-3xl");
@@ -270,12 +454,17 @@
270
454
  @source inline("text-fd-primary-foreground");
271
455
  @source inline("text-sm");
272
456
  @source inline("text-xs");
457
+ @source inline("that");
273
458
  @source inline("the");
459
+ @source inline("they");
274
460
  @source inline("this");
461
+ @source inline("those");
462
+ @source inline("though");
275
463
  @source inline("throw");
276
464
  @source inline("title");
277
465
  @source inline("to");
278
466
  @source inline("toc");
467
+ @source inline("took");
279
468
  @source inline("transition-all");
280
469
  @source inline("transition-colors");
281
470
  @source inline("transition-transform");
@@ -286,22 +475,47 @@
286
475
  @source inline("truncate");
287
476
  @source inline("type");
288
477
  @source inline("typeof");
478
+ @source inline("undefined");
479
+ @source inline("unnecessary");
480
+ @source inline("unoptimized");
289
481
  @source inline("unstable_notFound");
482
+ @source inline("updated");
483
+ @source inline("updates");
290
484
  @source inline("url");
291
485
  @source inline("use");
292
486
  @source inline("useCopyButton");
293
487
  @source inline("useDocsSearch");
294
488
  @source inline("useI18n");
295
489
  @source inline("useMemo");
490
+ @source inline("useRouter");
296
491
  @source inline("useState");
297
492
  @source inline("useTOCItems");
298
493
  @source inline("useTranslations");
299
494
  @source inline("useTranslationsBase");
495
+ @source inline("used");
496
+ @source inline("v");
497
+ @source inline("valid");
300
498
  @source inline("value");
499
+ @source inline("values");
301
500
  @source inline("variant");
501
+ @source inline("viewport");
502
+ @source inline("viewportWidthRe");
503
+ @source inline("visually");
504
+ @source inline("vs");
505
+ @source inline("vw");
506
+ @source inline("w");
302
507
  @source inline("w-full");
303
508
  @source inline("waku");
509
+ @source inline("wasteful");
510
+ @source inline("we");
511
+ @source inline("whom");
512
+ @source inline("width");
513
+ @source inline("widths");
514
+ @source inline("will");
515
+ @source inline("without");
516
+ @source inline("would");
304
517
  @source inline("wrapper");
518
+ @source inline("x");
305
519
  @source inline("xl:grid-cols-4");
306
520
  @source inline("xl:grid-cols-6");
307
521
  @source inline("you");
@@ -5,7 +5,7 @@ import { MDXComponents } from "mdx/types";
5
5
 
6
6
  //#region src/adapters/mdx.d.ts
7
7
  interface MdxAdapterOptions<C extends ConfigContext = ConfigContext> {
8
- getMdxComponents?: (this: AppContext<C>, page: C["loaderConfig"]["page"]) => Awaitable<MDXComponents>;
8
+ getMdxComponents?: (this: AppContext<C>, page: C["page"]) => Awaitable<MDXComponents>;
9
9
  }
10
10
  declare function fumadocsMdx<C extends ConfigContext = ConfigContext>(options?: MdxAdapterOptions<C>): Adapter<C>;
11
11
  //#endregion
package/dist/client.d.ts CHANGED
@@ -1,23 +1,7 @@
1
+ import { Link, LinkProps } from "./components/link.js";
1
2
  import { Unstable_ChangeRouteCallback, Unstable_ChangeRouteEvent } from "waku/router/client";
2
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
- import { ComponentProps, ReactNode, TransitionFunction } from "react";
4
3
 
5
4
  //#region src/client.d.ts
6
- interface LinkProps extends ComponentProps<"a"> {
7
- /**
8
- * indicates if the link should scroll or not on navigation
9
- * - `true`: always scroll
10
- * - `false`: never scroll
11
- * - `undefined`: scroll on path/hash change (not on query-only change)
12
- */
13
- scroll?: boolean;
14
- unstable_pending?: ReactNode;
15
- unstable_notPending?: ReactNode;
16
- unstable_prefetchOnEnter?: boolean;
17
- unstable_prefetchOnView?: boolean;
18
- unstable_startTransition?: ((fn: TransitionFunction) => void) | undefined;
19
- href: string;
20
- }
21
5
  interface Router {
22
6
  push: (to: string, options?: {
23
7
  /**
@@ -46,11 +30,6 @@ interface Router {
46
30
  query: string;
47
31
  hash: string;
48
32
  }
49
- declare function Link({
50
- href,
51
- children,
52
- ...props
53
- }: LinkProps): _$react_jsx_runtime0.JSX.Element;
54
33
  declare function useRouter(): Router;
55
34
  //#endregion
56
- export { Link, LinkProps, Router, useRouter };
35
+ export { Link, type LinkProps, Router, useRouter };
package/dist/client.js CHANGED
@@ -1,14 +1,8 @@
1
1
  "use client";
2
- import { Link as Link$1, useRouter as useRouter$1 } from "waku/router/client";
3
- import { jsx } from "react/jsx-runtime";
2
+ import { Link } from "./components/link.js";
3
+ import { useRouter as useRouter$1 } from "waku/router/client";
4
4
  //#region src/client.tsx
5
- function Link({ href, children, ...props }) {
6
- return /* @__PURE__ */ jsx(Link$1, {
7
- to: href,
8
- ...props,
9
- children
10
- });
11
- }
5
+ /** tiny wrapper of `waku` */
12
6
  function useRouter() {
13
7
  return useRouter$1();
14
8
  }
@@ -1,16 +1,16 @@
1
+ import { Link } from "./link.js";
1
2
  import { getCreationDate, getPressContext } from "../lib/shared.js";
2
3
  import { cn } from "../lib/cn.js";
3
4
  import { I18nLabel } from "./i18n.js";
4
- import { joinPathname } from "../lib/join-pathname.js";
5
+ import { joinPathname } from "../lib/pathname.js";
5
6
  import { getBlogContext } from "../plugins/blog.js";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
7
- import { Link } from "waku";
8
8
  import { CornerLeftUpIcon } from "lucide-react";
9
9
  import { buttonVariants } from "fumadocs-ui/components/ui/button";
10
10
  //#region src/components/blog.tsx
11
11
  function BlogItem({ page, date }) {
12
12
  return /* @__PURE__ */ jsxs(Link, {
13
- to: page.url,
13
+ href: page.url,
14
14
  className: "flex flex-col bg-fd-card rounded-2xl border shadow-sm p-4 transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground",
15
15
  children: [
16
16
  /* @__PURE__ */ jsx("p", {
@@ -52,7 +52,7 @@ function LinkToHome({ lang }) {
52
52
  const { indexPath } = getBlogContext();
53
53
  if (!indexPath) return;
54
54
  return /* @__PURE__ */ jsxs(Link, {
55
- to: lang ? joinPathname(lang, indexPath) : indexPath,
55
+ href: lang ? joinPathname(lang, indexPath) : indexPath,
56
56
  className: cn(buttonVariants({
57
57
  variant: "ghost",
58
58
  className: "text-fd-muted-foreground gap-2"
@@ -0,0 +1,30 @@
1
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
+ import { ImgHTMLAttributes, ReactNode } from "react";
3
+
4
+ //#region src/components/image.d.ts
5
+ interface StaticImageData {
6
+ src: string;
7
+ width: number;
8
+ height: number;
9
+ }
10
+ interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, "src"> {
11
+ src?: string | StaticImageData;
12
+ /** a value between 1-100, the quality of optimized image */
13
+ quality?: number;
14
+ /** Act like a normal `<img>` tag, default to `false` except for SVG images */
15
+ unoptimized?: boolean;
16
+ /** Preload the image @default true */
17
+ preload?: boolean;
18
+ }
19
+ declare function Image({
20
+ src: _src,
21
+ width: _width,
22
+ height: _height,
23
+ sizes,
24
+ quality,
25
+ unoptimized,
26
+ preload,
27
+ ...rest
28
+ }: ImageProps): _$react_jsx_runtime0.JSX.Element;
29
+ //#endregion
30
+ export { Image, ImageProps, StaticImageData };