blume 0.1.5 → 0.3.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 (85) hide show
  1. package/dist/cli/index.js +2123 -555
  2. package/dist/cli/index.js.map +39 -25
  3. package/dist/types/core/data.d.ts +16 -0
  4. package/dist/types/core/define-components.d.ts +9 -2
  5. package/dist/types/core/diagnostics.d.ts +5 -0
  6. package/dist/types/core/schema.d.ts +136 -508
  7. package/dist/types/core/types.d.ts +2 -2
  8. package/docs/02-deployment.mdx +21 -2
  9. package/docs/advanced/changelog.mdx +28 -1
  10. package/docs/advanced/custom-pages.mdx +63 -2
  11. package/docs/configuration/ai.mdx +20 -3
  12. package/docs/configuration/customization.mdx +103 -5
  13. package/docs/configuration/index.mdx +25 -11
  14. package/docs/configuration/search.mdx +13 -1
  15. package/docs/configuration/seo.mdx +5 -0
  16. package/docs/configuration/theming.mdx +51 -0
  17. package/docs/content/components.mdx +18 -0
  18. package/docs/content/islands.mdx +73 -0
  19. package/docs/content/navigation.mdx +25 -0
  20. package/docs/content/sources.mdx +43 -0
  21. package/docs/content/syntax.mdx +1 -1
  22. package/docs/index.mdx +3 -12
  23. package/docs/reference/cli.mdx +49 -1
  24. package/docs/reference/frontmatter.mdx +9 -1
  25. package/package.json +3 -1
  26. package/src/ai/ask-context.ts +131 -0
  27. package/src/ai/ask-data.ts +25 -0
  28. package/src/astro/component-slots.ts +165 -0
  29. package/src/astro/generate.ts +162 -26
  30. package/src/astro/integration.ts +59 -0
  31. package/src/astro/pages.ts +5 -12
  32. package/src/astro/templates.ts +102 -45
  33. package/src/blume-modules.d.ts +25 -0
  34. package/src/cli/commands/build.ts +186 -1
  35. package/src/cli/commands/check.ts +62 -0
  36. package/src/cli/commands/dev.ts +21 -1
  37. package/src/cli/commands/doctor.ts +23 -6
  38. package/src/cli/commands/init.ts +163 -15
  39. package/src/cli/commands/validate.ts +16 -2
  40. package/src/cli/env.ts +84 -0
  41. package/src/cli/index.ts +20 -0
  42. package/src/cli/internal-error.ts +63 -0
  43. package/src/cli/log.ts +30 -1
  44. package/src/cli/prepare.ts +22 -3
  45. package/src/cli/required-secrets.ts +44 -0
  46. package/src/components/BlumePage.astro +107 -0
  47. package/src/components/content/CodeBlock.astro +7 -2
  48. package/src/components/index.ts +3 -3
  49. package/src/components/islands/ask-ai.tsx +15 -1
  50. package/src/components/islands/hooks.ts +188 -0
  51. package/src/components/layout/Empty.astro +6 -0
  52. package/src/components/layout/Header.astro +24 -39
  53. package/src/components/layout/Logo.astro +50 -0
  54. package/src/components/layout/NavSelector.astro +75 -0
  55. package/src/components/layout/PageLayout.astro +38 -2
  56. package/src/components/layout/RootLayout.astro +70 -4
  57. package/src/components/layout/hydration-hint.ts +30 -0
  58. package/src/components/layout/overrides.ts +6 -4
  59. package/src/components/props.ts +68 -0
  60. package/src/core/builtin-tags.ts +39 -0
  61. package/src/core/component-diagnostics.ts +44 -0
  62. package/src/core/component-overrides.ts +478 -0
  63. package/src/core/config.ts +8 -0
  64. package/src/core/data.ts +14 -0
  65. package/src/core/define-components.ts +9 -2
  66. package/src/core/diagnostics.ts +90 -1
  67. package/src/core/graph.ts +7 -0
  68. package/src/core/nav-diagnostics.ts +205 -0
  69. package/src/core/project-graph.ts +40 -1
  70. package/src/core/schema.ts +54 -96
  71. package/src/core/sources/github-releases.ts +200 -0
  72. package/src/core/sources/normalize.ts +51 -0
  73. package/src/core/sources/resolve.ts +16 -0
  74. package/src/core/types.ts +2 -2
  75. package/src/deploy/redirects.ts +43 -0
  76. package/src/markdown/index.ts +24 -0
  77. package/src/migrate/mintlify/config.ts +1 -176
  78. package/src/migrate/starlight/config.ts +0 -4
  79. package/src/og/card.ts +163 -38
  80. package/src/registry/eject.ts +39 -9
  81. package/src/registry/registry.ts +166 -0
  82. package/src/runtime/index.ts +61 -0
  83. package/src/vite-env.d.ts +14 -0
  84. package/docs/changelog/v0-1-0.mdx +0 -12
  85. package/docs/changelog/v0-2-0.mdx +0 -16
@@ -475,6 +475,40 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
475
475
  ref?: string | undefined;
476
476
  } | undefined;
