blume 1.0.3 → 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 (126) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/dist/cli/index.js +13784 -10579
  3. package/dist/cli/index.js.map +93 -61
  4. package/dist/types/core/config-input.d.ts +87 -8
  5. package/dist/types/core/data.d.ts +21 -0
  6. package/dist/types/core/deployment-env.d.ts +6 -0
  7. package/dist/types/core/diagnostics.d.ts +23 -0
  8. package/dist/types/core/i18n-ui.d.ts +140 -140
  9. package/dist/types/core/schema.d.ts +549 -370
  10. package/dist/types/core/sources/types.d.ts +3 -1
  11. package/dist/types/core/standard-schema.d.ts +41 -0
  12. package/dist/types/core/types.d.ts +23 -0
  13. package/dist/types/og/card.d.ts +63 -0
  14. package/dist/types/og/dimensions.d.ts +12 -0
  15. package/dist/types/openapi/references.d.ts +12 -7
  16. package/docs/01-quickstart.mdx +1 -1
  17. package/docs/02-deployment.mdx +9 -1
  18. package/docs/advanced/api-reference.mdx +22 -3
  19. package/docs/advanced/changelog.mdx +1 -1
  20. package/docs/advanced/skills.mdx +1 -1
  21. package/docs/configuration/ai.mdx +1 -1
  22. package/docs/configuration/customization.mdx +1 -1
  23. package/docs/configuration/export.mdx +1 -1
  24. package/docs/configuration/index.mdx +21 -1
  25. package/docs/configuration/search.mdx +28 -1
  26. package/docs/configuration/seo.mdx +40 -2
  27. package/docs/configuration/theming.mdx +1 -1
  28. package/docs/content/components.mdx +15 -2
  29. package/docs/content/index.mdx +1 -1
  30. package/docs/content/meta.mdx +1 -1
  31. package/docs/content/navigation.mdx +11 -1
  32. package/docs/content/sources.mdx +1 -1
  33. package/docs/content/syntax.mdx +116 -4
  34. package/docs/reference/cli.mdx +79 -1
  35. package/docs/reference/frontmatter.mdx +29 -1
  36. package/package.json +3 -3
  37. package/skills/blume-migrate/SKILL.md +170 -0
  38. package/skills/blume-migrate/assets/oxfmt@0.55.0.patch +20 -0
  39. package/skills/blume-migrate/references/docusaurus.md +95 -0
  40. package/skills/blume-migrate/references/fumadocs.md +95 -0
  41. package/skills/blume-migrate/references/mintlify.md +156 -0
  42. package/skills/blume-migrate/references/monorepo.md +224 -0
  43. package/skills/blume-migrate/references/nextra.md +76 -0
  44. package/skills/blume-migrate/references/starlight.md +116 -0
  45. package/skills/blume-migrate/scripts/mintlify-codemod.mjs +478 -0
  46. package/src/ai/llms.ts +15 -0
  47. package/src/astro/adapter-root.ts +70 -0
  48. package/src/astro/component-slots.ts +3 -2
  49. package/src/astro/generate.ts +132 -42
  50. package/src/astro/index.ts +1 -0
  51. package/src/astro/pages.ts +18 -3
  52. package/src/astro/templates.ts +158 -56
  53. package/src/audit/agent.ts +114 -0
  54. package/src/audit/catalog.ts +826 -0
  55. package/src/audit/checks/assets.ts +177 -0
  56. package/src/audit/checks/content.ts +231 -0
  57. package/src/audit/checks/duplicates.ts +131 -0
  58. package/src/audit/checks/i18n.ts +246 -0
  59. package/src/audit/checks/indexability.ts +213 -0
  60. package/src/audit/checks/links.ts +223 -0
  61. package/src/audit/checks/llms.ts +135 -0
  62. package/src/audit/checks/network.ts +272 -0
  63. package/src/audit/checks/og-image.ts +113 -0
  64. package/src/audit/checks/redirects.ts +87 -0
  65. package/src/audit/checks/robots.ts +114 -0
  66. package/src/audit/checks/sitemap.ts +229 -0
  67. package/src/audit/checks/social.ts +238 -0
  68. package/src/audit/crawl.ts +259 -0
  69. package/src/audit/graph.ts +74 -0
  70. package/src/audit/html.ts +54 -0
  71. package/src/audit/image-size.ts +63 -0
  72. package/src/audit/locate.ts +33 -0
  73. package/src/audit/redirects.ts +74 -0
  74. package/src/audit/report.ts +278 -0
  75. package/src/audit/run.ts +198 -0
  76. package/src/audit/snapshot.ts +189 -0
  77. package/src/audit/types.ts +214 -0
  78. package/src/audit/url.ts +103 -0
  79. package/src/cli/commands/audit.ts +205 -0
  80. package/src/cli/commands/build.ts +51 -12
  81. package/src/cli/index.ts +2 -0
  82. package/src/components/content/Callout.astro +8 -2
  83. package/src/components/content/Prompt.astro +25 -13
  84. package/src/components/content/Tabs.astro +98 -15
  85. package/src/components/layout/Breadcrumbs.astro +1 -1
  86. package/src/components/layout/Header.astro +5 -8
  87. package/src/components/layout/Logo.astro +13 -1
  88. package/src/components/layout/PageFeedback.astro +2 -2
  89. package/src/components/layout/PageLayout.astro +9 -9
  90. package/src/components/layout/Pagination.astro +7 -7
  91. package/src/components/layout/RootLayout.astro +9 -11
  92. package/src/components/layout/Search.astro +36 -7
  93. package/src/components/layout/TableOfContents.astro +1 -1
  94. package/src/components/layout/nav-utils.ts +9 -7
  95. package/src/components/openapi/Authorization.astro +80 -0
  96. package/src/components/openapi/Operation.astro +19 -1
  97. package/src/components/openapi/ParametersTable.astro +1 -1
  98. package/src/components/openapi/security.ts +201 -0
  99. package/src/components/openapi/snippets.ts +42 -13
  100. package/src/core/config-input.ts +94 -8
  101. package/src/core/data.ts +18 -2
  102. package/src/core/deployment-env.ts +9 -0
  103. package/src/core/diagnostics.ts +59 -12
  104. package/src/core/links.ts +2 -91
  105. package/src/core/nav-diagnostics.ts +48 -4
  106. package/src/core/navigation.ts +55 -13
  107. package/src/core/probe.ts +136 -0
  108. package/src/core/project-graph.ts +8 -0
  109. package/src/core/schema.ts +100 -1
  110. package/src/core/sources/normalize.ts +198 -25
  111. package/src/core/sources/types.ts +3 -1
  112. package/src/core/sources/watch.ts +5 -0
  113. package/src/core/standard-schema.ts +54 -0
  114. package/src/core/types.ts +23 -0
  115. package/src/deploy/adapter-output.ts +27 -15
  116. package/src/deploy/headers.ts +66 -0
  117. package/src/deploy/redirects.ts +49 -9
  118. package/src/markdown/index.ts +2 -0
  119. package/src/markdown/language-icon.ts +2 -1
  120. package/src/markdown/table-wrap.ts +43 -0
  121. package/src/og/card.ts +128 -36
  122. package/src/og/index.ts +1 -1
  123. package/src/og/logo.ts +21 -0
  124. package/src/openapi/references.ts +19 -16
  125. package/src/search/popular.ts +33 -0
  126. package/src/theme/entry.ts +56 -6
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { ComponentMarkdown } from "../ai/component-markdown.ts";
3
3
  import type { ContentSource } from "./sources/types.ts";
4
+ import type { StandardSchema } from "./standard-schema.ts";
4
5
  declare const hydrationMode: z.ZodEnum<["load", "idle", "visible", "media", "only"]>;
5
6
  export type HydrationMode = z.infer<typeof hydrationMode>;
6
7
  /** Frontmatter accepted on any content page. */
@@ -43,12 +44,12 @@ declare const pageMetaBaseSchema: z.ZodObject<{
43
44
  version: z.ZodOptional<z.ZodString>;
44
45
  }, "strict", z.ZodTypeAny, {
45
46
  date?: string | undefined;
46
- category?: string | undefined;
47
47
  version?: string | undefined;
48
+ category?: string | undefined;
48
49
  }, {
49
50
  date?: string | Date | undefined;
50
- category?: string | undefined;
51
51
  version?: string | undefined;
52
+ category?: string | undefined;
52
53
  }>>;
53
54
  /** Publish date for feed-backed content like blog/changelog. */
54
55
  date: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
@@ -69,8 +70,8 @@ declare const pageMetaBaseSchema: z.ZodObject<{
69
70
  boost?: number | undefined;
70
71
  tags?: string[] | undefined;
71
72
  }, {
72
- boost?: number | undefined;
73
73
  exclude?: boolean | undefined;
74
+ boost?: number | undefined;
74
75
  tags?: string[] | undefined;
75
76
  }>>;
