Skip to content

테마 레이아웃 및 슬롯 ​

레이아웃 ​

mineproj는 7개의 핵심 레이아웃을 필요로 합니다. 각 레이아웃은 LayoutProps를 받는 React 컴포넌트입니다.

홈 레이아웃 ​

홈페이지입니다. 추천 프로젝트, 최근 프로젝트, 프로필 정보를 표시합니다.

목록 레이아웃 ​

필터링/정렬된 프로젝트 그리드를 표시합니다. /projects/ 경로에서 사용됩니다.

상세 레이아웃 ​

/projects/<slug>/의 개별 프로젝트 페이지입니다. 전체 프로젝트 상세 정보, 본문 콘텐츠, 스크린샷, 비디오, PDF, 플레이 가능한 데모를 표시합니다.

태그 레이아웃 ​

/tags/<tag>/에서 태그로 필터링된 프로젝트를 나열합니다.

컬렉션 레이아웃 ​

컬렉션의 프로젝트를 나열합니다. 태그 레이아웃과 유사하게 작동합니다.

소개 레이아웃 ​

/about/의 소개 페이지입니다. 프로필 정보를 표시합니다.

찾을 수 없음 레이아웃 ​

404 페이지입니다. 경로가 일치하지 않을 때 표시됩니다.

슬롯 ​

슬롯은 플러그인이 컴포넌트를 삽입할 수 있는 확장 지점입니다:

ts
// 플러그인에서
export default definePlugin({
  name: 'my-plugin',
  hooks: {
    setup: (ctx) => {
      ctx.registerSlot('header', MyHeaderComponent);
    },
  },
});

기본 제공 슬롯에는 일반적으로 header, footer, sidebar, editor-shell이 포함됩니다.

폴백 동작 ​

테마가 레이아웃을 제공하지 않으면 mineproj는 기본 테마의 레이아웃으로 폴백하고 경고를 출력합니다. 이는 불완전한 테마에서도 사이트가 항상 빌드되도록 보장합니다.

컴포넌트 레지스트리 ​

컴포넌트 레지스트리는 다음 순서로 컴포넌트를 확인합니다:

  1. 테마 컴포넌트
  2. 플러그인 컴포넌트
  3. 사용자 재정의 (나중에 선언된 것이 우선)

알 수 없는 컴포넌트 재정의는 경고를 트리거합니다.

Released under the Apache-2.0 License.