477
477
  pollInterval?: number | undefined;
478
+ }>, z.ZodObject<{
479
+ /** Include draft releases (needs a token with repo write access). */
480
+ drafts: z.ZodOptional<z.ZodBoolean>;
481
+ /** Cap the number of releases materialized, newest-first. Default 100. */
482
+ limit: z.ZodOptional<z.ZodNumber>;
483
+ /** Repository owner (user or org). */
484
+ owner: z.ZodString;
485
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
486
+ pollInterval: z.ZodOptional<z.ZodNumber>;
487
+ /** Namespaces the source's routes under `/<prefix>/`; e.g. `changelog`. */
488
+ prefix: z.ZodOptional<z.ZodString>;
489
+ /** Include prereleases. */
490
+ prereleases: z.ZodOptional<z.ZodBoolean>;
491
+ /** Repository name. */
492
+ repo: z.ZodString;
493
+ type: z.ZodLiteral<"github-releases">;
494
+ }, "strict", z.ZodTypeAny, {
495
+ type: "github-releases";
496
+ owner: string;
497
+ repo: string;
498
+ prefix?: string | undefined;
499
+ pollInterval?: number | undefined;
500
+ drafts?: boolean | undefined;
501
+ limit?: number | undefined;
502
+ prereleases?: boolean | undefined;
503
+ }, {
504
+ type: "github-releases";
505
+ owner: string;
506
+ repo: string;
507
+ prefix?: string | undefined;
508
+ pollInterval?: number | undefined;
509
+ drafts?: boolean | undefined;
510
+ limit?: number | undefined;
511
+ prereleases?: boolean | undefined;
478
512
  }>, z.ZodObject<{
479
513
  /** Sanity API version (a date); default `2024-01-01`. */
480
514
  apiVersion: z.ZodOptional<z.ZodString>;
@@ -813,7 +847,6 @@ declare const openapiSourceSchema: z.ZodObject<{
813
847
  route?: string | undefined;
814
848
  }>;
815
849
  export type OpenApiSource = z.infer<typeof openapiSourceSchema>;
816
- /** Full user-facing config schema. All fields optional with defaults. */
817
850
  export declare const blumeConfigSchema: z.ZodObject<{
818
851
  ai: z.ZodDefault<z.ZodObject<{
819
852
  ask: z.ZodOptional<z.ZodEffects<z.ZodObject<{
@@ -1119,6 +1152,40 @@ export declare const blumeConfigSchema: z.ZodObject<{
1119
1152
  ref?: string | undefined;
1120
1153
  } | undefined;
1121
1154
  pollInterval?: number | undefined;
1155
+ }>, z.ZodObject<{
1156
+ /** Include draft releases (needs a token with repo write access). */
1157
+ drafts: z.ZodOptional<z.ZodBoolean>;
1158
+ /** Cap the number of releases materialized, newest-first. Default 100. */
1159
+ limit: z.ZodOptional<z.ZodNumber>;
1160
+ /** Repository owner (user or org). */
1161
+ owner: z.ZodString;
1162
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
1163
+ pollInterval: z.ZodOptional<z.ZodNumber>;
1164
+ /** Namespaces the source's routes under `/<prefix>/`; e.g. `changelog`. */
1165
+ prefix: z.ZodOptional<z.ZodString>;
1166
+ /** Include prereleases. */
1167
+ prereleases: z.ZodOptional<z.ZodBoolean>;
1168
+ /** Repository name. */
1169
+ repo: z.ZodString;
1170
+ type: z.ZodLiteral<"github-releases">;
1171
+ }, "strict", z.ZodTypeAny, {
1172
+ type: "github-releases";
1173
+ owner: string;
1174
+ repo: string;
1175
+ prefix?: string | undefined;
1176
+ pollInterval?: number | undefined;
1177
+ drafts?: boolean | undefined;
1178
+ limit?: number | undefined;
1179
+ prereleases?: boolean | undefined;
1180
+ }, {
1181
+ type: "github-releases";
1182
+ owner: string;
1183
+ repo: string;
1184
+ prefix?: string | undefined;
1185
+ pollInterval?: number | undefined;
1186
+ drafts?: boolean | undefined;
1187
+ limit?: number | undefined;
1188
+ prereleases?: boolean | undefined;
1122
1189
  }>, z.ZodObject<{
1123
1190
  /** Sanity API version (a date); default `2024-01-01`. */
1124
1191
  apiVersion: z.ZodOptional<z.ZodString>;
@@ -1327,6 +1394,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
1327
1394
  slug?: string | undefined;
1328
1395
  } | undefined;
1329
1396
  publishedValue?: string | undefined;
1397
+ } | {
1398
+ type: "github-releases";
1399
+ owner: string;
1400
+ repo: string;
1401
+ prefix?: string | undefined;
1402
+ pollInterval?: number | undefined;
1403
+ drafts?: boolean | undefined;
1404
+ limit?: number | undefined;
1405
+ prereleases?: boolean | undefined;
1330
1406
  } | {
1331
1407
  type: "mintlify";
1332
1408
  exclude: string[];
@@ -1392,6 +1468,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
1392
1468
  slug?: string | undefined;
1393
1469
  } | undefined;
1394
1470
  publishedValue?: string | undefined;
1471
+ } | {
1472
+ type: "github-releases";
1473
+ owner: string;
1474
+ repo: string;
1475
+ prefix?: string | undefined;
1476
+ pollInterval?: number | undefined;
1477
+ drafts?: boolean | undefined;
1478
+ limit?: number | undefined;
1479
+ prereleases?: boolean | undefined;
1395
1480
  } | {
1396
1481
  type: "mintlify";
1397
1482
  exclude?: string[] | undefined;
@@ -1405,41 +1490,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
1405
1490
  source: ContentSource;
1406
1491
  })[] | undefined;