76
77
  seo: z.ZodDefault<z.ZodObject<{
@@ -92,19 +93,19 @@ declare const pageMetaBaseSchema: z.ZodObject<{
92
93
  title?: string | undefined;
93
94
  image?: string | undefined;
94
95
  description?: string | undefined;
95
- canonical?: string | undefined;
96
96
  x?: {
97
97
  creator?: string | undefined;
98
98
  } | undefined;
99
+ canonical?: string | undefined;
99
100
  }, {
100
101
  title?: string | undefined;
101
102
  image?: string | undefined;
102
103
  description?: string | undefined;
103
- noindex?: boolean | undefined;
104
- canonical?: string | undefined;
105
104
  x?: {
106
105
  creator?: string | undefined;
107
106
  } | undefined;
107
+ noindex?: boolean | undefined;
108
+ canonical?: string | undefined;
108
109
  }>>;
109
110
  sidebar: z.ZodDefault<z.ZodObject<{
110
111
  badge: z.ZodOptional<z.ZodString>;
@@ -115,24 +116,27 @@ declare const pageMetaBaseSchema: z.ZodObject<{
115
116
  }, "strict", z.ZodTypeAny, {
116
117
  hidden: boolean;
117
118
  icon?: string | undefined;
118
- badge?: string | undefined;
119
119
  label?: string | undefined;
120
120
  order?: number | undefined;
121
+ badge?: string | undefined;
121
122
  }, {
122
- hidden?: boolean | undefined;
123
123
  icon?: string | undefined;
124
- badge?: string | undefined;
125
124
  label?: string | undefined;
126
125
  order?: number | undefined;
126
+ hidden?: boolean | undefined;
127
+ badge?: string | undefined;
127
128
  }>>;
128
129
  slug: z.ZodOptional<z.ZodString>;
129
130
  title: z.ZodOptional<z.ZodString>;
130
131
  type: z.ZodOptional<z.ZodString>;
131
132
  }, "strict", z.ZodTypeAny, {
132
- deprecated: boolean;
133
- draft: boolean;
134
- hidden: boolean;
135
- noindex: boolean;
133
+ sidebar: {
134
+ hidden: boolean;
135
+ icon?: string | undefined;
136
+ label?: string | undefined;
137
+ order?: number | undefined;
138
+ badge?: string | undefined;
139
+ };
136
140
  search: {
137
141
  exclude: boolean;
138
142
  boost?: number | undefined;
@@ -143,21 +147,27 @@ declare const pageMetaBaseSchema: z.ZodObject<{
143
147
  title?: string | undefined;
144
148
  image?: string | undefined;
145
149
  description?: string | undefined;
146
- canonical?: string | undefined;
147
150
  x?: {
148
151
  creator?: string | undefined;
149
152
  } | undefined;
153
+ canonical?: string | undefined;
150
154
  };
151
- sidebar: {
152
- hidden: boolean;
153
- icon?: string | undefined;
154
- badge?: string | undefined;
155
- label?: string | undefined;
156
- order?: number | undefined;
157
- };
155
+ deprecated: boolean;
156
+ draft: boolean;
157
+ hidden: boolean;
158
+ noindex: boolean;
158
159
  type?: string | undefined;
159
160
  title?: string | undefined;
160
161
  date?: string | undefined;
162
+ icon?: string | undefined;
163
+ description?: string | undefined;
164
+ lastModified?: string | undefined;
165
+ slug?: string | undefined;
166
+ changelog?: {
167
+ date?: string | undefined;
168
+ version?: string | undefined;
169
+ category?: string | undefined;
170
+ } | undefined;
161
171
  authors?: string | z.objectOutputType<{
162
172
  avatar: z.ZodOptional<z.ZodString>;
163
173
  image: z.ZodOptional<z.ZodString>;
@@ -169,65 +179,56 @@ declare const pageMetaBaseSchema: z.ZodObject<{
169
179
  name: z.ZodString;
170
180
  url: z.ZodOptional<z.ZodString>;
171
181
  }, z.ZodUnknown, "strip">)[] | undefined;
172
- changelog?: {
173
- date?: string | undefined;
174
- category?: string | undefined;
175
- version?: string | undefined;
176
- } | undefined;
177
- description?: string | undefined;
178
- icon?: string | undefined;
179
- lastModified?: string | undefined;
180
- slug?: string | undefined;
181
182
  }, {
182
183
  type?: string | undefined;
183
184
  title?: string | undefined;
184
185
  date?: string | Date | undefined;
185
- authors?: string | z.objectInputType<{
186
- avatar: z.ZodOptional<z.ZodString>;
187
- image: z.ZodOptional<z.ZodString>;
188
- name: z.ZodString;
189
- url: z.ZodOptional<z.ZodString>;
190
- }, z.ZodUnknown, "strip"> | (string | z.objectInputType<{
191
- avatar: z.ZodOptional<z.ZodString>;
192
- image: z.ZodOptional<z.ZodString>;
193
- name: z.ZodString;
194
- url: z.ZodOptional<z.ZodString>;
195
- }, z.ZodUnknown, "strip">)[] | undefined;
196
- changelog?: {
197
- date?: string | Date | undefined;
198
- category?: string | undefined;
199
- version?: string | undefined;
200
- } | undefined;
201
- deprecated?: boolean | undefined;
202
- description?: string | undefined;
203
- draft?: boolean | undefined;
204
- hidden?: boolean | undefined;
205
186
  icon?: string | undefined;
187
+ description?: string | undefined;
206
188
  lastModified?: string | Date | undefined;
207
- noindex?: boolean | undefined;
189
+ slug?: string | undefined;
190
+ sidebar?: {
191
+ icon?: string | undefined;
192
+ label?: string | undefined;
193
+ order?: number | undefined;
194
+ hidden?: boolean | undefined;
195
+ badge?: string | undefined;
196
+ } | undefined;
208
197
  search?: {
209
- boost?: number | undefined;
210
198
  exclude?: boolean | undefined;
199
+ boost?: number | undefined;
211
200
  tags?: string[] | undefined;
212
201
  } | undefined;
202
+ changelog?: {
203
+ date?: string | Date | undefined;
204
+ version?: string | undefined;
205
+ category?: string | undefined;
206
+ } | undefined;
213
207
  seo?: {
214
208
  title?: string | undefined;
215
209
  image?: string | undefined;
216
210
  description?: string | undefined;
217
- noindex?: boolean | undefined;
218
- canonical?: string | undefined;
219
211
  x?: {
220
212
  creator?: string | undefined;
221
213
  } | undefined;
214
+ noindex?: boolean | undefined;
215
+ canonical?: string | undefined;
222
216
  } | undefined;
223
- sidebar?: {
224
- hidden?: boolean | undefined;
225
- icon?: string | undefined;
226
- badge?: string | undefined;
227
- label?: string | undefined;
228
- order?: number | undefined;
229
- } | undefined;
230
- slug?: string | undefined;
217
+ deprecated?: boolean | undefined;
218
+ authors?: string | z.objectInputType<{
219
+ avatar: z.ZodOptional<z.ZodString>;
220
+ image: z.ZodOptional<z.ZodString>;
221
+ name: z.ZodString;
222
+ url: z.ZodOptional<z.ZodString>;
223
+ }, z.ZodUnknown, "strip"> | (string | z.objectInputType<{
224
+ avatar: z.ZodOptional<z.ZodString>;
225
+ image: z.ZodOptional<z.ZodString>;
226
+ name: z.ZodString;
227
+ url: z.ZodOptional<z.ZodString>;
228
+ }, z.ZodUnknown, "strip">)[] | undefined;
229
+ draft?: boolean | undefined;
230
+ hidden?: boolean | undefined;
231
+ noindex?: boolean | undefined;
231
232
  }>;
232
233
  export declare const pageMetaSchema: z.ZodObject<{
233
234
  /** Post author(s) for blog/changelog content; preserved, not yet rendered. */
@@ -268,12 +269,12 @@ export declare const pageMetaSchema: z.ZodObject<{
268
269
  version: z.ZodOptional<z.ZodString>;
269
270
  }, "strict", z.ZodTypeAny, {
270
271
  date?: string | undefined;
271
- category?: string | undefined;
272
272
  version?: string | undefined;
273
+ category?: string | undefined;
273
274
  }, {
274
275
  date?: string | Date | undefined;
275
- category?: string | undefined;
276
276
  version?: string | undefined;
277
+ category?: string | undefined;
277
278
  }>>;
278
279
  /** Publish date for feed-backed content like blog/changelog. */
279
280
  date: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
@@ -294,8 +295,8 @@ export declare const pageMetaSchema: z.ZodObject<{
294
295
  boost?: number | undefined;
295
296
  tags?: string[] | undefined;
296
297
  }, {
297
- boost?: number | undefined;
298
298
  exclude?: boolean | undefined;
299
+ boost?: number | undefined;
299
300
  tags?: string[] | undefined;
300
301
  }>>;
301
302
  seo: z.ZodDefault<z.ZodObject<{
@@ -317,19 +318,19 @@ export declare const pageMetaSchema: z.ZodObject<{
317
318
  title?: string | undefined;
318
319
  image?: string | undefined;
319
320
  description?: string | undefined;
320
- canonical?: string | undefined;
321
321
  x?: {
322
322
  creator?: string | undefined;
323
323
  } | undefined;
324
+ canonical?: string | undefined;
324
325
  }, {
325
326
  title?: string | undefined;
326
327
  image?: string | undefined;
327
328
  description?: string | undefined;
328
- noindex?: boolean | undefined;
329
- canonical?: string | undefined;
330
329
  x?: {
331
330
  creator?: string | undefined;
332
331
  } | undefined;
332
+ noindex?: boolean | undefined;
333
+ canonical?: string | undefined;
333
334
  }>>;
334
335
  sidebar: z.ZodDefault<z.ZodObject<{
335
336
  badge: z.ZodOptional<z.ZodString>;
@@ -340,24 +341,27 @@ export declare const pageMetaSchema: z.ZodObject<{
340
341
  }, "strict", z.ZodTypeAny, {
341
342
  hidden: boolean;
342
343
  icon?: string | undefined;
343
- badge?: string | undefined;
344
344
  label?: string | undefined;
345
345
  order?: number | undefined;
346
+ badge?: string | undefined;
346
347
  }, {
347
- hidden?: boolean | undefined;
348
348
  icon?: string | undefined;
349
- badge?: string | undefined;
350
349
  label?: string | undefined;
351
350
  order?: number | undefined;
351
+ hidden?: boolean | undefined;
352
+ badge?: string | undefined;
352
353
  }>>;
353
354
  slug: z.ZodOptional<z.ZodString>;
354
355
  title: z.ZodOptional<z.ZodString>;
355
356
  type: z.ZodOptional<z.ZodString>;
356
357
  }, "strict", z.ZodTypeAny, {
357
- deprecated: boolean;
358
- draft: boolean;
359
- hidden: boolean;
360
- noindex: boolean;
358
+ sidebar: {
359
+ hidden: boolean;
360
+ icon?: string | undefined;
361
+ label?: string | undefined;
362
+ order?: number | undefined;
363
+ badge?: string | undefined;
364
+ };
361
365
  search: {
362
366
  exclude: boolean;
363
367
  boost?: number | undefined;
@@ -368,21 +372,27 @@ export declare const pageMetaSchema: z.ZodObject<{
368
372
  title?: string | undefined;
369
373
  image?: string | undefined;
370
374
  description?: string | undefined;
371
- canonical?: string | undefined;
372
375
  x?: {
373
376
  creator?: string | undefined;
374
377
  } | undefined;
378
+ canonical?: string | undefined;
375
379
  };
376
- sidebar: {
377
- hidden: boolean;
378
- icon?: string | undefined;
379
- badge?: string | undefined;
380
- label?: string | undefined;
381
- order?: number | undefined;
382
- };
380
+ deprecated: boolean;
381
+ draft: boolean;
382
+ hidden: boolean;
383
+ noindex: boolean;
383
384
  type?: string | undefined;
384
385
  title?: string | undefined;
385
386
  date?: string | undefined;
387
+ icon?: string | undefined;
388
+ description?: string | undefined;
389
+ lastModified?: string | undefined;
390
+ slug?: string | undefined;
391
+ changelog?: {
392
+ date?: string | undefined;
393
+ version?: string | undefined;
394
+ category?: string | undefined;
395
+ } | undefined;
386
396
  authors?: string | z.objectOutputType<{
387
397
  avatar: z.ZodOptional<z.ZodString>;
388
398
  image: z.ZodOptional<z.ZodString>;
@@ -394,65 +404,56 @@ export declare const pageMetaSchema: z.ZodObject<{
394
404
  name: z.ZodString;
395
405
  url: z.ZodOptional<z.ZodString>;
396
406
  }, z.ZodUnknown, "strip">)[] | undefined;
397
- changelog?: {
398
- date?: string | undefined;
399
- category?: string | undefined;
400
- version?: string | undefined;
401
- } | undefined;
402
- description?: string | undefined;
403
- icon?: string | undefined;
404
- lastModified?: string | undefined;
405
- slug?: string | undefined;
406
407
  }, {
407
408
  type?: string | undefined;
408
409
  title?: string | undefined;
409
410
  date?: string | Date | undefined;
410
- authors?: string | z.objectInputType<{
411
- avatar: z.ZodOptional<z.ZodString>;
412
- image: z.ZodOptional<z.ZodString>;
413
- name: z.ZodString;
414
- url: z.ZodOptional<z.ZodString>;
415
- }, z.ZodUnknown, "strip"> | (string | z.objectInputType<{
416
- avatar: z.ZodOptional<z.ZodString>;
417
- image: z.ZodOptional<z.ZodString>;
418
- name: z.ZodString;
419
- url: z.ZodOptional<z.ZodString>;
420
- }, z.ZodUnknown, "strip">)[] | undefined;
421
- changelog?: {
422
- date?: string | Date | undefined;
423
- category?: string | undefined;
424
- version?: string | undefined;
425
- } | undefined;
426
- deprecated?: boolean | undefined;
427
- description?: string | undefined;
428
- draft?: boolean | undefined;
429
- hidden?: boolean | undefined;
430
411
  icon?: string | undefined;
412
+ description?: string | undefined;
431
413
  lastModified?: string | Date | undefined;
432
- noindex?: boolean | undefined;
414
+ slug?: string | undefined;
415
+ sidebar?: {
416
+ icon?: string | undefined;
417
+ label?: string | undefined;
418
+ order?: number | undefined;
419
+ hidden?: boolean | undefined;
420
+ badge?: string | undefined;
421
+ } | undefined;
433
422
  search?: {
434
- boost?: number | undefined;
435
423
  exclude?: boolean | undefined;
424
+ boost?: number | undefined;
436
425
  tags?: string[] | undefined;
437
426
  } | undefined;
427
+ changelog?: {
428
+ date?: string | Date | undefined;
429
+ version?: string | undefined;
430
+ category?: string | undefined;
431
+ } | undefined;
438
432
  seo?: {
439
433
  title?: string | undefined;
440
434
  image?: string | undefined;
441
435
  description?: string | undefined;
442
- noindex?: boolean | undefined;
443
- canonical?: string | undefined;
444
436
  x?: {
445
437
  creator?: string | undefined;
446
438
  } | undefined;
439
+ noindex?: boolean | undefined;
440
+ canonical?: string | undefined;
447
441
  } | undefined;
448
- sidebar?: {
449
- hidden?: boolean | undefined;
450
- icon?: string | undefined;
451
- badge?: string | undefined;
452
- label?: string | undefined;
453
- order?: number | undefined;
454
- } | undefined;
455
- slug?: string | undefined;
442
+ deprecated?: boolean | undefined;
443
+ authors?: string | z.objectInputType<{
444
+ avatar: z.ZodOptional<z.ZodString>;
445
+ image: z.ZodOptional<z.ZodString>;
446
+ name: z.ZodString;
447
+ url: z.ZodOptional<z.ZodString>;
448
+ }, z.ZodUnknown, "strip"> | (string | z.objectInputType<{
449
+ avatar: z.ZodOptional<z.ZodString>;
450
+ image: z.ZodOptional<z.ZodString>;
451
+ name: z.ZodString;
452
+ url: z.ZodOptional<z.ZodString>;
453
+ }, z.ZodUnknown, "strip">)[] | undefined;
454
+ draft?: boolean | undefined;
455
+ hidden?: boolean | undefined;
456
+ noindex?: boolean | undefined;
456
457
  }>;
457
458
  export type PageMeta = z.infer<typeof pageMetaBaseSchema>;
458
459
  export type PageMetaInput = z.input<typeof pageMetaBaseSchema>;
@@ -475,14 +476,14 @@ export declare const folderMetaSchema: z.ZodObject<{
475
476
  }, "strict", z.ZodTypeAny, {
476
477
  title?: string | undefined;
477
478
  icon?: string | undefined;
478
- order?: number | undefined;
479
479
  pages?: string[] | undefined;
480
+ order?: number | undefined;
480
481
  collapsed?: boolean | undefined;
481
482
  }, {
482
483
  title?: string | undefined;
483
484
  icon?: string | undefined;
484
- order?: number | undefined;
485
485
  pages?: string[] | undefined;
486
+ order?: number | undefined;
486
487
  collapsed?: boolean | undefined;
487
488
  }>;
488
489
  export type FolderMeta = z.infer<typeof folderMetaSchema>;
@@ -672,14 +673,14 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
672
673
  title?: string | undefined;
673
674
  status?: string | undefined;
674
675
  description?: string | undefined;
675
- order?: string | undefined;
676
676
  slug?: string | undefined;
677
+ order?: string | undefined;
677
678
  }, {
678
679
  title?: string | undefined;
679
680
  status?: string | undefined;
680
681
  description?: string | undefined;
681
- order?: string | undefined;
682
682
  slug?: string | undefined;
683
+ order?: string | undefined;
683
684
  }>>;
684
685
  /** Status value treated as published; others map to `draft`. Default `Published`. */
685
686
  publishedValue: z.ZodOptional<z.ZodString>;
@@ -693,8 +694,8 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
693
694
  title?: string | undefined;
694
695
  status?: string | undefined;
695
696
  description?: string | undefined;
696
- order?: string | undefined;
697
697
  slug?: string | undefined;
698
+ order?: string | undefined;
698
699
  } | undefined;
699
700
  publishedValue?: string | undefined;
700
701
  }, {
@@ -706,8 +707,8 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
706
707
  title?: string | undefined;
707
708
  status?: string | undefined;
708
709
  description?: string | undefined;
709
- order?: string | undefined;
710
710
  slug?: string | undefined;
711
+ order?: string | undefined;
711
712
  } | undefined;
712
713
  publishedValue?: string | undefined;
713
714
  }>, z.ZodObject<{
@@ -806,17 +807,17 @@ declare const aiConfigSchema: z.ZodObject<{
806
807
  enabled: z.ZodDefault<z.ZodBoolean>;
807
808
  openapi: z.ZodDefault<z.ZodBoolean>;
808
809
  }, "strict", z.ZodTypeAny, {
809
- enabled: boolean;
810
810
  openapi: boolean;
811
+ enabled: boolean;
811
812
  }, {
812
- enabled?: boolean | undefined;
813
813
  openapi?: boolean | undefined;
814
+ enabled?: boolean | undefined;
814
815
  }>]>>, {
815
- enabled: boolean;
816
816
  openapi: boolean;
817
+ enabled: boolean;
817
818
  }, boolean | {
818
- enabled?: boolean | undefined;
819
819
  openapi?: boolean | undefined;
820
+ enabled?: boolean | undefined;
820
821
  } | undefined>;
821
822
  markdownComponents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<ComponentMarkdown, z.ZodTypeDef, ComponentMarkdown>>>;
822
823
  /** Expose the docs as an MCP server for connecting agents. */
@@ -844,8 +845,8 @@ declare const aiConfigSchema: z.ZodObject<{
844
845
  }>>;
845
846
  }, "strict", z.ZodTypeAny, {
846
847
  llmsTxt: {
847
- enabled: boolean;
848
848
  openapi: boolean;
849
+ enabled: boolean;
849
850
  };
850
851
  markdownComponents: Record<string, ComponentMarkdown>;
851
852
  mcp: {
@@ -878,8 +879,8 @@ declare const aiConfigSchema: z.ZodObject<{
878
879
  }[] | undefined;
879
880
  } | undefined;
880
881
  llmsTxt?: boolean | {
881
- enabled?: boolean | undefined;
882
882
  openapi?: boolean | undefined;
883
+ enabled?: boolean | undefined;
883
884
  } | undefined;
884
885
  markdownComponents?: Record<string, ComponentMarkdown> | undefined;
885
886
  mcp?: {
@@ -1097,17 +1098,17 @@ export declare const blumeConfigSchema: z.ZodObject<{
1097
1098
  enabled: z.ZodDefault<z.ZodBoolean>;
1098
1099
  openapi: z.ZodDefault<z.ZodBoolean>;
1099
1100
  }, "strict", z.ZodTypeAny, {
1100
- enabled: boolean;
1101
1101
  openapi: boolean;
1102
+ enabled: boolean;
1102
1103
  }, {
1103
- enabled?: boolean | undefined;
1104
1104
  openapi?: boolean | undefined;
1105
+ enabled?: boolean | undefined;
1105
1106
  }>]>>, {
1106
- enabled: boolean;
1107
1107
  openapi: boolean;
1108
+ enabled: boolean;
1108
1109
  }, boolean | {
1109
- enabled?: boolean | undefined;
1110
1110
  openapi?: boolean | undefined;
1111
+ enabled?: boolean | undefined;
1111
1112
  } | undefined>;
1112
1113
  markdownComponents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<ComponentMarkdown, z.ZodTypeDef, ComponentMarkdown>>>;
1113
1114
  /** Expose the docs as an MCP server for connecting agents. */
@@ -1135,8 +1136,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1135
1136
  }>>;
