blume 0.6.1 → 0.6.3

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 (52) hide show
  1. package/dist/cli/index.js +5955 -5733
  2. package/dist/cli/index.js.map +37 -37
  3. package/dist/types/core/config-input.d.ts +1 -11
  4. package/dist/types/core/schema.d.ts +4 -4
  5. package/dist/types/core/sources/types.d.ts +6 -0
  6. package/package.json +1 -1
  7. package/src/astro/generate.ts +23 -13
  8. package/src/astro/markdown-negotiation.ts +12 -3
  9. package/src/astro/templates.ts +28 -7
  10. package/src/cli/commands/dev.ts +30 -14
  11. package/src/cli/commands/doctor.ts +35 -7
  12. package/src/cli/commands/sync.ts +14 -2
  13. package/src/cli/dev-lock.ts +40 -10
  14. package/src/cli/env.ts +5 -1
  15. package/src/components/islands/ask-ai.tsx +3 -1
  16. package/src/components/islands/hooks.ts +5 -1
  17. package/src/components/layout/Header.astro +10 -2
  18. package/src/components/layout/NavSelector.astro +5 -3
  19. package/src/components/layout/PageLayout.astro +2 -1
  20. package/src/components/layout/Pagination.astro +2 -2
  21. package/src/components/layout/ReferenceLayout.astro +1 -0
  22. package/src/components/layout/RootLayout.astro +33 -9
  23. package/src/components/layout/Search.astro +8 -3
  24. package/src/components/layout/nav-utils.ts +7 -3
  25. package/src/core/config-input.ts +1 -11
  26. package/src/core/i18n.ts +6 -5
  27. package/src/core/links.ts +16 -1
  28. package/src/core/meta.ts +112 -52
  29. package/src/core/navigation.ts +15 -5
  30. package/src/core/project-graph.ts +68 -2
  31. package/src/core/schema.ts +2 -1
  32. package/src/core/sources/assets.ts +21 -5
  33. package/src/core/sources/cache.ts +19 -1
  34. package/src/core/sources/github-releases.ts +9 -3
  35. package/src/core/sources/mdx-remote.ts +14 -4
  36. package/src/core/sources/normalize.ts +13 -1
  37. package/src/core/sources/notion.ts +43 -7
  38. package/src/core/sources/resolve.ts +44 -1
  39. package/src/core/sources/sanity.ts +9 -3
  40. package/src/core/sources/types.ts +6 -0
  41. package/src/deploy/rss.ts +3 -1
  42. package/src/markdown/code-title.ts +11 -4
  43. package/src/markdown/package-commands.ts +13 -0
  44. package/src/og/card.ts +24 -21
  45. package/src/openapi/model.ts +2 -1
  46. package/src/openapi/parse.ts +9 -1
  47. package/src/openapi/references.ts +11 -1
  48. package/src/openapi/render-mdx.ts +30 -3
  49. package/src/openapi/source.ts +3 -1
  50. package/src/search/documents.ts +4 -1
  51. package/src/theme/entry.ts +3 -0
  52. package/src/theme/icons.ts +7 -11
@@ -435,6 +435,9 @@ blume-diff {
435
435
  font-size: 0.8125rem;
436
436
  }
437
437
 
438
+ /* GFM renders cells as <td><code> directly, which the descendant form alone
439
+ never matches (a cell is not its own descendant). */
440
+ .prose :where(td, th) > code,
438
441
  .prose :where(td, th) :not(pre) > code {
439
442
  white-space: nowrap;
440
443
  }
@@ -79,14 +79,10 @@ export const resolveIcon = (name: string): ResolvedIcon | null => {
79
79
  return fromSet(DEFAULT_SET, normalized);
80
80
  };
81
81
 
82
- /** Whether a name resolves to a known Lucide icon. */
83
- export const hasIcon = (name: string): boolean => {
84
- if (resolveIcon(name)) {
85
- return true;
86
- }
87
- const normalized = normalize(name);
88
- const bare = normalized.includes(":")
89
- ? normalized.slice(normalized.indexOf(":") + 1)
90
- : normalized;
91
- return Object.values(SETS).some((set) => getIconData(set, bare) !== null);
92
- };
82
+ /**
83
+ * Whether a name resolves to a renderable icon. Exactly mirrors
84
+ * {@link resolveIcon}: a laxer check (e.g. matching the bare name under an
85
+ * unknown prefix) would let callers suppress their fallback and diagnostics
86
+ * for a name `<Icon>` then renders as nothing.
87
+ */
88
+ export const hasIcon = (name: string): boolean => resolveIcon(name) !== null;