1407
1492
  }>>;
1408
- contextual: z.ZodDefault<z.ZodObject<{
1409
- display: z.ZodDefault<z.ZodEnum<["header", "toc"]>>;
1410
- options: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
1411
- description: z.ZodOptional<z.ZodString>;
1412
- href: z.ZodOptional<z.ZodString>;
1413
- icon: z.ZodOptional<z.ZodString>;
1414
- title: z.ZodString;
1415
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1416
- description: z.ZodOptional<z.ZodString>;
1417
- href: z.ZodOptional<z.ZodString>;
1418
- icon: z.ZodOptional<z.ZodString>;
1419
- title: z.ZodString;
1420
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1421
- description: z.ZodOptional<z.ZodString>;
1422
- href: z.ZodOptional<z.ZodString>;
1423
- icon: z.ZodOptional<z.ZodString>;
1424
- title: z.ZodString;
1425
- }, z.ZodTypeAny, "passthrough">>]>, "many">>;
1426
- }, "strict", z.ZodTypeAny, {
1427
- display: "toc" | "header";
1428
- options: (string | z.objectOutputType<{
1429
- description: z.ZodOptional<z.ZodString>;
1430
- href: z.ZodOptional<z.ZodString>;
1431
- icon: z.ZodOptional<z.ZodString>;
1432
- title: z.ZodString;
1433
- }, z.ZodTypeAny, "passthrough">)[];
1434
- }, {
1435
- display?: "toc" | "header" | undefined;
1436
- options?: (string | z.objectInputType<{
1437
- description: z.ZodOptional<z.ZodString>;
1438
- href: z.ZodOptional<z.ZodString>;
1439
- icon: z.ZodOptional<z.ZodString>;
1440
- title: z.ZodString;
1441
- }, z.ZodTypeAny, "passthrough">)[] | undefined;
1442
- }>>;
1443
1493
  deployment: z.ZodDefault<z.ZodObject<{
1444
1494
  adapter: z.ZodDefault<z.ZodNullable<z.ZodEnum<["vercel", "node", "netlify", "cloudflare"]>>>;
1445
1495
  base: z.ZodOptional<z.ZodString>;
@@ -1498,52 +1548,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
1498
1548
  light?: string | undefined;
1499
1549
  }>]>>;
1500
1550
  feedback: z.ZodDefault<z.ZodBoolean>;
1501
- footer: z.ZodDefault<z.ZodObject<{
1502
- links: z.ZodDefault<z.ZodArray<z.ZodObject<{
1503
- header: z.ZodOptional<z.ZodString>;
1504
- items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1505
- href: z.ZodString;
1506
- label: z.ZodString;
1507
- }, "strict", z.ZodTypeAny, {
1508
- label: string;
1509
- href: string;
1510
- }, {
1511
- label: string;
1512
- href: string;
1513
- }>, "many">>;
1514
- }, "strict", z.ZodTypeAny, {
1515
- items: {
1516
- label: string;
1517
- href: string;
1518
- }[];
1519
- header?: string | undefined;
1520
- }, {
1521
- items?: {
1522
- label: string;
1523
- href: string;
1524
- }[] | undefined;
1525
- header?: string | undefined;
1526
- }>, "many">>;
1527
- socials: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1528
- }, "strict", z.ZodTypeAny, {
1529
- links: {
1530
- items: {
1531
- label: string;
1532
- href: string;
1533
- }[];
1534
- header?: string | undefined;
1535
- }[];
1536
- socials: Record<string, string>;
1537
- }, {
1538
- links?: {
1539
- items?: {
1540
- label: string;
1541
- href: string;
1542
- }[] | undefined;
1543
- header?: string | undefined;
1544
- }[] | undefined;
1545
- socials?: Record<string, string> | undefined;
1546
- }>>;
1547
1551
  github: z.ZodOptional<z.ZodObject<{
1548
1552
  branch: z.ZodDefault<z.ZodString>;
1549
1553
  /** Path from the repo root to the project root (for monorepos). */
@@ -1630,13 +1634,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
1630
1634
  parser?: "dir" | "dot" | undefined;
1631
1635
  ui?: Record<string, Record<string, Record<string, string>>> | undefined;
1632
1636
  }>>;