1136
1137
  }, "strict", z.ZodTypeAny, {
1137
1138
  llmsTxt: {
1138
- enabled: boolean;
1139
1139
  openapi: boolean;
1140
+ enabled: boolean;
1140
1141
  };
1141
1142
  markdownComponents: Record<string, ComponentMarkdown>;
1142
1143
  mcp: {
@@ -1169,8 +1170,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1169
1170
  }[] | undefined;
1170
1171
  } | undefined;
1171
1172
  llmsTxt?: boolean | {
1172
- enabled?: boolean | undefined;
1173
1173
  openapi?: boolean | undefined;
1174
+ enabled?: boolean | undefined;
1174
1175
  } | undefined;
1175
1176
  markdownComponents?: Record<string, ComponentMarkdown> | undefined;
1176
1177
  mcp?: {
@@ -1521,14 +1522,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
1521
1522
  title?: string | undefined;
1522
1523
  status?: string | undefined;
1523
1524
  description?: string | undefined;
1524
- order?: string | undefined;
1525
1525
  slug?: string | undefined;
1526
+ order?: string | undefined;
1526
1527
  }, {
1527
1528
  title?: string | undefined;
1528
1529
  status?: string | undefined;
1529
1530
  description?: string | undefined;
1530
- order?: string | undefined;
1531
1531
  slug?: string | undefined;
1532
+ order?: string | undefined;
1532
1533
  }>>;
