mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-27 09:19:53 +00:00
Finish the fumadocs→Hanzo Docs rebrand: rename the remaining fuma-named
workspace packages and every reference so the framework is uniformly
@hanzo/docs-*. One brand, no Fuma in package names or product surface.
Package renames (name field + all refs: deps, imports, CSS @import,
configs, .changeset, next/vite build config):
fumadocs-core → @hanzo/docs-core
fumadocs-mdx → @hanzo/docs-mdx
fumadocs-ui → @hanzo/docs-ui (packages/radix-ui)
fumadocs-openapi → @hanzo/docs-openapi
fumadocs-preview → @hanzo/docs-preview
@fumadocs/base-ui → @hanzo/docs-base-ui
@fumadocs/basehub → @hanzo/docs-basehub
@fumadocs/language → @hanzo/docs-language
@fumadocs/local-md → @hanzo/docs-local-md
@fumadocs/sanity → @hanzo/docs-sanity
@fumadocs/shadcn → @hanzo/docs-shadcn
@fumadocs/vite → @hanzo/docs-vite
@fumari/stf → @hanzo/docs-stf
create-fumadocs-app → @hanzo/create-docs
create-fumadocs-versions → @hanzo/docs-create-versions
Stale @fumadocs/{cli,story,tailwind,mdx-remote,...} references collapsed to
their existing @hanzo/docs-* canonical packages (no dup created).
De-branded product strings: Fumadocs/Fuma prose → Hanzo Docs/Hanzo; site
branding, CLI output, doc copy, AI-assistant name, metadata. URLs
fumadocs.dev → docs.hanzo.ai, repo fuma-nama/fumadocs → hanzoai/docs.
Filesystem renames: packages/python/fumapy → hanzodocs_py, preview config,
what-is-fumadocs.mdx → what-is-hanzo-docs.mdx, api/fumadocs-ui route.
KEPT (real external npm deps / attribution — NOT renamed):
fuma-cli, fuma-content, @fumari/json-schema-ts (published upstream pkgs),
typesense-/trieve-fumadocs-adapter (3rd-party search adapters),
LICENSE "Copyright (c) 2023 Fuma" (OSS attribution, all 7 LICENSE files
untouched), CHANGELOG.md history (accurate release records, left as-is).
Build: node 24, pnpm install clean; all 4 target apps next build GREEN
(spec, gui-docs, zen-docs, base-docs) + full package closure (18/18 turbo).
Gate: zero @hanzo-package fumadocs-/@fumadocs/ references remain.
356 lines
7.4 KiB
TypeScript
356 lines
7.4 KiB
TypeScript
import { fileURLToPath } from 'node:url';
|
|
import type { Registry } from '@hanzo/docs-cli/build';
|
|
import * as path from 'node:path';
|
|
import type { Registry } from 'fuma-cli/compiler';
|
|
import { commonComponents, findSlotComponents } from '../../shared/registry.ts';
|
|
|
|
const dir = path.join(path.dirname(fileURLToPath(import.meta.url)), '../src');
|
|
|
|
// in shadcn cli, the order of files matters when writing import paths on consumer's codebase
|
|
export const registry: Registry = {
|
|
name: 'hanzo/base-ui',
|
|
dir,
|
|
tsconfigPath: '../tsconfig.json',
|
|
packageJson: '../package.json',
|
|
env: {
|
|
ui: '@hanzo/docs-base-ui',
|
|
},
|
|
onResolve(ref) {
|
|
return resolveExternal(ref, '@hanzo/docs-ui', dir) ?? ref;
|
|
},
|
|
components: [
|
|
...commonComponents,
|
|
...(await findSlotComponents(dir)),
|
|
{
|
|
name: 'layouts/sidebar',
|
|
unlisted: true,
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/sidebar/base.tsx',
|
|
target: '<dir>/docs-sidebar/base.tsx',
|
|
},
|
|
{
|
|
type: 'components',
|
|
path: 'components/sidebar/page-tree.tsx',
|
|
target: '<dir>/docs-sidebar/page-tree.tsx',
|
|
},
|
|
{
|
|
type: 'components',
|
|
path: 'components/sidebar/link-item.tsx',
|
|
target: '<dir>/docs-sidebar/link-item.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'layouts/shared',
|
|
unlisted: true,
|
|
files: [
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/shared/index.tsx',
|
|
target: '<dir>/shared/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/shared',
|
|
},
|
|
},
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/shared/client.tsx',
|
|
target: '<dir>/shared/client.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/shared',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'layouts/docs',
|
|
files: [
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/docs/index.tsx',
|
|
target: '<dir>/docs/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/docs',
|
|
},
|
|
},
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/docs/client.tsx',
|
|
target: '<dir>/docs/client.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/docs',
|
|
},
|
|
},
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/docs/page/index.tsx',
|
|
target: '<dir>/docs/page/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/docs/page',
|
|
},
|
|
},
|
|
],
|
|
unlisted: true,
|
|
},
|
|
{
|
|
name: 'layouts/flux',
|
|
files: [
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/flux/index.tsx',
|
|
target: '<dir>/flux/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/flux',
|
|
},
|
|
},
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/flux/page/index.tsx',
|
|
target: '<dir>/flux/page/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/flux/page',
|
|
},
|
|
},
|
|
],
|
|
unlisted: true,
|
|
},
|
|
{
|
|
name: 'layouts/notebook',
|
|
files: [
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/notebook/index.tsx',
|
|
target: '<dir>/notebook/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/notebook',
|
|
},
|
|
},
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/notebook/client.tsx',
|
|
target: '<dir>/notebook/client.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/notebook',
|
|
},
|
|
},
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/notebook/page/index.tsx',
|
|
target: '<dir>/notebook/page/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/notebook/page',
|
|
},
|
|
},
|
|
],
|
|
unlisted: true,
|
|
},
|
|
{
|
|
name: 'layouts/home',
|
|
files: [
|
|
{
|
|
type: 'layout',
|
|
path: 'layouts/home/index.tsx',
|
|
target: '<dir>/home/index.tsx',
|
|
meta: {
|
|
preserveAs: 'layouts/home',
|
|
},
|
|
},
|
|
{
|
|
type: 'ui',
|
|
path: 'components/ui/navigation-menu.tsx',
|
|
},
|
|
],
|
|
unlisted: true,
|
|
},
|
|
{
|
|
name: 'accordion',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/accordion.tsx',
|
|
},
|
|
{
|
|
type: 'ui',
|
|
path: 'components/ui/accordion.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'github-info',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/github-info.tsx',
|
|
},
|
|
],
|
|
description: 'A card to display GitHub repo info',
|
|
},
|
|
{
|
|
name: 'banner',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/banner.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'callout',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/callout.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'card',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/card.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'codeblock',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/codeblock.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'files',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/files.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'heading',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/heading.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'image-zoom',
|
|
description: 'Zoomable Image',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/image-zoom.tsx',
|
|
},
|
|
{
|
|
type: 'css',
|
|
path: 'components/image-zoom.css',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'inline-toc',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/inline-toc.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'steps',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/steps.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'tabs',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/tabs.tsx',
|
|
},
|
|
{
|
|
type: 'ui',
|
|
path: 'components/ui/tabs.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'type-table',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'components/type-table.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'button',
|
|
unlisted: true,
|
|
files: [
|
|
{
|
|
type: 'ui',
|
|
path: 'components/ui/button.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'popover',
|
|
unlisted: true,
|
|
files: [
|
|
{
|
|
type: 'ui',
|
|
path: 'components/ui/popover.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'scroll-area',
|
|
unlisted: true,
|
|
files: [
|
|
{
|
|
type: 'ui',
|
|
path: 'components/ui/scroll-area.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'collapsible',
|
|
unlisted: true,
|
|
files: [
|
|
{
|
|
type: 'ui',
|
|
path: 'components/ui/collapsible.tsx',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
name: 'ai/page-actions',
|
|
description: 'Common page actions',
|
|
files: [
|
|
{
|
|
type: 'components',
|
|
path: 'layouts/shared/page-actions.tsx',
|
|
target: '<dir>/ai/page-actions.tsx',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
dependencies: {
|
|
'@hanzo/docs-core': null,
|
|
'@hanzo/docs-base-ui': null,
|
|
react: null,
|
|
},
|
|
};
|