blume 0.5.3 → 0.6.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 (132) hide show
  1. package/dist/cli/index.js +3349 -7024
  2. package/dist/cli/index.js.map +39 -69
  3. package/dist/types/core/config.d.ts +0 -8
  4. package/dist/types/core/data.d.ts +6 -2
  5. package/dist/types/core/i18n-ui.d.ts +50 -0
  6. package/dist/types/core/schema.d.ts +379 -485
  7. package/dist/types/core/types.d.ts +8 -6
  8. package/docs/advanced/meta.ts +1 -8
  9. package/docs/advanced/skills.mdx +28 -0
  10. package/docs/configuration/ai.mdx +58 -0
  11. package/docs/configuration/index.mdx +13 -17
  12. package/docs/configuration/seo.mdx +59 -1
  13. package/docs/configuration/theming.mdx +15 -18
  14. package/docs/content/components.mdx +2 -53
  15. package/docs/content/i18n.mdx +0 -4
  16. package/docs/content/meta.mdx +3 -17
  17. package/docs/content/navigation.mdx +41 -4
  18. package/docs/content/syntax.mdx +1 -1
  19. package/docs/index.mdx +0 -1
  20. package/docs/reference/cli.mdx +12 -13
  21. package/package.json +6 -6
  22. package/skills/blume/SKILL.md +71 -0
  23. package/skills/blume-update-docs/SKILL.md +52 -0
  24. package/skills/blume-update-docs/references/audit-checklist.md +46 -0
  25. package/src/ai/agent-readability.ts +97 -0
  26. package/src/ai/ask-context.ts +131 -8
  27. package/src/ai/ask-data.ts +4 -1
  28. package/src/astro/generate.ts +19 -12
  29. package/src/astro/integration.ts +0 -21
  30. package/src/astro/templates.ts +33 -21
  31. package/src/cli/commands/build.ts +15 -0
  32. package/src/cli/commands/dev.ts +31 -20
  33. package/src/cli/commands/validate.ts +0 -2
  34. package/src/cli/dev-lock.ts +94 -21
  35. package/src/cli/index.ts +0 -2
  36. package/src/components/BlumePage.astro +0 -6
  37. package/src/components/Icon.astro +1 -12
  38. package/src/components/content/AccordionItem.astro +3 -6
  39. package/src/components/content/Badge.astro +1 -3
  40. package/src/components/content/Callout.astro +3 -9
  41. package/src/components/content/Card.astro +2 -3
  42. package/src/components/content/ColorItem.astro +2 -2
  43. package/src/components/content/Column.astro +1 -1
  44. package/src/components/content/GithubInfo.astro +11 -10
  45. package/src/components/content/Prompt.astro +1 -1
  46. package/src/components/content/Step.astro +3 -4
  47. package/src/components/content/Tab.astro +2 -3
  48. package/src/components/content/TypeTable.astro +13 -8
  49. package/src/components/content/Update.astro +1 -1
  50. package/src/components/islands/AskAI.astro +66 -2
  51. package/src/components/islands/ask-ai.tsx +289 -53
  52. package/src/components/layout/Header.astro +27 -4
  53. package/src/components/layout/Logo.astro +5 -1
  54. package/src/components/layout/NavSelector.astro +1 -1
  55. package/src/components/layout/NavTree.astro +15 -15
  56. package/src/components/layout/PageActions.astro +73 -30
  57. package/src/components/layout/PageLayout.astro +42 -0
  58. package/src/components/layout/ReferenceLayout.astro +1 -0
  59. package/src/components/layout/RootLayout.astro +79 -4
  60. package/src/components/layout/Search.astro +5 -5
  61. package/src/components/layout/nav-utils.ts +9 -4
  62. package/src/components/openapi/ApiOverview.astro +4 -50
  63. package/src/components/openapi/ApiTagOperations.astro +42 -0
  64. package/src/core/builtin-tags.ts +1 -3
  65. package/src/core/config.ts +5 -28
  66. package/src/core/data.ts +6 -2
  67. package/src/core/graph.ts +8 -6
  68. package/src/core/i18n-ui.ts +5 -0
  69. package/src/core/links.ts +5 -19
  70. package/src/core/meta.ts +1 -1
  71. package/src/core/nav-diagnostics.ts +7 -0
  72. package/src/core/navigation.ts +38 -17
  73. package/src/core/project-graph.ts +0 -5
  74. package/src/core/schema.ts +133 -95
  75. package/src/core/sources/filesystem.ts +5 -1
  76. package/src/core/sources/resolve.ts +0 -13
  77. package/src/core/sources/watch.ts +43 -11
  78. package/src/core/types.ts +8 -6
  79. package/src/deploy/robots.ts +37 -4
  80. package/src/openapi/parse.ts +197 -14
  81. package/src/openapi/render-mdx.ts +44 -10
  82. package/src/openapi/scalar.ts +1 -1
  83. package/src/openapi/source.ts +19 -2
  84. package/src/search/documents.ts +9 -2
  85. package/src/theme/entry.ts +45 -17
  86. package/src/theme/icons.ts +18 -109
  87. package/src/theme/palette.ts +25 -51
  88. package/src/theme/twoslash.ts +6 -1
  89. package/dist/types/core/bridge.d.ts +0 -24
  90. package/dist/types/core/package-json.d.ts +0 -12
  91. package/dist/types/migrate/mintlify/assets.d.ts +0 -8
  92. package/dist/types/migrate/mintlify/config.d.ts +0 -16
  93. package/dist/types/migrate/mintlify/i18n.d.ts +0 -7
  94. package/dist/types/migrate/shared.d.ts +0 -153
  95. package/docs/advanced/bridge.mdx +0 -76
  96. package/docs/advanced/migrate.mdx +0 -124
  97. package/src/astro/static-assets.ts +0 -124
  98. package/src/cli/commands/migrate.ts +0 -39
  99. package/src/components/content/ApiField.astro +0 -75
  100. package/src/components/content/ParamField.astro +0 -39
  101. package/src/components/content/RequestField.astro +0 -23
  102. package/src/components/content/ResponseField.astro +0 -23
  103. package/src/components/content/Warning.astro +0 -9
  104. package/src/core/assets.ts +0 -31
  105. package/src/core/bridge.ts +0 -102
  106. package/src/core/sources/mintlify.ts +0 -190
  107. package/src/migrate/fumadocs/config.ts +0 -155
  108. package/src/migrate/fumadocs/content.ts +0 -376
  109. package/src/migrate/fumadocs/frontmatter.ts +0 -18
  110. package/src/migrate/fumadocs/groups.ts +0 -237
  111. package/src/migrate/fumadocs/index.ts +0 -355
  112. package/src/migrate/fumadocs/meta.ts +0 -244
  113. package/src/migrate/migrate.ts +0 -53
  114. package/src/migrate/mintlify/assets.ts +0 -46
  115. package/src/migrate/mintlify/config.ts +0 -954
  116. package/src/migrate/mintlify/content.ts +0 -120
  117. package/src/migrate/mintlify/frontmatter.ts +0 -126
  118. package/src/migrate/mintlify/i18n.ts +0 -51
  119. package/src/migrate/mintlify/icons.ts +0 -128
  120. package/src/migrate/mintlify/index.ts +0 -459
  121. package/src/migrate/mintlify/snippets.ts +0 -315
  122. package/src/migrate/mintlify/transform.ts +0 -82
  123. package/src/migrate/nextra/content.ts +0 -46
  124. package/src/migrate/nextra/frontmatter.ts +0 -40
  125. package/src/migrate/nextra/index.ts +0 -389
  126. package/src/migrate/nextra/meta.ts +0 -266
  127. package/src/migrate/shared.ts +0 -801
  128. package/src/migrate/starlight/config.ts +0 -455
  129. package/src/migrate/starlight/content.ts +0 -75
  130. package/src/migrate/starlight/frontmatter.ts +0 -111
  131. package/src/migrate/starlight/i18n.ts +0 -54
  132. package/src/migrate/starlight/index.ts +0 -131
