GitHub Pages

Fumadocs와 shadcn registry를 GitHub Pages에 정적 배포하는 방식입니다.

Static export

Fumadocs는 Next.js static export와 함께 사용할 수 있습니다. 이 프로젝트는 next.config.mjs에서 output: "export"를 사용합니다.

const nextConfig = {
  output: "export",
  trailingSlash: true,
  images: {
    unoptimized: true,
  },
}

Base path

현재 배포는 커스텀 도메인 krdscn.gwlee.kr의 루트 경로를 사용합니다. 따라서 Next.js basePath를 지정하지 않고 정적 export를 생성합니다.

pnpm build

레포 경로 배포가 필요할 때만 GITHUB_PAGES_BASE_PATH=/krdscn-ui처럼 명시적으로 지정합니다.

Registry URLs

배포 후 registry는 다음 위치에서 접근합니다.

https://krdscn.gwlee.kr/r/registry.json
https://krdscn.gwlee.kr/r/krds-all.json
https://krdscn.gwlee.kr/r/button.json

Limitation

GitHub Pages는 정적 호스팅이므로 shadcn 공식 사이트처럼 Accept header 기반 content negotiation은 어렵습니다. 대신 /r/*.json URL을 명시적으로 사용합니다.