1633
- icons: z.ZodDefault<z.ZodObject<{
1634
- library: z.ZodDefault<z.ZodEnum<["fontawesome", "lucide", "tabler"]>>;
1635
- }, "strict", z.ZodTypeAny, {
1636
- library: "fontawesome" | "lucide" | "tabler";
1637
- }, {
1638
- library?: "fontawesome" | "lucide" | "tabler" | undefined;
1639
- }>>;
1640
1637
  lastModified: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
1641
1638
  type: z.ZodDefault<z.ZodEnum<["git", "frontmatter"]>>;
1642
1639
  }, "strict", z.ZodTypeAny, {
@@ -1775,79 +1772,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
1775
1772
  name?: string | undefined;
1776
1773
  route?: string | undefined;
1777
1774
  }>>;
1778
- navbar: z.ZodDefault<z.ZodObject<{
1779
- links: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
1780
- href: z.ZodString;
1781
- icon: z.ZodOptional<z.ZodString>;
1782
- label: z.ZodOptional<z.ZodString>;
1783
- type: z.ZodOptional<z.ZodEnum<["github", "discord"]>>;
1784
- }, "strict", z.ZodTypeAny, {
1785
- href: string;
1786
- type?: "github" | "discord" | undefined;
1787
- label?: string | undefined;
1788
- icon?: string | undefined;
1789
- }, {
1790
- href: string;
1791
- type?: "github" | "discord" | undefined;
1792
- label?: string | undefined;
1793
- icon?: string | undefined;
1794
- }>, {
1795
- href: string;
1796
- type?: "github" | "discord" | undefined;
1797
- label?: string | undefined;
1798
- icon?: string | undefined;
1799
- }, {
1800
- href: string;
1801
- type?: "github" | "discord" | undefined;
1802
- label?: string | undefined;
1803
- icon?: string | undefined;
1804
- }>, "many">>;
1805
- primary: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1806
- href: z.ZodString;
1807
- label: z.ZodOptional<z.ZodString>;
1808
- type: z.ZodDefault<z.ZodEnum<["button", "github", "discord"]>>;
1809
- }, "strict", z.ZodTypeAny, {
1810
- type: "button" | "github" | "discord";
1811
- href: string;
1812
- label?: string | undefined;
1813
- }, {
1814
- href: string;
1815
- type?: "button" | "github" | "discord" | undefined;
1816
- label?: string | undefined;
1817
- }>, {
1818
- type: "button" | "github" | "discord";
1819
- href: string;
1820
- label?: string | undefined;
1821
- }, {
1822
- href: string;
1823
- type?: "button" | "github" | "discord" | undefined;
1824
- label?: string | undefined;
1825
- }>>;
1826
- }, "strict", z.ZodTypeAny, {
1827
- links: {
1828
- href: string;
1829
- type?: "github" | "discord" | undefined;
1830
- label?: string | undefined;
1831
- icon?: string | undefined;
1832
- }[];
1833
- primary?: {
1834
- type: "button" | "github" | "discord";
1835
- href: string;
1836
- label?: string | undefined;
1837
- } | undefined;
1838
- }, {
1839
- links?: {
1840
- href: string;
1841
- type?: "github" | "discord" | undefined;
1842
- label?: string | undefined;
1843
- icon?: string | undefined;
1844
- }[] | undefined;
1845
- primary?: {
1846
- href: string;
1847
- type?: "button" | "github" | "discord" | undefined;
1848
- label?: string | undefined;
1849
- } | undefined;
1850
- }>>;
1851
1775
  navigation: z.ZodDefault<z.ZodObject<{
1852
1776
  chromeVariants: z.ZodDefault<z.ZodArray<z.ZodObject<{
1853
1777
  banner: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
@@ -1912,125 +1836,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
1912
1836
  text: string;
1913
1837
  } | undefined;
1914
1838
  }>]>>;