@@ -5,19 +5,11 @@ import type { Diagnostic } from "./types.ts";
5
5
  * and a stable future home for plugin hooks; it does not transform input.
6
6
  */
7
7
  export declare const defineConfig: (config: BlumeConfig) => BlumeConfig;
8
- /** Bridge mode info: a foreign docs tool Blume is serving without migrating. */
9
- export interface ConfigBridge {
10
- tool: "mintlify";
11
- /** Absolute path of the foreign config file (`docs.json`/`mint.json`). */
12
- configFile: string;
13
- }
14
8
  /** Result of loading + validating a project config. */
15
9
  export interface ConfigLoadResult {
16
10
  config: ResolvedConfig;
17
11
  /** Absolute path of the config file used, or null when defaults were used. */
18
12
  configFile: string | null;
19
- /** Set when a foreign docs config (e.g. Mintlify) is being bridged. */
20
- bridge: ConfigBridge | null;
21
13
  diagnostics: Diagnostic[];
22
14
  }
23
15
  /**
@@ -15,6 +15,8 @@ export interface BlumeLogo {
15
15
  dark?: string;
16
16
  alt: string;
17
17
  href: string;
18
+ /** Wordmark text beside the mark; `undefined` falls back to the site title. */
19
+ text?: string;
18
20
  }
19
21
  /** A favicon or apple-touch-icon: a link href plus an optional MIME type. */