1533
1534
  /** Status value treated as published; others map to `draft`. Default `Published`. */
1534
1535
  publishedValue: z.ZodOptional<z.ZodString>;
@@ -1542,8 +1543,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1542
1543
  title?: string | undefined;
1543
1544
  status?: string | undefined;
1544
1545
  description?: string | undefined;
1545
- order?: string | undefined;
1546
1546
  slug?: string | undefined;
1547
+ order?: string | undefined;
1547
1548
  } | undefined;
1548
1549
  publishedValue?: string | undefined;
1549
1550
  }, {
@@ -1555,8 +1556,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1555
1556
  title?: string | undefined;
1556
1557
  status?: string | undefined;
1557
1558
  description?: string | undefined;
1558
- order?: string | undefined;
1559
1559
  slug?: string | undefined;
1560
+ order?: string | undefined;
1560
1561
  } | undefined;
1561
1562
  publishedValue?: string | undefined;
1562
1563
  }>, z.ZodObject<{
@@ -1571,8 +1572,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1571
1572
  }>]>, "many">>;
1572
1573
  }, "strict", z.ZodTypeAny, {
1573
1574
  root: string;
1574
- exclude: string[];
1575
1575
  defaultType: string;
1576
+ exclude: string[];
1576
1577
  include: string[];
1577
1578
  pages: string;
1578
1579
  sources?: ({
@@ -1627,8 +1628,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1627
1628
  title?: string | undefined;
1628
1629
  status?: string | undefined;
1629
1630
  description?: string | undefined;
1630
- order?: string | undefined;
1631
1631
  slug?: string | undefined;
1632
+ order?: string | undefined;
1632
1633
  } | undefined;
1633
1634
  publishedValue?: string | undefined;
1634
1635
  } | {
@@ -1637,7 +1638,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
1637
1638
  })[] | undefined;
1638
1639
  }, {
1639
1640
  root?: string | undefined;
1640
- exclude?: string[] | undefined;
1641
1641
  sources?: ({
1642
1642
  type: "filesystem";
1643
1643
  root?: string | undefined;
@@ -1690,8 +1690,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1690
1690
  title?: string | undefined;
1691
1691
  status?: string | undefined;
1692
1692
  description?: string | undefined;
1693
- order?: string | undefined;
1694
1693
  slug?: string | undefined;
1694
+ order?: string | undefined;
1695
1695
  } | undefined;
1696
1696
  publishedValue?: string | undefined;
1697
1697
  } | {
@@ -1699,6 +1699,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
1699
1699
  source: ContentSource;
1700
1700
  })[] | undefined;
1701
1701
  defaultType?: string | undefined;
1702
+ exclude?: string[] | undefined;
1702
1703
  include?: string[] | undefined;
1703
1704
  pages?: string | undefined;
1704
1705
  }>>;
@@ -1759,6 +1760,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
1759
1760
  pdf?: boolean | undefined;
1760
1761
  }>>;
1761
1762
  feedback: z.ZodDefault<z.ZodBoolean>;
1763
+ /** Opt-in custom frontmatter keys, validated by user-supplied schemas. */
1764
+ frontmatter: z.ZodDefault<z.ZodObject<{
1765
+ extend: z.ZodEffects<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<StandardSchema<unknown, unknown>, z.ZodTypeDef, StandardSchema<unknown, unknown>>>>, Record<string, StandardSchema<unknown, unknown>>, Record<string, StandardSchema<unknown, unknown>> | undefined>;
1766
+ }, "strict", z.ZodTypeAny, {
1767
+ extend: Record<string, StandardSchema<unknown, unknown>>;
1768
+ }, {
1769
+ extend?: Record<string, StandardSchema<unknown, unknown>> | undefined;
1770
+ }>>;
1762
1771
  github: z.ZodOptional<z.ZodObject<{
1763
1772
  branch: z.ZodDefault<z.ZodString>;
1764
1773
  /** Path from the repo root to the project root (for monorepos). */
@@ -1848,9 +1857,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
1848
1857
  lastModified: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
1849
1858
  type: z.ZodDefault<z.ZodEnum<["git", "frontmatter"]>>;
1850
1859
  }, "strict", z.ZodTypeAny, {
1851
- type: "git" | "frontmatter";
1860
+ type: "frontmatter" | "git";
1852
1861
  }, {
1853
- type?: "git" | "frontmatter" | undefined;
1862
+ type?: "frontmatter" | "git" | undefined;
1854
1863
  }>]>>;
1855
1864
  logo: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1856
1865
  href: z.ZodOptional<z.ZodString>;
@@ -1992,14 +2001,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
1992
2001
  }, "strict", z.ZodTypeAny, {
1993
2002
  path: string;
1994
2003
  label: string;
1995
- description?: string | undefined;
1996
2004
  icon?: string | undefined;
2005
+ description?: string | undefined;
1997
2006
  tag?: string | undefined;
1998
2007
  }, {
1999
2008
  path: string;
2000
2009
  label: string;
2001
- description?: string | undefined;
2002
2010
  icon?: string | undefined;
2011
+ description?: string | undefined;
2003
2012
  tag?: string | undefined;
2004
2013
  }>, "many">>;
2005
2014
  kind: z.ZodEnum<["dropdown", "language", "product", "version"]>;
@@ -2009,19 +2018,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2009
2018
  items: {
2010
2019
  path: string;
2011
2020
  label: string;
2012
- description?: string | undefined;
2013
2021
  icon?: string | undefined;
2022
+ description?: string | undefined;
2014
2023
  tag?: string | undefined;
2015
2024
  }[];
2016
- kind: "version" | "product" | "dropdown" | "language";
2025
+ kind: "dropdown" | "language" | "product" | "version";
2017
2026
  }, {
2018
2027
  label: string;
2019
- kind: "version" | "product" | "dropdown" | "language";
2028
+ kind: "dropdown" | "language" | "product" | "version";
2020
2029
  items?: {
2021
2030
  path: string;
2022
2031
  label: string;
2023
- description?: string | undefined;
2024
2032
  icon?: string | undefined;
2033
+ description?: string | undefined;
2025
2034
  tag?: string | undefined;
2026
2035
  }[] | undefined;
2027
2036
  }>, "many">>;
@@ -2035,19 +2044,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2035
2044
  display: z.ZodDefault<z.ZodEnum<["flat", "group", "page"]>>;
2036
2045
  items: z.ZodOptional<z.ZodArray<z.ZodType<SidebarItemConfig, z.ZodTypeDef, SidebarItemConfig>, "many">>;
2037
2046
  }, "strict", z.ZodTypeAny, {
2038
- display: "flat" | "page" | "group";
2047
+ display: "flat" | "group" | "page";
2039
2048
  items?: SidebarItemConfig[] | undefined;
2040
2049
  }, {
2041
- display?: "flat" | "page" | "group" | undefined;
2050
+ display?: "flat" | "group" | "page" | undefined;
2042
2051
  items?: SidebarItemConfig[] | undefined;
2043
2052
  }>]>>, {
2044
- display: "flat" | "page" | "group";
2053
+ display: "flat" | "group" | "page";
2045
2054
  items?: SidebarItemConfig[] | undefined;
2046
2055
  }, SidebarItemConfig[] | {
2047
- display?: "flat" | "page" | "group" | undefined;
2056
+ display?: "flat" | "group" | "page" | undefined;
2048
2057
  items?: SidebarItemConfig[] | undefined;
2049
2058
  } | undefined>;