1915
- footer: z.ZodOptional<z.ZodObject<{
1916
- links: z.ZodDefault<z.ZodArray<z.ZodObject<{
1917
- header: z.ZodOptional<z.ZodString>;
1918
- items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1919
- href: z.ZodString;
1920
- label: z.ZodString;
1921
- }, "strict", z.ZodTypeAny, {
1922
- label: string;
1923
- href: string;
1924
- }, {
1925
- label: string;
1926
- href: string;
1927
- }>, "many">>;
1928
- }, "strict", z.ZodTypeAny, {
1929
- items: {
1930
- label: string;
1931
- href: string;
1932
- }[];
1933
- header?: string | undefined;
1934
- }, {
1935
- items?: {
1936
- label: string;
1937
- href: string;
1938
- }[] | undefined;
1939
- header?: string | undefined;
1940
- }>, "many">>;
1941
- socials: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1942
- }, "strict", z.ZodTypeAny, {
1943
- links: {
1944
- items: {
1945
- label: string;
1946
- href: string;
1947
- }[];
1948
- header?: string | undefined;
1949
- }[];
1950
- socials: Record<string, string>;
1951
- }, {
1952
- links?: {
1953
- items?: {
1954
- label: string;
1955
- href: string;
1956
- }[] | undefined;
1957
- header?: string | undefined;
1958
- }[] | undefined;
1959
- socials?: Record<string, string> | undefined;
1960
- }>>;
1961
- navbar: z.ZodOptional<z.ZodObject<{
1962
- links: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
1963
- href: z.ZodString;
1964
- icon: z.ZodOptional<z.ZodString>;
1965
- label: z.ZodOptional<z.ZodString>;
1966
- type: z.ZodOptional<z.ZodEnum<["github", "discord"]>>;
1967
- }, "strict", z.ZodTypeAny, {
1968
- href: string;
1969
- type?: "github" | "discord" | undefined;
1970
- label?: string | undefined;
1971
- icon?: string | undefined;
1972
- }, {
1973
- href: string;
1974
- type?: "github" | "discord" | undefined;
1975
- label?: string | undefined;
1976
- icon?: string | undefined;
1977
- }>, {
1978
- href: string;
1979
- type?: "github" | "discord" | undefined;
1980
- label?: string | undefined;
1981
- icon?: string | undefined;
1982
- }, {
1983
- href: string;
1984
- type?: "github" | "discord" | undefined;
1985
- label?: string | undefined;
1986
- icon?: string | undefined;
1987
- }>, "many">>;
1988
- primary: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1989
- href: z.ZodString;
1990
- label: z.ZodOptional<z.ZodString>;
1991
- type: z.ZodDefault<z.ZodEnum<["button", "github", "discord"]>>;
1992
- }, "strict", z.ZodTypeAny, {
1993
- type: "button" | "github" | "discord";
1994
- href: string;
1995
- label?: string | undefined;
1996
- }, {
1997
- href: string;
1998
- type?: "button" | "github" | "discord" | undefined;
1999
- label?: string | undefined;
2000
- }>, {
2001
- type: "button" | "github" | "discord";
2002
- href: string;
2003
- label?: string | undefined;
2004
- }, {
2005
- href: string;
2006
- type?: "button" | "github" | "discord" | undefined;
2007
- label?: string | undefined;
2008
- }>>;
2009
- }, "strict", z.ZodTypeAny, {
2010
- links: {
2011
- href: string;
2012
- type?: "github" | "discord" | undefined;
2013
- label?: string | undefined;
2014
- icon?: string | undefined;
2015
- }[];
2016
- primary?: {
2017
- type: "button" | "github" | "discord";
2018
- href: string;
2019
- label?: string | undefined;
2020
- } | undefined;
2021
- }, {
2022
- links?: {
2023
- href: string;
2024
- type?: "github" | "discord" | undefined;
2025
- label?: string | undefined;
2026
- icon?: string | undefined;
2027
- }[] | undefined;
2028
- primary?: {
2029
- href: string;
2030
- type?: "button" | "github" | "discord" | undefined;
2031
- label?: string | undefined;
2032
- } | undefined;
2033
- }>>;
2034
1839
  path: z.ZodString;
2035
1840
  }, "strict", z.ZodTypeAny, {
2036
1841
  path: string;
@@ -2048,29 +1853,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2048
1853
  text: string;
2049
1854
  } | undefined;
2050
1855
  } | undefined;
2051
- footer?: {
2052
- links: {
2053
- items: {
2054
- label: string;
2055
- href: string;
2056
- }[];
2057
- header?: string | undefined;
2058
- }[];
2059
- socials: Record<string, string>;
2060
- } | undefined;
2061
- navbar?: {
2062
- links: {
2063
- href: string;
2064
- type?: "github" | "discord" | undefined;
2065
- label?: string | undefined;
2066
- icon?: string | undefined;
2067
- }[];
2068
- primary?: {
2069
- type: "button" | "github" | "discord";
2070
- href: string;
2071
- label?: string | undefined;
2072
- } | undefined;
2073
- } | undefined;
2074
1856
  }, {
2075
1857
  path: string;
2076
1858
  banner?: string | {
@@ -2087,29 +1869,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2087
1869
  text: string;
2088
1870
  } | undefined;
2089
1871
  } | undefined;
2090
- footer?: {
2091
- links?: {
2092
- items?: {
2093
- label: string;
2094
- href: string;
2095
- }[] | undefined;
2096
- header?: string | undefined;
2097
- }[] | undefined;
2098
- socials?: Record<string, string> | undefined;
2099
- } | undefined;
2100
- navbar?: {
2101
- links?: {
2102
- href: string;
2103
- type?: "github" | "discord" | undefined;
2104
- label?: string | undefined;
2105
- icon?: string | undefined;
2106
- }[] | undefined;
2107
- primary?: {
2108
- href: string;
2109
- type?: "button" | "github" | "discord" | undefined;
2110
- label?: string | undefined;
2111
- } | undefined;
2112
- } | undefined;
2113
1872
  }>, "many">>;
2114
1873
  /** Show a GitHub repo link in the header (requires `github` configured). */
2115
1874
  repo: z.ZodDefault<z.ZodBoolean>;
@@ -2232,29 +1991,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2232
1991
  text: string;
2233
1992
  } | undefined;
2234
1993
  } | undefined;