20
22
  export interface BlumeFavicon {
@@ -80,6 +82,10 @@ export interface BlumeDataConfig {
80
82
  analytics: NonNullable<ResolvedConfig["analytics"]> | null;
81
83
  /** Apple touch icon, or `null` when none is configured/detected. */
82
84
  appleIcon: BlumeFavicon | null;
85
+ /** Ask AI empty-state suggestions, or `null` when Ask AI is off. */
86
+ ask: {
87
+ suggestions: NonNullable<ResolvedConfig["ai"]["ask"]>["suggestions"];
88
+ } | null;
83
89
  banner: BlumeBanner | null;
84
90
  /** `markdown.code.wrap`: wrap long code lines instead of scrolling. */
85
91
  codeWrap: boolean;
@@ -87,8 +93,6 @@ export interface BlumeDataConfig {
87
93
  favicon: BlumeFavicon;
88
94
  feedback: boolean;
89
95
  i18n: BlumeDataI18n | null;
90
- /** Default icon library for bare `icon` names. */
91
- icons: ResolvedConfig["icons"];
92
96
  /** `markdown.imageZoom`: click-to-zoom content images. */
93
97
  imageZoom: boolean;
94
98
  logo: BlumeLogo | null;
@@ -16,6 +16,7 @@ declare const uiStringsObject: z.ZodObject<{
16
16
  connectMcp: z.ZodDefault<z.ZodString>;
17
17
  copied: z.ZodDefault<z.ZodString>;
18
18
  copyClaudeCode: z.ZodDefault<z.ZodString>;
19
+ copyCodex: z.ZodDefault<z.ZodString>;
19
20
  copyMarkdown: z.ZodDefault<z.ZodString>;
20
21
  copyServerUrl: z.ZodDefault<z.ZodString>;
21
22
  edit: z.ZodDefault<z.ZodString>;
@@ -33,6 +34,7 @@ declare const uiStringsObject: z.ZodObject<{
33
34
  edit: string;
34
35
  openInChat: string;
35
36
  scrollToTop: string;
37
+ copyCodex: string;
36
38
  }, {
37
39
  addToCursor?: string | undefined;
38
40
  addToVscode?: string | undefined;
@@ -45,13 +47,18 @@ declare const uiStringsObject: z.ZodObject<{
45
47
  edit?: string | undefined;
46
48
  openInChat?: string | undefined;
47
49
  scrollToTop?: string | undefined;
50
+ copyCodex?: string | undefined;
48
51
  }>>;
49
52
  ask: z.ZodDefault<z.ZodObject<{
53
+ clear: z.ZodDefault<z.ZodString>;
54
+ close: z.ZodDefault<z.ZodString>;
55
+ copy: z.ZodDefault<z.ZodString>;
50
56
  empty: z.ZodDefault<z.ZodString>;
51
57
  error: z.ZodDefault<z.ZodString>;
52
58
  label: z.ZodDefault<z.ZodString>;
53
59
  placeholder: z.ZodDefault<z.ZodString>;
54
60
  send: z.ZodDefault<z.ZodString>;
61
+ tip: z.ZodDefault<z.ZodString>;
55
62
  title: z.ZodDefault<z.ZodString>;
56
63
  }, "strip", z.ZodTypeAny, {
57
64
  empty: string;
@@ -60,6 +67,10 @@ declare const uiStringsObject: z.ZodObject<{
60
67
  placeholder: string;
61
68
  send: string;
62
69
  title: string;
70
+ clear: string;
71
+ close: string;
72
+ copy: string;
73
+ tip: string;
63
74
  }, {
64
75
  empty?: string | undefined;
65
76
  error?: string | undefined;
@@ -67,6 +78,10 @@ declare const uiStringsObject: z.ZodObject<{
67
78
  placeholder?: string | undefined;
68
79
  send?: string | undefined;
69
80
  title?: string | undefined;
81
+ clear?: string | undefined;
82
+ close?: string | undefined;
83
+ copy?: string | undefined;
84
+ tip?: string | undefined;
70
85
  }>>;
71
86
  feedback: z.ZodDefault<z.ZodObject<{
72
87
  no: z.ZodDefault<z.ZodString>;
@@ -165,6 +180,7 @@ declare const uiStringsObject: z.ZodObject<{
165
180
  edit: string;
166
181
  openInChat: string;
167
182
  scrollToTop: string;
183
+ copyCodex: string;
168
184
  };
169
185
  ask: {
170
186
  empty: string;
@@ -173,6 +189,10 @@ declare const uiStringsObject: z.ZodObject<{
173
189
  placeholder: string;
174
190
  send: string;
175
191
  title: string;
192
+ clear: string;
193
+ close: string;
194
+ copy: string;
195
+ tip: string;
176
196
  };
177
197
  feedback: {
178
198
  no: string;
@@ -219,6 +239,7 @@ declare const uiStringsObject: z.ZodObject<{
219
239
  edit?: string | undefined;
220
240
  openInChat?: string | undefined;
221
241
  scrollToTop?: string | undefined;
242
+ copyCodex?: string | undefined;
222
243
  } | undefined;
223
244
  ask?: {
224
245
  empty?: string | undefined;
@@ -227,6 +248,10 @@ declare const uiStringsObject: z.ZodObject<{
227
248
  placeholder?: string | undefined;
228
249
  send?: string | undefined;
229
250
  title?: string | undefined;
251
+ clear?: string | undefined;
252
+ close?: string | undefined;
253
+ copy?: string | undefined;
254
+ tip?: string | undefined;
230
255
  } | undefined;
231
256
  feedback?: {
232
257
  no?: string | undefined;
@@ -269,6 +294,7 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
269
294
  connectMcp: z.ZodDefault<z.ZodString>;
270
295
  copied: z.ZodDefault<z.ZodString>;
271
296
  copyClaudeCode: z.ZodDefault<z.ZodString>;
297
+ copyCodex: z.ZodDefault<z.ZodString>;
272
298
  copyMarkdown: z.ZodDefault<z.ZodString>;
273
299
  copyServerUrl: z.ZodDefault<z.ZodString>;
274
300
  edit: z.ZodDefault<z.ZodString>;
@@ -286,6 +312,7 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
286
312
  edit: string;
287
313
  openInChat: string;
288
314
  scrollToTop: string;
315
+ copyCodex: string;
289
316
  }, {
290
317
  addToCursor?: string | undefined;
291
318
  addToVscode?: string | undefined;
@@ -298,13 +325,18 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
298
325
  edit?: string | undefined;
299
326
  openInChat?: string | undefined;
300
327
  scrollToTop?: string | undefined;
328
+ copyCodex?: string | undefined;
301
329
  }>>;
302
330
  ask: z.ZodDefault<z.ZodObject<{
331
+ clear: z.ZodDefault<z.ZodString>;
332
+ close: z.ZodDefault<z.ZodString>;
333
+ copy: z.ZodDefault<z.ZodString>;
303
334
  empty: z.ZodDefault<z.ZodString>;
304
335
  error: z.ZodDefault<z.ZodString>;
305
336
  label: z.ZodDefault<z.ZodString>;
306
337
  placeholder: z.ZodDefault<z.ZodString>;
307
338
  send: z.ZodDefault<z.ZodString>;
339
+ tip: z.ZodDefault<z.ZodString>;
308
340
  title: z.ZodDefault<z.ZodString>;
309
341
  }, "strip", z.ZodTypeAny, {
310
342
  empty: string;
@@ -313,6 +345,10 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
313
345
  placeholder: string;
314
346
  send: string;
315
347
  title: string;
348
+ clear: string;
349
+ close: string;
350
+ copy: string;
351
+ tip: string;
316
352
  }, {
317
353
  empty?: string | undefined;
318
354
  error?: string | undefined;
@@ -320,6 +356,10 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
320
356
  placeholder?: string | undefined;
321
357
  send?: string | undefined;
322
358
  title?: string | undefined;
359
+ clear?: string | undefined;
360
+ close?: string | undefined;
361
+ copy?: string | undefined;
362
+ tip?: string | undefined;
323
363
  }>>;
324
364
  feedback: z.ZodDefault<z.ZodObject<{
325
365
  no: z.ZodDefault<z.ZodString>;
@@ -418,6 +458,7 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
418
458
  edit: string;
419
459
  openInChat: string;
420
460
  scrollToTop: string;
461
+ copyCodex: string;
421
462
  };
422
463
  ask: {
423
464
  empty: string;
@@ -426,6 +467,10 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
426
467
  placeholder: string;
427
468
  send: string;
428
469
  title: string;
470
+ clear: string;
471
+ close: string;
472
+ copy: string;
473
+ tip: string;
429
474
  };
430
475
  feedback: {
431
476
  no: string;
@@ -472,6 +517,7 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
472
517
  edit?: string | undefined;
473
518
  openInChat?: string | undefined;
474
519
  scrollToTop?: string | undefined;
520
+ copyCodex?: string | undefined;
475
521
  } | undefined;
476
522
  ask?: {
477
523
  empty?: string | undefined;
@@ -480,6 +526,10 @@ export declare const uiStringsSchema: z.ZodDefault<z.ZodObject<{
480
526
  placeholder?: string | undefined;
481
527
  send?: string | undefined;
482
528
  title?: string | undefined;
529
+ clear?: string | undefined;
530
+ close?: string | undefined;
531
+ copy?: string | undefined;
532
+ tip?: string | undefined;
483
533
  } | undefined;
484
534
  feedback?: {
485
535
  no?: string | undefined;