2050
- tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
2059
+ tabs: z.ZodDefault<z.ZodArray<z.ZodObject<{
2051
2060
  icon: z.ZodOptional<z.ZodString>;
2052
2061
  items: z.ZodOptional<z.ZodArray<z.ZodObject<{
2053
2062
  description: z.ZodOptional<z.ZodString>;
@@ -2058,14 +2067,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
2058
2067
  }, "strict", z.ZodTypeAny, {
2059
2068
  path: string;
2060
2069
  label: string;
2061
- description?: string | undefined;
2062
2070
  icon?: string | undefined;
2071
+ description?: string | undefined;
2063
2072
  tag?: string | undefined;
2064
2073
  }, {
2065
2074
  path: string;
2066
2075
  label: string;
2067
- description?: string | undefined;
2068
2076
  icon?: string | undefined;
2077
+ description?: string | undefined;
2069
2078
  tag?: string | undefined;
2070
2079
  }>, "many">>;
2071
2080
  label: z.ZodString;
@@ -2077,8 +2086,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2077
2086
  items?: {
2078
2087
  path: string;
2079
2088
  label: string;
2080
- description?: string | undefined;
2081
2089
  icon?: string | undefined;
2090
+ description?: string | undefined;
2082
2091
  tag?: string | undefined;
2083
2092
  }[] | undefined;
2084
2093
  }, {
@@ -2088,16 +2097,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
2088
2097
  items?: {
2089
2098
  path: string;
2090
2099
  label: string;
2091
- description?: string | undefined;
2092
2100
  icon?: string | undefined;
2101
+ description?: string | undefined;
2093
2102
  tag?: string | undefined;
2094
2103
  }[] | undefined;
2095
2104
  }>, "many">>;
2096
2105
  }, "strict", z.ZodTypeAny, {
2097
- sidebar: {
2098
- display: "flat" | "page" | "group";
2099
- items?: SidebarItemConfig[] | undefined;
2100
- };
2101
2106
  repo: boolean;
2102
2107
  featured: {
2103
2108
  label: string;
@@ -2109,29 +2114,29 @@ export declare const blumeConfigSchema: z.ZodObject<{
2109
2114
  items: {
2110
2115
  path: string;
2111
2116
  label: string;
2112
- description?: string | undefined;
2113
2117
  icon?: string | undefined;
2118
+ description?: string | undefined;
2114
2119
  tag?: string | undefined;
2115
2120
  }[];
2116
- kind: "version" | "product" | "dropdown" | "language";
2121
+ kind: "dropdown" | "language" | "product" | "version";
2117
2122
  }[];
2118
- tabs?: {
2123
+ sidebar: {
2124
+ display: "flat" | "group" | "page";
2125
+ items?: SidebarItemConfig[] | undefined;
2126
+ };
2127
+ tabs: {
2119
2128
  path: string;
2120
2129
  label: string;
2121
2130
  icon?: string | undefined;
2122
2131
  items?: {
2123
2132
  path: string;
2124
2133
  label: string;
2125
- description?: string | undefined;
2126
2134
  icon?: string | undefined;
2135
+ description?: string | undefined;
2127
2136
  tag?: string | undefined;
2128
2137
  }[] | undefined;
2129
- }[] | undefined;
2138
+ }[];
2130
2139
  }, {
2131
- sidebar?: SidebarItemConfig[] | {
2132
- display?: "flat" | "page" | "group" | undefined;
2133
- items?: SidebarItemConfig[] | undefined;
2134
- } | undefined;
2135
2140
  repo?: boolean | undefined;
2136
2141
  featured?: {
2137
2142
  label: string;
@@ -2140,15 +2145,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2140
2145
  }[] | undefined;
2141
2146
  selectors?: {
2142
2147
  label: string;
2143
- kind: "version" | "product" | "dropdown" | "language";
2148
+ kind: "dropdown" | "language" | "product" | "version";
2144
2149
  items?: {
2145
2150
  path: string;
2146
2151
  label: string;
2147
- description?: string | undefined;
2148
2152
  icon?: string | undefined;
2153
+ description?: string | undefined;
2149
2154
  tag?: string | undefined;
2150
2155
  }[] | undefined;
2151
2156
  }[] | undefined;
2157
+ sidebar?: SidebarItemConfig[] | {
2158
+ display?: "flat" | "group" | "page" | undefined;
2159
+ items?: SidebarItemConfig[] | undefined;
2160
+ } | undefined;
2152
2161
  tabs?: {
2153
2162
  path: string;
2154
2163
  label: string;
@@ -2156,8 +2165,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2156
2165
  items?: {
2157
2166
  path: string;
2158
2167
  label: string;
2159
- description?: string | undefined;
2160
2168
  icon?: string | undefined;
2169
+ description?: string | undefined;
2161
2170
  tag?: string | undefined;
2162
2171
  }[] | undefined;
2163
2172
  }[] | undefined;
@@ -2288,6 +2297,20 @@ export declare const blumeConfigSchema: z.ZodObject<{
2288
2297
  endpoint: string;
2289
2298
  indexId?: string | undefined;
2290
2299
  }>>;
2300
+ /** Curated links for the Cmd+K empty state; defaults to the first sidebar pages. */
2301
+ popular: z.ZodDefault<z.ZodArray<z.ZodObject<{
2302
+ href: z.ZodString;
2303
+ icon: z.ZodOptional<z.ZodString>;
2304
+ label: z.ZodString;
2305
+ }, "strict", z.ZodTypeAny, {
2306
+ label: string;
2307
+ href: string;
2308
+ icon?: string | undefined;
2309
+ }, {
2310
+ label: string;
2311
+ href: string;
2312
+ icon?: string | undefined;
2313
+ }>, "many">>;
2291
2314
  provider: z.ZodDefault<z.ZodEnum<["orama", "pagefind", "flexsearch", "algolia", "orama-cloud", "typesense", "mixedbread", "none"]>>;
2292
2315
  typesense: z.ZodOptional<z.ZodObject<{
2293
2316
  collection: z.ZodString;
@@ -2309,10 +2332,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
2309
2332
  protocol?: "http" | "https" | undefined;
2310
2333
  }>>;
2311
2334
  }, "strict", z.ZodTypeAny, {
2312
- provider: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense";
2335
+ provider: "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | "none";
2313
2336
  indexing: {
2314
2337
  includeHiddenPages: boolean;
2315
2338
  };
2339
+ popular: {
2340
+ label: string;
2341
+ href: string;
2342
+ icon?: string | undefined;
2343
+ }[];
2316
2344
  algolia?: {
2317
2345
  appId: string;
2318
2346
  indexName: string;
@@ -2334,7 +2362,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2334
2362
  protocol?: "http" | "https" | undefined;
2335
2363
  } | undefined;
2336
2364
  }, {
2337
- provider?: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | undefined;
2365
+ provider?: "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | "none" | undefined;
2338
2366
  algolia?: {
2339
2367
  appId: string;
2340
2368
  indexName: string;
@@ -2351,6 +2379,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
2351
2379
  endpoint: string;
2352
2380
  indexId?: string | undefined;
2353
2381
  } | undefined;
2382
+ popular?: {
2383
+ label: string;
2384
+ href: string;
2385
+ icon?: string | undefined;
2386
+ }[] | undefined;
2354
2387
  typesense?: {
2355
2388
  host: string;
2356
2389
  searchApiKey: string;
@@ -2359,10 +2392,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
2359
2392
  protocol?: "http" | "https" | undefined;
2360
2393
  } | undefined;
2361
2394
  }>, {
2362
- provider: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense";
2395
+ provider: "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | "none";
2363
2396
  indexing: {
2364
2397
  includeHiddenPages: boolean;
2365
2398
  };
2399
+ popular: {
2400
+ label: string;
2401
+ href: string;
2402
+ icon?: string | undefined;
2403
+ }[];
2366
2404
  algolia?: {
2367
2405
  appId: string;
2368
2406
  indexName: string;
@@ -2384,7 +2422,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2384
2422
  protocol?: "http" | "https" | undefined;
2385
2423
  } | undefined;
2386
2424
  }, {
2387
- provider?: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | undefined;
2425
+ provider?: "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | "none" | undefined;
2388
2426
  algolia?: {
2389
2427
  appId: string;
2390
2428
  indexName: string;
@@ -2401,6 +2439,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
2401
2439
  endpoint: string;
2402
2440
  indexId?: string | undefined;
2403
2441
  } | undefined;
2442
+ popular?: {
2443
+ label: string;
2444
+ href: string;
2445
+ icon?: string | undefined;
2446
+ }[] | undefined;
2404
2447
  typesense?: {
2405
2448
  host: string;
2406
2449
  searchApiKey: string;
@@ -2446,10 +2489,76 @@ export declare const blumeConfigSchema: z.ZodObject<{
2446
2489
  * `loadConfig`. An explicit value here always wins.
2447
2490
  */
2448
2491
  enabled: z.ZodOptional<z.ZodBoolean>;
2492
+ /**
2493
+ * Google Font families for the generated card, extending Takumi's Latin-only
2494
+ * default so non-Latin titles (CJK, and so on) render instead of tofu.
2495
+ * Fetched from Google Fonts at build.
2496
+ */
2497
+ fonts: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
2498
+ name: z.ZodString;
2499
+ style: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["normal", "italic"]>, z.ZodArray<z.ZodEnum<["normal", "italic"]>, "many">]>>;
2500
+ weight: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">, z.ZodString]>>;
2501
+ }, "strict", z.ZodTypeAny, {
2502
+ name: string;
2503
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
2504
+ weight?: string | number | number[] | undefined;
2505
+ }, {
2506
+ name: string;
2507
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
2508
+ weight?: string | number | number[] | undefined;
2509
+ }>]>, "many">>;
2510
+ /** Local SVG used in the generated card instead of the site logo. */
2511
+ logo: z.ZodOptional<z.ZodString>;
2512
+ /** Optional generated-card colors. */
2513
+ palette: z.ZodOptional<z.ZodObject<{
2514
+ accent: z.ZodOptional<z.ZodString>;
2515
+ background: z.ZodOptional<z.ZodString>;
2516
+ border: z.ZodOptional<z.ZodString>;
2517
+ foreground: z.ZodOptional<z.ZodString>;
2518
+ muted: z.ZodOptional<z.ZodString>;
2519
+ }, "strict", z.ZodTypeAny, {
2520
+ accent?: string | undefined;
2521
+ background?: string | undefined;
2522
+ border?: string | undefined;
2523
+ foreground?: string | undefined;
2524
+ muted?: string | undefined;
2525
+ }, {
2526
+ accent?: string | undefined;
2527
+ background?: string | undefined;
2528
+ border?: string | undefined;
2529
+ foreground?: string | undefined;
2530
+ muted?: string | undefined;
2531
+ }>>;
2449
2532
  }, "strict", z.ZodTypeAny, {
2450
2533
  enabled?: boolean | undefined;
2534
+ logo?: string | undefined;
2535
+ fonts?: (string | {
2536
+ name: string;
2537
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
2538
+ weight?: string | number | number[] | undefined;
2539
+ })[] | undefined;
2540
+ palette?: {
2541
+ accent?: string | undefined;
2542
+ background?: string | undefined;
2543
+ border?: string | undefined;
2544
+ foreground?: string | undefined;
2545
+ muted?: string | undefined;
2546
+ } | undefined;
2451
2547
  }, {
2452
2548
  enabled?: boolean | undefined;
2549
+ logo?: string | undefined;
2550
+ fonts?: (string | {
2551
+ name: string;
2552
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
2553
+ weight?: string | number | number[] | undefined;
2554
+ })[] | undefined;
2555
+ palette?: {
2556
+ accent?: string | undefined;
2557
+ background?: string | undefined;
2558
+ border?: string | undefined;
2559
+ foreground?: string | undefined;
2560
+ muted?: string | undefined;
2561
+ } | undefined;
2453
2562
  }>>;