2235
- footer?: {
2236
- links: {
2237
- items: {
2238
- label: string;
2239
- href: string;
2240
- }[];
2241
- header?: string | undefined;
2242
- }[];
2243
- socials: Record<string, string>;
2244
- } | undefined;
2245
- navbar?: {
2246
- links: {
2247
- href: string;
2248
- type?: "github" | "discord" | undefined;
2249
- label?: string | undefined;
2250
- icon?: string | undefined;
2251
- }[];
2252
- primary?: {
2253
- type: "button" | "github" | "discord";
2254
- href: string;
2255
- label?: string | undefined;
2256
- } | undefined;
2257
- } | undefined;
2258
1994
  }[];
2259
1995
  selectors: {
2260
1996
  label: string;
@@ -2303,29 +2039,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2303
2039
  text: string;
2304
2040
  } | undefined;
2305
2041
  } | undefined;
2306
- footer?: {
2307
- links?: {
2308
- items?: {
2309
- label: string;
2310
- href: string;
2311
- }[] | undefined;
2312
- header?: string | undefined;
2313
- }[] | undefined;
2314
- socials?: Record<string, string> | undefined;
2315
- } | undefined;
2316
- navbar?: {
2317
- links?: {
2318
- href: string;
2319
- type?: "github" | "discord" | undefined;
2320
- label?: string | undefined;
2321
- icon?: string | undefined;
2322
- }[] | undefined;
2323
- primary?: {
2324
- href: string;
2325
- type?: "button" | "github" | "discord" | undefined;
2326
- label?: string | undefined;
2327
- } | undefined;
2328
- } | undefined;
2329
2042
  }[] | undefined;
2330
2043
  selectors?: {
2331
2044
  label: string;
@@ -2606,12 +2319,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
2606
2319
  /** Content types that each get a feed at `/<type>/rss.xml`. */
2607
2320
  types: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2608
2321
  }, "strict", z.ZodTypeAny, {
2609
- enabled: boolean;
2610
2322
  limit: number;
2323
+ enabled: boolean;
2611
2324
  types: string[];
2612
2325
  }, {
2613
- enabled?: boolean | undefined;
2614
2326
  limit?: number | undefined;
2327
+ enabled?: boolean | undefined;
2615
2328
  types?: string[] | undefined;
2616
2329
  }>>;
2617
2330
  /** Generate sitemap.xml (requires deployment.site). */
@@ -2620,8 +2333,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2620
2333
  structuredData: z.ZodDefault<z.ZodBoolean>;
2621
2334
  }, "strict", z.ZodTypeAny, {
2622
2335
  rss: {
2623
- enabled: boolean;
2624
2336
  limit: number;
2337
+ enabled: boolean;
2625
2338
  types: string[];
2626
2339
  };
2627
2340
  metatags: Record<string, string>;
@@ -2633,8 +2346,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2633
2346
  structuredData: boolean;
2634
2347
  }, {
2635
2348
  rss?: {
2636
- enabled?: boolean | undefined;
2637
2349
  limit?: number | undefined;
2350
+ enabled?: boolean | undefined;
2638
2351
  types?: string[] | undefined;
2639
2352
  } | undefined;
2640
2353
  metatags?: Record<string, string> | undefined;
@@ -2645,13 +2358,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2645
2358
  sitemap?: boolean | undefined;
2646
2359
  structuredData?: boolean | undefined;
2647
2360
  }>>;
2648
- styling: z.ZodDefault<z.ZodObject<{
2649
- eyebrows: z.ZodDefault<z.ZodEnum<["breadcrumbs", "section"]>>;
2650
- }, "strict", z.ZodTypeAny, {
2651
- eyebrows: "breadcrumbs" | "section";
2652
- }, {
2653
- eyebrows?: "breadcrumbs" | "section" | undefined;
2654
- }>>;
2655
2361
  theme: z.ZodDefault<z.ZodObject<{
2656
2362
  accent: z.ZodDefault<z.ZodString>;
2657
2363
  accentDark: z.ZodOptional<z.ZodString>;
@@ -2716,6 +2422,23 @@ export declare const blumeConfigSchema: z.ZodObject<{
2716
2422
  radius?: "md" | "none" | "sm" | "lg" | undefined;
2717
2423
  }>>;
2718
2424
  title: z.ZodDefault<z.ZodString>;
2425
+ toc: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
2426
+ maxHeadingLevel: z.ZodOptional<z.ZodNumber>;
2427
+ minHeadingLevel: z.ZodOptional<z.ZodNumber>;
2428
+ }, "strict", z.ZodTypeAny, {
2429
+ maxHeadingLevel?: number | undefined;
2430
+ minHeadingLevel?: number | undefined;
2431
+ }, {
2432
+ maxHeadingLevel?: number | undefined;
2433
+ minHeadingLevel?: number | undefined;
2434
+ }>]>>, {
2435
+ enabled: boolean;
2436
+ maxLevel: number;
2437
+ minLevel: number;
2438
+ }, boolean | {
2439
+ maxHeadingLevel?: number | undefined;
2440
+ minHeadingLevel?: number | undefined;
2441
+ } | undefined>;
2719
2442
  variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2720
