Files
docs/apps/zen-docs/lib/source.ts
zeekay 54d5d9d57b feat(zen-docs): add shared model components, fix /docs/models page, add blog
Model components:
- Add ModelTable, ZenEnso, ZenLoader components (thin wrappers over @hanzo/ui/models)
- Register ModelTable in client-components.tsx and page.tsx components map
- Rewrite /docs/models.mdx — replace broken DynamicModelTable (dead API)
  with ModelTable using static @hanzo/zen-models data
- Add individual model detail pages (zen3, zen4, zen5 variants)

zen-models:
- Fix zen3 family name: "Zen 3 Multimodal" → "Zen 3"
- Update zen3 description: "Previous generation API models..."

Blog:
- Add blog route (app/blog/, content/blog/)
- Add 30+ zen/hanzo-branded technical blog posts
- Brand-clean: excludes upstream-named posts

Home:
- Update ModelLibrary, layout, page, DownloadSection
- Add not-found page
2026-03-01 15:21:40 -08:00

24 lines
673 B
TypeScript

import { docs } from '@/docs/server';
import { type InferPageType, loader } from '@hanzo/docs-core/source';
import { lucideIconsPlugin } from '@hanzo/docs-core/source/lucide-icons';
export const source = loader({
baseUrl: '/docs',
source: docs.toSource(),
plugins: [lucideIconsPlugin()],
});
export function getPageImage(page: InferPageType<typeof source>) {
const segments = [...page.slugs, 'image.png'];
return {
segments,
url: `/og/docs/${segments.join('/')}`,
};
}
export async function getLLMText(page: InferPageType<typeof source>) {
const processed = await page.data.getText('processed');
return `# ${page.data.title}\n\n${processed}`;
}