2454
2563
  /** Generate robots.txt (with a Sitemap reference when available). */
2455
2564
  robots: z.ZodDefault<z.ZodBoolean>;
@@ -2486,10 +2595,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2486
2595
  handle?: string | undefined;
2487
2596
  }>>;
2488
2597
  }, "strict", z.ZodTypeAny, {
2489
- x: {
2490
- creator?: string | undefined;
2491
- handle?: string | undefined;
2492
- };
2493
2598
  agentReadability: boolean;
2494
2599
  contentSignals: {
2495
2600
  search: boolean;
@@ -2498,6 +2603,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2498
2603
  } | null;
2499
2604
  og: {
2500
2605
  enabled?: boolean | undefined;
2606
+ logo?: string | undefined;
2607
+ fonts?: (string | {
2608
+ name: string;
2609
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
2610
+ weight?: string | number | number[] | undefined;
2611
+ })[] | undefined;
2612
+ palette?: {
2613
+ accent?: string | undefined;
2614
+ background?: string | undefined;
2615
+ border?: string | undefined;
2616
+ foreground?: string | undefined;
2617
+ muted?: string | undefined;
2618
+ } | undefined;
2501
2619
  };
2502
2620
  robots: boolean;
2503
2621
  rss: {
@@ -2507,11 +2625,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
2507
2625
  };
2508
2626
  sitemap: boolean;
2509
2627
  structuredData: boolean;
2510
- }, {
2511
- x?: {
2628
+ x: {
2512
2629
  creator?: string | undefined;
2513
2630
  handle?: string | undefined;
2514
- } | undefined;
2631
+ };
2632
+ }, {
2515
2633
  agentReadability?: boolean | undefined;
2516
2634
  contentSignals?: boolean | {
2517
2635
  search?: boolean | undefined;
@@ -2520,6 +2638,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2520
2638
  } | undefined;
2521
2639
  og?: {
2522
2640
  enabled?: boolean | undefined;
2641
+ logo?: string | undefined;
2642
+ fonts?: (string | {
2643
+ name: string;
2644
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
2645
+ weight?: string | number | number[] | undefined;
2646
+ })[] | undefined;
2647
+ palette?: {
2648
+ accent?: string | undefined;
2649
+ background?: string | undefined;
2650
+ border?: string | undefined;
2651
+ foreground?: string | undefined;
2652
+ muted?: string | undefined;
2653
+ } | undefined;
2523
2654
  } | undefined;
2524
2655
  robots?: boolean | undefined;
2525
2656
  rss?: {
@@ -2529,6 +2660,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
2529
2660
  } | undefined;
2530
2661
  sitemap?: boolean | undefined;
2531
2662
  structuredData?: boolean | undefined;
2663
+ x?: {
2664
+ creator?: string | undefined;
2665
+ handle?: string | undefined;
2666
+ } | undefined;
2532
2667
  }>>;