2443
  }, "strict", z.ZodTypeAny, {
2721
2444
  title: string;
@@ -2747,13 +2470,18 @@ export declare const blumeConfigSchema: z.ZodObject<{
2747
2470
  } | undefined;
2748
2471
  prompt?: string | undefined;
2749
2472
  };
2473
+ toc: {
2474
+ enabled: boolean;
2475
+ maxLevel: number;
2476
+ minLevel: number;
2477
+ };
2750
2478
  lastModified: boolean | {
2751
2479
  type: "git" | "frontmatter";
2752
2480
  };
2753
2481
  seo: {
2754
2482
  rss: {
2755
- enabled: boolean;
2756
2483
  limit: number;
2484
+ enabled: boolean;
2757
2485
  types: string[];
2758
2486
  };
2759
2487
  metatags: Record<string, string>;
@@ -2817,6 +2545,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
2817
2545
  slug?: string | undefined;
2818
2546
  } | undefined;
2819
2547
  publishedValue?: string | undefined;
2548
+ } | {
2549
+ type: "github-releases";
2550
+ owner: string;
2551
+ repo: string;
2552
+ prefix?: string | undefined;
2553
+ pollInterval?: number | undefined;
2554
+ drafts?: boolean | undefined;
2555
+ limit?: number | undefined;
2556
+ prereleases?: boolean | undefined;
2820
2557
  } | {
2821
2558
  type: "mintlify";
2822
2559
  exclude: string[];
@@ -2831,29 +2568,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2831
2568
  })[] | undefined;
2832
2569
  };
2833
2570
  variables: Record<string, string>;
2834
- footer: {
2835
- links: {
2836
- items: {
2837
- label: string;
2838
- href: string;
2839
- }[];
2840
- header?: string | undefined;
2841
- }[];
2842
- socials: Record<string, string>;
2843
- };
2844
- navbar: {
2845
- links: {
2846
- href: string;
2847
- type?: "github" | "discord" | undefined;
2848
- label?: string | undefined;
2849
- icon?: string | undefined;
2850
- }[];
2851
- primary?: {
2852
- type: "button" | "github" | "discord";
2853
- href: string;
2854
- label?: string | undefined;
2855
- } | undefined;
2856
- };
2857
2571
  theme: {
2858
2572
  strict: boolean;
2859
2573
  mode: "dark" | "light" | "system";
@@ -2873,9 +2587,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2873
2587
  backgroundImage?: string | undefined;
2874
2588
  backgroundImageDark?: string | undefined;
2875
2589
  };
2876
- icons: {
2877
- library: "fontawesome" | "lucide" | "tabler";
2878
- };
2879
2590
  ai: {
2880
2591
  llmsTxt: boolean;
2881
2592
  ask?: {
@@ -2897,15 +2608,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2897
2608
  theme?: string | undefined;
2898
2609
  spec?: string | undefined;
2899
2610
  };
2900
- contextual: {
2901
- display: "toc" | "header";
2902
- options: (string | z.objectOutputType<{
2903
- description: z.ZodOptional<z.ZodString>;
2904
- href: z.ZodOptional<z.ZodString>;
2905
- icon: z.ZodOptional<z.ZodString>;
2906
- title: z.ZodString;
2907
- }, z.ZodTypeAny, "passthrough">)[];
2908
- };
2909
2611
  deployment: {
2910
2612
  adapter: "vercel" | "node" | "netlify" | "cloudflare" | null;
2911
2613
  output: "static" | "server";
@@ -2957,29 +2659,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2957
2659
  text: string;
2958
2660
  } | undefined;
2959
2661
  } | undefined;
2960
- footer?: {
2961
- links: {
2962
- items: {
2963
- label: string;
2964
- href: string;
2965
- }[];
2966
- header?: string | undefined;
2967
- }[];
2968
- socials: Record<string, string>;
2969
- } | undefined;
2970
- navbar?: {
2971
- links: {
2972
- href: string;
2973
- type?: "github" | "discord" | undefined;
2974
- label?: string | undefined;
2975
- icon?: string | undefined;
2976
- }[];
2977
- primary?: {
2978
- type: "button" | "github" | "discord";
2979
- href: string;
2980
- label?: string | undefined;
2981
- } | undefined;
2982
- } | undefined;
2983
2662
  }[];
2984
2663
  selectors: {
2985
2664
  label: string;
@@ -3026,9 +2705,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3026
2705
  from: string;
3027
2706
  to: string;
3028
2707
  }[];
3029
- styling: {
3030
- eyebrows: "breadcrumbs" | "section";
3031
- };
3032
2708
  description?: string | undefined;