2533
2668
  theme: z.ZodDefault<z.ZodObject<{
2534
2669
  accent: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodObject<{
@@ -2597,49 +2732,49 @@ export declare const blumeConfigSchema: z.ZodObject<{
2597
2732
  mode: z.ZodDefault<z.ZodEnum<["system", "light", "dark"]>>;
2598
2733
  radius: z.ZodDefault<z.ZodEnum<["none", "sm", "md", "lg"]>>;
2599
2734
  }, "strict", z.ZodTypeAny, {
2600
- accent: {
2601
- dark: string;
2602
- light: string;
2603
- };
2604
2735
  fonts: {
2605
2736
  mono: string;
2606
2737
  display: string;
2607
2738
  body: string;
2608
2739
  };
2740
+ accent: {
2741
+ dark: string;
2742
+ light: string;
2743
+ };
2609
2744
  layout: "sidebar";
2610
2745
  mode: "dark" | "light" | "system";
2611
- radius: "md" | "none" | "sm" | "lg";
2612
- action?: string | undefined;
2746
+ radius: "none" | "sm" | "md" | "lg";
2613
2747
  background?: {
2614
2748
  dark?: string | undefined;
2615
2749
  light?: string | undefined;
2616
2750
  } | undefined;
2751
+ action?: string | undefined;
2617
2752
  backgroundImage?: {
2618
2753
  dark?: string | undefined;
2619
2754
  light?: string | undefined;
2620
2755
  } | undefined;
2621
2756
  }, {
2757
+ fonts?: {
2758
+ mono?: string | undefined;
2759
+ display?: string | undefined;
2760
+ body?: string | undefined;
2761
+ } | undefined;
2622
2762
  accent?: string | {
2623
2763
  dark: string;
2624
2764
  light: string;
2625
2765
  } | undefined;
2626
- action?: string | undefined;
2627
2766
  background?: string | {
2628
2767
  dark?: string | undefined;
2629
2768
  light?: string | undefined;
2630
2769
  } | undefined;
2770
+ action?: string | undefined;
2631
2771
  backgroundImage?: string | {
2632
2772
  dark?: string | undefined;
2633
2773
  light?: string | undefined;
2634
2774
  } | undefined;
2635
- fonts?: {
2636
- mono?: string | undefined;
2637
- display?: string | undefined;
2638
- body?: string | undefined;
2639
- } | undefined;
2640
2775
  layout?: "sidebar" | undefined;
2641
2776
  mode?: "dark" | "light" | "system" | undefined;
2642
- radius?: "md" | "none" | "sm" | "lg" | undefined;
2777
+ radius?: "none" | "sm" | "md" | "lg" | undefined;
2643
2778
  }>>;
2644
2779
  title: z.ZodDefault<z.ZodString>;
2645
2780
  toc: z.ZodEffects<z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
@@ -2668,58 +2803,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2668
2803
  } | undefined>;
2669
2804
  }, "strict", z.ZodTypeAny, {
2670
2805
  title: string;
2671
- lastModified: boolean | {
2672
- type: "git" | "frontmatter";
2673
- };
2674
- search: {
2675
- provider: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense";
2676
- indexing: {
2677
- includeHiddenPages: boolean;
2678
- };
2679
- algolia?: {
2680
- appId: string;
2681
- indexName: string;
2682
- searchApiKey: string;
2683
- } | undefined;
2684
- mixedbread?: {
2685
- storeId: string;
2686
- } | undefined;
2687
- oramaCloud?: {
2688
- apiKey: string;
2689
- endpoint: string;
2690
- indexId?: string | undefined;
2691
- } | undefined;
2692
- typesense?: {
2693
- host: string;
2694
- searchApiKey: string;
2695
- collection: string;
2696
- port?: number | undefined;
2697
- protocol?: "http" | "https" | undefined;
2698
- } | undefined;
2699
- };
2700
- seo: {
2701
- x: {
2702
- creator?: string | undefined;
2703
- handle?: string | undefined;
2704
- };
2705
- agentReadability: boolean;
2706
- contentSignals: {
2707
- search: boolean;
2708
- aiInput: boolean;
2709
- aiTrain: boolean;
2710
- } | null;
2711
- og: {
2712
- enabled?: boolean | undefined;
2713
- };
2714
- robots: boolean;
2715
- rss: {
2716
- enabled: boolean;
2717
- limit: number;
2718
- types: string[];
2719
- };
2720
- sitemap: boolean;
2721
- structuredData: boolean;
2722
- };
2723
2806
  openapi: {
2724
2807
  enabled: boolean;
2725
2808
  route: string;
@@ -2734,10 +2817,21 @@ export declare const blumeConfigSchema: z.ZodObject<{
2734
2817
  spec?: string | undefined;
2735
2818
  theme?: string | undefined;
2736
2819
  };
2820
+ asyncapi: {
2821
+ enabled: boolean;
2822
+ route: string;
2823
+ sources: {
2824
+ spec: string;
2825
+ label?: string | undefined;
2826
+ route?: string | undefined;
2827
+ }[];
2828
+ spec?: string | undefined;
2829
+ theme?: string | undefined;
2830
+ };
2737
2831
  ai: {
2738
2832
  llmsTxt: {
2739
- enabled: boolean;
2740
2833
  openapi: boolean;
2834
+ enabled: boolean;
2741
2835
  };
2742
2836
  markdownComponents: Record<string, ComponentMarkdown>;
2743
2837
  mcp: {
@@ -2760,8 +2854,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2760
2854
  };
2761
2855
  content: {
2762
2856
  root: string;
2763
- exclude: string[];
2764
2857
  defaultType: string;
2858
+ exclude: string[];
2765
2859
  include: string[];
2766
2860
  pages: string;
2767
2861
  sources?: ({
@@ -2816,8 +2910,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2816
2910
  title?: string | undefined;
2817
2911
  status?: string | undefined;
2818
2912
  description?: string | undefined;
2819
- order?: string | undefined;
2820
2913
  slug?: string | undefined;
2914
+ order?: string | undefined;
2821
2915
  } | undefined;
2822
2916
  publishedValue?: string | undefined;
2823
2917
  } | {
@@ -2826,40 +2920,32 @@ export declare const blumeConfigSchema: z.ZodObject<{
2826
2920
  })[] | undefined;
2827
2921
  };
2828
2922
  theme: {
2829
- accent: {
2830
- dark: string;
2831
- light: string;
2832
- };
2833
2923
  fonts: {
2834
2924
  mono: string;
2835
2925
  display: string;
2836
2926
  body: string;
2837
2927
  };
2928
+ accent: {
2929
+ dark: string;
2930
+ light: string;
2931
+ };
2838
2932
  layout: "sidebar";
2839
2933
  mode: "dark" | "light" | "system";
2840
- radius: "md" | "none" | "sm" | "lg";
2841
- action?: string | undefined;
2934
+ radius: "none" | "sm" | "md" | "lg";
2842
2935
  background?: {
2843
2936
  dark?: string | undefined;
2844
2937
  light?: string | undefined;
2845
2938
  } | undefined;
2939
+ action?: string | undefined;
2846
2940
  backgroundImage?: {
2847
2941
  dark?: string | undefined;
2848
2942
  light?: string | undefined;
2849
2943
  } | undefined;
2850
2944
  };
2851
- asyncapi: {
2852
- enabled: boolean;
2853
- route: string;
2854
- sources: {
2855
- spec: string;
2856
- label?: string | undefined;
2857
- route?: string | undefined;
2858
- }[];
2859
- spec?: string | undefined;
2860
- theme?: string | undefined;
2861
- };
2862
2945
  basePath: string;
2946
+ lastModified: boolean | {
2947
+ type: "frontmatter" | "git";
2948
+ };
2863
2949
  deployment: {
2864
2950
  adapter: "vercel" | "node" | "netlify" | "cloudflare" | null;
2865
2951
  output: "static" | "server";
@@ -2875,6 +2961,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
2875
2961
  pdf: boolean;
2876
2962
  };
2877
2963
  feedback: boolean;
2964
+ frontmatter: {
2965
+ extend: Record<string, StandardSchema<unknown, unknown>>;
2966
+ };
2878
2967
  markdown: {
2879
2968
  code: {
2880
2969
  icons: boolean;
@@ -2890,10 +2979,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2890
2979
  imageZoom: boolean;
2891
2980
  };
2892
2981
  navigation: {
2893
- sidebar: {
2894
- display: "flat" | "page" | "group";
2895
- items?: SidebarItemConfig[] | undefined;
2896
- };
2897
2982
  repo: boolean;
2898
2983
  featured: {
2899
2984
  label: string;
@@ -2905,24 +2990,28 @@ export declare const blumeConfigSchema: z.ZodObject<{
2905
2990
  items: {
2906
2991
  path: string;
2907
2992
  label: string;
2908
- description?: string | undefined;
2909
2993
  icon?: string | undefined;
2994
+ description?: string | undefined;
2910
2995
  tag?: string | undefined;
2911
2996
  }[];
2912
- kind: "version" | "product" | "dropdown" | "language";
2997
+ kind: "dropdown" | "language" | "product" | "version";
2913
2998
  }[];
2914
- tabs?: {
2999
+ sidebar: {
3000
+ display: "flat" | "group" | "page";
3001
+ items?: SidebarItemConfig[] | undefined;
3002
+ };
3003
+ tabs: {
2915
3004
  path: string;
2916
3005
  label: string;
2917
3006
  icon?: string | undefined;
2918
3007
  items?: {
2919
3008
  path: string;
2920
3009
  label: string;
2921
- description?: string | undefined;
2922
3010
  icon?: string | undefined;
3011
+ description?: string | undefined;
2923
3012
  tag?: string | undefined;
2924
3013
  }[] | undefined;
2925
- }[] | undefined;
3014
+ }[];
2926
3015
  };
2927
3016
  react: {
2928
3017
  compiler: boolean;
@@ -2932,12 +3021,78 @@ export declare const blumeConfigSchema: z.ZodObject<{
2932
3021
  from: string;
2933
3022
  to: string;
2934
3023
  }[];
3024
+ search: {
3025
+ provider: "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | "none";
3026
+ indexing: {
3027
+ includeHiddenPages: boolean;
3028
+ };
3029
+ popular: {
3030
+ label: string;
3031
+ href: string;
3032
+ icon?: string | undefined;
3033
+ }[];
3034
+ algolia?: {
3035
+ appId: string;
3036
+ indexName: string;
3037
+ searchApiKey: string;
3038
+ } | undefined;
3039
+ mixedbread?: {
3040
+ storeId: string;
3041
+ } | undefined;
3042
+ oramaCloud?: {
3043
+ apiKey: string;
3044
+ endpoint: string;
3045
+ indexId?: string | undefined;
3046
+ } | undefined;
3047
+ typesense?: {
3048
+ host: string;
3049
+ searchApiKey: string;
3050
+ collection: string;
3051
+ port?: number | undefined;
3052
+ protocol?: "http" | "https" | undefined;
3053
+ } | undefined;
3054
+ };
3055
+ seo: {
3056
+ agentReadability: boolean;
3057
+ contentSignals: {
3058
+ search: boolean;
3059
+ aiInput: boolean;
3060
+ aiTrain: boolean;
3061
+ } | null;
3062
+ og: {
3063
+ enabled?: boolean | undefined;
3064
+ logo?: string | undefined;
3065
+ fonts?: (string | {
3066
+ name: string;
3067
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
3068
+ weight?: string | number | number[] | undefined;
3069
+ })[] | undefined;
3070
+ palette?: {
3071
+ accent?: string | undefined;
3072
+ background?: string | undefined;
3073
+ border?: string | undefined;
3074
+ foreground?: string | undefined;
3075
+ muted?: string | undefined;
3076
+ } | undefined;
3077
+ };
3078
+ robots: boolean;
3079
+ rss: {
3080
+ enabled: boolean;
3081
+ limit: number;
3082
+ types: string[];
3083
+ };
3084
+ sitemap: boolean;
3085
+ structuredData: boolean;
3086
+ x: {
3087
+ creator?: string | undefined;
3088
+ handle?: string | undefined;
3089
+ };
3090
+ };
2935
3091
  toc: {
2936
3092
  enabled: boolean;
2937
3093
  maxLevel: number;
2938
3094
  minLevel: number;
2939
3095
  };
2940
- description?: string | undefined;
2941
3096
  analytics?: {
2942
3097
  posthog?: {
2943
3098
  key: string;
@@ -2966,6 +3121,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2966
3121
  branch: string;
2967
3122
  dir?: string | undefined;
2968
3123
  } | undefined;
3124
+ description?: string | undefined;
2969
3125
  i18n?: {
2970
3126
  defaultLocale: string;
2971
3127
  hideDefaultLocalePrefix: boolean;
@@ -2989,59 +3145,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2989
3145
  } | undefined;
2990
3146
  }, {
2991
3147
  title?: string | undefined;
2992
- description?: string | undefined;
2993
- lastModified?: boolean | {
2994
- type?: "git" | "frontmatter" | undefined;
2995
- } | undefined;
2996
- search?: {
2997
- provider?: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | undefined;
2998
- algolia?: {
2999
- appId: string;
3000
- indexName: string;
3001
- searchApiKey: string;
3002
- } | undefined;
3003
- indexing?: {
3004
- includeHiddenPages?: boolean | undefined;
3005
- } | undefined;
3006
- mixedbread?: {
3007
- storeId: string;
3008
- } | undefined;
3009
- oramaCloud?: {
3010
- apiKey: string;
3011
- endpoint: string;
3012
- indexId?: string | undefined;
3013
- } | undefined;
3014
- typesense?: {
3015
- host: string;
3016
- searchApiKey: string;
3017
- collection: string;
3018
- port?: number | undefined;
3019
- protocol?: "http" | "https" | undefined;
3020
- } | undefined;
3021
- } | undefined;
3022
- seo?: {
3023
- x?: {
3024
- creator?: string | undefined;
3025
- handle?: string | undefined;
3026
- } | undefined;
3027
- agentReadability?: boolean | undefined;
3028
- contentSignals?: boolean | {
3029
- search?: boolean | undefined;
3030
- aiInput?: boolean | undefined;
3031
- aiTrain?: boolean | undefined;
3032
- } | undefined;
3033
- og?: {
3034
- enabled?: boolean | undefined;
3035
- } | undefined;
3036
- robots?: boolean | undefined;
3037
- rss?: {
3038
- enabled?: boolean | undefined;
3039
- limit?: number | undefined;
3040
- types?: string[] | undefined;
3041
- } | undefined;
3042
- sitemap?: boolean | undefined;
3043
- structuredData?: boolean | undefined;
3044
- } | undefined;
3045
3148
  openapi?: {
3046
3149
  enabled?: boolean | undefined;
3047
3150
  route?: string | undefined;
@@ -3056,6 +3159,17 @@ export declare const blumeConfigSchema: z.ZodObject<{
3056
3159
  expandSchemas?: boolean | undefined;
3057
3160
  renderer?: "blume" | "scalar" | undefined;
3058
3161
  } | undefined;
3162
+ asyncapi?: {
3163
+ enabled?: boolean | undefined;
3164
+ route?: string | undefined;
3165
+ spec?: string | undefined;
3166
+ sources?: {
3167
+ spec: string;
3168
+ label?: string | undefined;
3169
+ route?: string | undefined;
3170
+ }[] | undefined;
3171
+ theme?: string | undefined;
3172
+ } | undefined;
3059
3173
  ai?: {
3060
3174
  ask?: {
3061
3175
  apiKeyEnv?: string | undefined;
@@ -3069,8 +3183,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
3069
3183
  }[] | undefined;
3070
3184
  } | undefined;
3071
3185
  llmsTxt?: boolean | {
3072
- enabled?: boolean | undefined;
3073
3186
  openapi?: boolean | undefined;
3187
+ enabled?: boolean | undefined;
3074
3188
  } | undefined;
3075
3189
  markdownComponents?: Record<string, ComponentMarkdown> | undefined;
3076
3190
  mcp?: {
@@ -3082,7 +3196,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3082
3196
  } | undefined;
3083
3197
  content?: {
3084
3198
  root?: string | undefined;
3085
- exclude?: string[] | undefined;
3086
3199
  sources?: ({
3087
3200
  type: "filesystem";
3088
3201
  root?: string | undefined;
@@ -3135,8 +3248,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
3135
3248
  title?: string | undefined;
3136
3249
  status?: string | undefined;
3137
3250
  description?: string | undefined;
3138
- order?: string | undefined;
3139
3251
  slug?: string | undefined;
3252
+ order?: string | undefined;
3140
3253
  } | undefined;
3141
3254
  publishedValue?: string | undefined;
3142
3255
  } | {
@@ -3144,6 +3257,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
3144
3257
  source: ContentSource;
3145
3258
  })[] | undefined;
3146
3259
  defaultType?: string | undefined;
3260
+ exclude?: string[] | undefined;
3147
3261
  include?: string[] | undefined;
3148
3262
  pages?: string | undefined;
3149
3263
  } | undefined;
@@ -3161,38 +3275,27 @@ export declare const blumeConfigSchema: z.ZodObject<{
3161
3275
  vercel?: boolean | undefined;
3162
3276
  } | undefined;
3163
3277
  theme?: {
3278
+ fonts?: {
3279
+ mono?: string | undefined;
3280
+ display?: string | undefined;
3281
+ body?: string | undefined;
3282
+ } | undefined;
3164
3283
  accent?: string | {
3165
3284
  dark: string;
3166
3285
  light: string;
3167
3286
  } | undefined;
3168
- action?: string | undefined;
3169
3287
  background?: string | {
3170
3288
  dark?: string | undefined;
3171
3289
  light?: string | undefined;
3172
3290
  } | undefined;
3291
+ action?: string | undefined;
3173
3292
  backgroundImage?: string | {
3174
3293
  dark?: string | undefined;
3175
3294
  light?: string | undefined;
3176
3295
  } | undefined;
3177
- fonts?: {
3178
- mono?: string | undefined;
3179
- display?: string | undefined;
3180
- body?: string | undefined;
3181
- } | undefined;
3182
3296
  layout?: "sidebar" | undefined;
3183
3297
  mode?: "dark" | "light" | "system" | undefined;
3184
- radius?: "md" | "none" | "sm" | "lg" | undefined;
3185
- } | undefined;
3186
- asyncapi?: {
3187
- enabled?: boolean | undefined;
3188
- route?: string | undefined;
3189
- spec?: string | undefined;
3190
- sources?: {
3191
- spec: string;
3192
- label?: string | undefined;
3193
- route?: string | undefined;
3194
- }[] | undefined;
3195
- theme?: string | undefined;
3298
+ radius?: "none" | "sm" | "md" | "lg" | undefined;
3196
3299
  } | undefined;
3197
3300
  banner?: string | {
3198
3301
  content: string;
@@ -3210,6 +3313,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
3210
3313
  branch?: string | undefined;
3211
3314
  dir?: string | undefined;
3212
3315
  } | undefined;
3316
+ description?: string | undefined;
3317
+ lastModified?: boolean | {
3318
+ type?: "frontmatter" | "git" | undefined;
3319
+ } | undefined;
3213
3320
  deployment?: {
3214
3321
  adapter?: "vercel" | "node" | "netlify" | "cloudflare" | null | undefined;
3215
3322
  base?: string | undefined;
@@ -3225,6 +3332,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
3225
3332
  pdf?: boolean | undefined;
3226
3333
  } | undefined;
3227
3334
  feedback?: boolean | undefined;
3335
+ frontmatter?: {
3336
+ extend?: Record<string, StandardSchema<unknown, unknown>> | undefined;
3337
+ } | undefined;
3228
3338
  i18n?: {
3229
3339
  locales: {
3230
3340
  code: string;
@@ -3261,10 +3371,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3261
3371
  imageZoom?: boolean | undefined;
3262
3372
  } | undefined;
3263
3373
  navigation?: {
3264
- sidebar?: SidebarItemConfig[] | {
3265
- display?: "flat" | "page" | "group" | undefined;
3266
- items?: SidebarItemConfig[] | undefined;
3267
- } | undefined;
3268
3374
  repo?: boolean | undefined;
3269
3375
  featured?: {
3270
3376
  label: string;
@@ -3273,15 +3379,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
3273
3379
  }[] | undefined;
3274
3380
  selectors?: {
3275
3381
  label: string;
3276
- kind: "version" | "product" | "dropdown" | "language";
3382
+ kind: "dropdown" | "language" | "product" | "version";
3277
3383
  items?: {
3278
3384
  path: string;
3279
3385
  label: string;
3280
- description?: string | undefined;
3281
3386
  icon?: string | undefined;
3387
+ description?: string | undefined;
3282
3388
  tag?: string | undefined;
3283
3389
  }[] | undefined;
3284
3390
  }[] | undefined;
3391
+ sidebar?: SidebarItemConfig[] | {
3392
+ display?: "flat" | "group" | "page" | undefined;
3393
+ items?: SidebarItemConfig[] | undefined;
3394
+ } | undefined;
3285
3395
  tabs?: {
3286
3396
  path: string;
3287
3397
  label: string;
@@ -3289,8 +3399,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
3289
3399
  items?: {
3290
3400
  path: string;
3291
3401
  label: string;
3292
- description?: string | undefined;
3293
3402
  icon?: string | undefined;
3403
+ description?: string | undefined;
3294
3404
  tag?: string | undefined;
3295
3405
  }[] | undefined;
3296
3406
  }[] | undefined;
@@ -3303,6 +3413,73 @@ export declare const blumeConfigSchema: z.ZodObject<{
3303
3413
  to: string;
3304
3414
  status?: 301 | 302 | 307 | 308 | undefined;
3305
3415
  }[] | undefined;
3416
+ search?: {
3417
+ provider?: "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | "none" | undefined;
3418
+ algolia?: {
3419
+ appId: string;
3420
+ indexName: string;
3421
+ searchApiKey: string;
3422
+ } | undefined;
3423
+ indexing?: {
3424
+ includeHiddenPages?: boolean | undefined;
3425
+ } | undefined;
3426
+ mixedbread?: {
3427
+ storeId: string;
3428
+ } | undefined;
3429
+ oramaCloud?: {
3430
+ apiKey: string;
3431
+ endpoint: string;
3432
+ indexId?: string | undefined;
3433
+ } | undefined;
3434
+ popular?: {
3435
+ label: string;
3436
+ href: string;
3437
+ icon?: string | undefined;
3438
+ }[] | undefined;
3439
+ typesense?: {
3440
+ host: string;
3441
+ searchApiKey: string;
3442
+ collection: string;
3443
+ port?: number | undefined;
3444
+ protocol?: "http" | "https" | undefined;
3445
+ } | undefined;
3446
+ } | undefined;
3447
+ seo?: {
3448
+ agentReadability?: boolean | undefined;
3449
+ contentSignals?: boolean | {
3450
+ search?: boolean | undefined;
3451
+ aiInput?: boolean | undefined;
3452
+ aiTrain?: boolean | undefined;
3453
+ } | undefined;
3454
+ og?: {
3455
+ enabled?: boolean | undefined;
3456
+ logo?: string | undefined;
3457
+ fonts?: (string | {
3458
+ name: string;
3459
+ style?: "normal" | "italic" | ("normal" | "italic")[] | undefined;
3460
+ weight?: string | number | number[] | undefined;
3461
+ })[] | undefined;
3462
+ palette?: {
3463
+ accent?: string | undefined;
3464
+ background?: string | undefined;
3465
+ border?: string | undefined;
3466
+ foreground?: string | undefined;
3467
+ muted?: string | undefined;
3468
+ } | undefined;
3469
+ } | undefined;
3470
+ robots?: boolean | undefined;
3471
+ rss?: {
3472
+ enabled?: boolean | undefined;
3473
+ limit?: number | undefined;
3474
+ types?: string[] | undefined;
3475
+ } | undefined;
3476
+ sitemap?: boolean | undefined;
3477
+ structuredData?: boolean | undefined;
3478
+ x?: {
3479
+ creator?: string | undefined;
3480
+ handle?: string | undefined;
3481
+ } | undefined;
3482
+ } | undefined;
3306
3483
  toc?: boolean | {
3307
3484
  maxHeadingLevel?: number | undefined;
3308
3485
  minHeadingLevel?: number | undefined;
@@ -3310,6 +3487,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
3310
3487
  }>;
3311
3488
  /** Resolved config: every field present after defaults are applied. */
3312
3489
  export type ResolvedConfig = z.infer<typeof blumeConfigSchema>;
3490
+ /** Resolved `frontmatter.extend`: custom key → user-supplied schema. */
3491
+ export type FrontmatterExtend = Record<string, StandardSchema>;
3313
3492
  /** Resolved i18n block (present only when the project opts into i18n). */
3314
3493
  export type ResolvedI18nConfig = z.infer<typeof i18nConfigSchema>;
3315
3494
  /** A configured locale with display metadata. */