3033
2709
  github?: {
3034
2710
  owner: string;
@@ -3115,14 +2791,18 @@ export declare const blumeConfigSchema: z.ZodObject<{
3115
2791
  prompt?: string | undefined;
3116
2792
  provider?: "none" | "orama" | "pagefind" | "flexsearch" | "algolia" | "orama-cloud" | "typesense" | "mixedbread" | undefined;
3117
2793
  } | undefined;
2794
+ toc?: boolean | {
2795
+ maxHeadingLevel?: number | undefined;
2796
+ minHeadingLevel?: number | undefined;
2797
+ } | undefined;
3118
2798
  description?: string | undefined;
3119
2799
  lastModified?: boolean | {
3120
2800
  type?: "git" | "frontmatter" | undefined;
3121
2801
  } | undefined;
3122
2802
  seo?: {
3123
2803
  rss?: {
3124
- enabled?: boolean | undefined;
3125
2804
  limit?: number | undefined;
2805
+ enabled?: boolean | undefined;
3126
2806
  types?: string[] | undefined;
3127
2807
  } | undefined;
3128
2808
  metatags?: Record<string, string> | undefined;
@@ -3186,6 +2866,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
3186
2866
  slug?: string | undefined;
3187
2867
  } | undefined;
3188
2868
  publishedValue?: string | undefined;
2869
+ } | {
2870
+ type: "github-releases";
2871
+ owner: string;
2872
+ repo: string;
2873
+ prefix?: string | undefined;
2874
+ pollInterval?: number | undefined;
2875
+ drafts?: boolean | undefined;
2876
+ limit?: number | undefined;
2877
+ prereleases?: boolean | undefined;
3189
2878
  } | {
3190
2879
  type: "mintlify";
3191
2880
  exclude?: string[] | undefined;
@@ -3220,29 +2909,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3220
2909
  text: string;
3221
2910
  } | undefined;
3222
2911
  } | undefined;
3223
- footer?: {
3224
- links?: {
3225
- items?: {
3226
- label: string;
3227
- href: string;
3228
- }[] | undefined;
3229
- header?: string | undefined;
3230
- }[] | undefined;
3231
- socials?: Record<string, string> | undefined;
3232
- } | undefined;
3233
- navbar?: {
3234
- links?: {
3235
- href: string;
3236
- type?: "github" | "discord" | undefined;
3237
- label?: string | undefined;
3238
- icon?: string | undefined;
3239
- }[] | undefined;
3240
- primary?: {
3241
- href: string;
3242
- type?: "button" | "github" | "discord" | undefined;
3243
- label?: string | undefined;
3244
- } | undefined;
3245
- } | undefined;
3246
2912
  theme?: {
3247
2913
  strict?: boolean | undefined;
3248
2914
  mode?: "dark" | "light" | "system" | undefined;
@@ -3262,9 +2928,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3262
2928
  layout?: "sidebar" | undefined;
3263
2929
  radius?: "md" | "none" | "sm" | "lg" | undefined;
3264
2930
  } | undefined;
3265
- icons?: {
3266
- library?: "fontawesome" | "lucide" | "tabler" | undefined;
3267
- } | undefined;
3268
2931
  ai?: {
3269
2932
  ask?: {
3270
2933
  provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
@@ -3299,15 +2962,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3299
2962
  theme?: string | undefined;
3300
2963
  spec?: string | undefined;
3301
2964
  } | undefined;
3302
- contextual?: {
3303
- display?: "toc" | "header" | undefined;
3304
- options?: (string | z.objectInputType<{
3305
- description: z.ZodOptional<z.ZodString>;
3306
- href: z.ZodOptional<z.ZodString>;
3307
- icon: z.ZodOptional<z.ZodString>;
3308
- title: z.ZodString;
3309
- }, z.ZodTypeAny, "passthrough">)[] | undefined;
3310
- } | undefined;
3311
2965
  deployment?: {
3312
2966
  adapter?: "vercel" | "node" | "netlify" | "cloudflare" | null | undefined;
3313
2967
  base?: string | undefined;
@@ -3382,29 +3036,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3382
3036
  text: string;
3383
3037
  } | undefined;
3384
3038
  } | undefined;
3385
- footer?: {
3386
- links?: {
3387
- items?: {
3388
- label: string;
3389
- href: string;
3390
- }[] | undefined;
3391
- header?: string | undefined;
3392
- }[] | undefined;
3393
- socials?: Record<string, string> | undefined;
3394
- } | undefined;
3395
- navbar?: {
3396
- links?: {
3397
- href: string;
3398
- type?: "github" | "discord" | undefined;
3399
- label?: string | undefined;
3400
- icon?: string | undefined;
3401
- }[] | undefined;
3402
- primary?: {
3403
- href: string;
3404
- type?: "button" | "github" | "discord" | undefined;
3405
- label?: string | undefined;
3406
- } | undefined;
3407
- } | undefined;
3408
3039
  }[] | undefined;
3409
3040
  selectors?: {
3410
3041
  label: string;
@@ -3450,9 +3081,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3450
3081
  to: string;
3451
3082
  status?: 301 | 302 | 307 | 308 | undefined;
3452
3083
  }[] | undefined;
3453
- styling?: {
3454
- eyebrows?: "breadcrumbs" | "section" | undefined;
3455
- } | undefined;
3456
3084
  }>;
3457
3085
  /** Resolved config: every field present after defaults are applied. */
3458
3086
  export type ResolvedConfig = z.infer<typeof blumeConfigSchema>;