Communitygithub.com

miketropi/nextora-site-composition

Nextora 또는 Nextora 하위 블록 테마의 표면(템플릿, 템플릿 파트, 패턴 등)을 구성합니다. 랜딩 페이지 레이아웃, 페이지 템플릿, 아카이브/검색 구성, 재사용 가능한 패턴, 헤더/푸터 파트, 쿼리 루프 등 사이트 구성과 관련된 요청을 처리합니다.

nextora-site-composition란 무엇인가요?

이 스킬은 Nextora 에코시스템 블록 테마의 '구성 레이어'를 담당합니다. `templates/`, `parts/`, `patterns/` 디렉토리와 `theme.json`의 선언을 관리하며, 템플릿 계층 구조, 파트 소유권 및 재정의 규칙, 패턴 헤더와 카테고리 규칙, 숨겨진 패턴과 얇은 템플릿 레시피, 쿼리 구성 및 정리 도우미, 파일시스템 대 데이터베이스 커스터마이제이션 등을 처리합니다. 지원 플랫폼은 Claude Code, Cursor, Codex 등 AI 에이전트 기반 개발 도구입니다. 이 스킬은 개발자가 랜딩 페이지, 페이지 템플릿, 아카이브, 검색 결과, 헤더/푸터, 쿼리 루프 등을 요청할 때 사용됩니다. 워크플로우는 테마 루트 확인, 기존 표면 조사, 템플릿 배치, 파트 소유권 결정, 패턴 작성, 전체 페이지 구성(단일 권한), 쿼리 구성, `theme.json` 정확성 유지, 사이트 편집기 고려, 실행 중인 사이트 확인 순서로 진행됩니다. 이 스킬은 기존 블록과 패턴의 재사용을 우선시하고, 불필요한 새로운 블록이나 클래식 PHP 템플릿을 만들지 않으며, 부모 테마나 샘플 하위 테마를 수정하지 않습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/miketropi/nextora-skills/tree/main/skills/nextora-site-composition

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Nextora 사이트 구성

Nextora 기반 블록 테마의 구성 레이어를 소유합니다: templates/, parts/, patterns/ 및 이를 설명하는 theme.json 선언. 블록 내부는 ../nextora-gutenberg-blocks/SKILL.md; 모양 및 사전 설정 데이터는 ../nextora-design-system/SKILL.md; 하위 부트스트랩 및 에셋은 ../nextora-child-themes/SKILL.md를 참조하세요.

로드할 참고 자료

  • references/templates-and-patterns.md — 실제 파일 이름, 파트 소유권 및 재정의 규칙, 패턴 헤더 및 카테고리 규칙, 숨겨진 패턴 및 얇은 템플릿 레시피, 쿼리 구성 및 정리 도우미, 파일시스템 대 데이터베이스 커스터마이제이션, 관찰된 결함, 그리고 다운스트림 WordPress 승인 레시피가 포함된 템플릿 계층 구조. 3단계 전에 로드하세요.
  • source-map.md — 거기에 명명된 모든 앵커의 출처.
  • quality-gates.md — 구성이 완료되었는지 결정하는 게이트.

로컬 파일은 이러한 참고 자료에 인용된 모든 값보다 우선합니다.

순서가 지정된 워크플로우

1. 테마 루트 확인 및 로컬 표면 읽기

부모는 템플릿 디렉토리이고, 활성 테마는 스타일시트 디렉토리입니다:

get_template_directory();      // 부모 루트
get_stylesheet_directory();    // 활성 테마 루트 (자식 테마가 활성화된 경우 자식)

다음 순서로 읽습니다: theme.json (customTemplates, templateParts), templates/, parts/, patterns/, 대상의 blocks/*/block.json 이름, 및 쿼리 또는 템플릿 도우미용 inc/. 자식의 템플릿 또는 파트 사본은 같은 이름의 부모 파일을 재정의하므로, 이미 존재하는 것이 대부분의 답을 결정합니다.

2. 구성하기 전에 이미 존재하는 것을 찾기

재사용이 발명보다 우선하며, 순서는 다음과 같습니다:

  1. 이미 해당 섹션인 기존 패턴.
  2. 이미 해당 섹션을 렌더링하는 기존 블록(부모 nextora/* 또는 자식의 자체 블록).
  3. 기존 블록으로 구성된 새로운 자식 패턴.
  4. 이러한 패턴을 조합하는 얇은 템플릿.
  5. 자식 파트 재정의 — 자식이 진정으로 소유한 표면에만 해당.
  6. 새로운 블록 — 요청된 동작이나 편집 구조를 기존 블록으로 표현할 수 없는 경우에만.

절대 목업 게시물을 프로덕션 콘텐츠로 제공하지 말고, 부모의 문의 양식 백엔드를 복제하지 마세요: 부모는 이미 nextora/contact-form 블록을 제공하며, 샘플의 문의 페이지는 자식 래퍼 그룹 내에서 이를 구성합니다.

3. 올바른 템플릿에 구성 배치

references/templates-and-patterns.md의 계층 구조를 적용합니다:

  • front-page.html은 있을 때 첫 페이지를 관장합니다. home.html은 게시물 색인이며, 첫 페이지의 동의어가 아닙니다. index.html은 폴백입니다.
  • 아카이브, 단일, 검색 및 페이지별 템플릿은 색인 폴백보다 우선합니다.
  • theme.json customTemplates에 선언된 이름은 해당 테마에 일치하는 templates/<name>.html이 있어야 합니다.

파일 이름을 추측하기보다 테마의 자체 templates/ 목록을 읽으세요: 부모는 front-page, home, index, archive, single, search, page, page-full-width, about-us, contact-us, frequently-asked-questions, theme-terms-conditions, theme-privacy-policy, 404를 제공합니다. 샘플 자식은 고유하게 이름이 지정된 자체 세트를 제공합니다.

4. 파트 소유권 결정 후 파트 참조

wp:template-part 참조는 먼저 스타일시트 디렉토리에서 확인되므로, 자식 parts/header.html은 사용되는 모든 곳에서 부모의 헤더를 대체합니다.

  • 자식이 소유할 이유가 없으면 부모 헤더/푸터를 유지하세요: 복사된 파트를 추가하지 마십시오.
  • 자식이 파트를 소유하는 경우 자식 소유 본문을 제공하고 참조에 명시하세요. 부모의 사본을 고정하는 theme 속성을 남기지 마십시오.
  • 샘플 자식의 parts/header.html 및 parts/footer.html은 각각 하나의 블록 참조입니다(nextsaas/site-header, nextsaas/site-footer). 부모의 헤더 파트는 nextora/scrolling-promotion 및 nextora/header를 구성합니다.
  • 소스의 참조 구문은 자식에서 {"slug":"header","tagName":"div"}이고 부모에서 {"slug":"header","tagName":"header","area":"header"}입니다. 대상의 자체 규칙을 따르세요. 절대 파일시스템 경로를 하드코딩하지 마십시오.

5. 실제 헤더가 있는 PHP 파일로 패턴 작성

패턴은 patterns/*.php에 있습니다. 등록은 register_block_pattern() 호출이 아닌 파일 헤더에서 비롯됩니다. 두 소스 테마 모두 호출하지 않으며, 둘 다 PHP에서 카테고리만 등록합니다. 필수 헤더 필드와 슬러그 규칙은 references/templates-and-patterns.md에 있습니다:

  • Title, Slug: <child-slug>/<pattern-slug> (고유), Categories, 및 언제 사용해야 하는지 설명하는 Description.
  • 패턴 본문은 편집기가 삽입하는 직렬화된 블록 마크업이며, 헤더 주석의 닫는 */ 뒤에서 시작합니다.
  • 구문 분석이 가능해야 하고, 등록된 블록만 사용해야 하며, 삽입 후에도 편집 가능해야 합니다.

6. 전체 페이지 구성에 정확히 하나의 권한 부여

새로운 전체 페이지 구성의 경우, 섹션 목록을 숨겨진 파일시스템 패턴(헤더에 Inserter: no)에 넣고 얇은 템플릿에서 참조합니다:

<!-- wp:template-part {"slug":"header","tagName":"div"} /-->

<!-- wp:pattern {"slug":"nextfolio/page-landing"} /-->

<!-- wp:template-part {"slug":"footer","tagName":"div"} /-->

섹션 목록을 템플릿에도 반복하지 마십시오. 샘플은 현재 동일한 목록을 두 번 보유하고 있으며(patterns/page-home.php 및 templates/front-page.html), 부모의 템플릿은 metadata.patternName을 전달하는 인라인 패턴 마크업을 사용합니다. 이 중복은 새 작업을 위해 이 규칙이 대체하는 것입니다. 기존 블록을 편집할 때는 기존 중복을 유지하세요. 섹션 콘텐츠가 실제로 변경된 경우에만 다른 복사본을 업데이트합니다.

7. 코어 블록 및 명시적 컨텍스트로 쿼리 구성

  • 아카이브, 게시물 색인, 검색 및 게시물 세부 정보는 "inherit":true와 함께 wp:query에 위임하므로 메인 쿼리가 컨텍스트를 제공합니다. 샘플의 index.html, home.html, archive.html 및 search.html은 모두 이렇게 합니다.
  • 루프를 core/post-template 및 core/post-* 블록으로 구축하고, wp:query-pagination을 추가하며, 항상 wp:query-no-results를 제공합니다.
  • 단일 게시물 표면에는 클래식 루프 대신 wp:query-title, core/post-title, core/post-content, core/comments + core/comment-template + wp:comments-pagination + wp:post-comments-form을 사용하세요.
  • 자체 루프를 시작하는 블록은 정리된 속성을 전달합니다: 존재하는 경우 자식의 inc/blocks/query.php 도우미를 재사용하고, 그렇지 않으면 페이지 크기를 고정하고 게시물 유형, 분류 및 용어를 허용된 값에 대해 검증합니다. 준비된 SQL은 이 검증을 대체할 수 없습니다.

8. theme.json 선언 정확성 유지

테마가 소유한 표면에 대해서만, 그리고 코어 템플릿이 아닌 이름에 대해서만 customTemplates 및 templateParts 항목을 선언하세요. 샘플에서 관찰된 재선언 및 새 작업에 대한 규칙은 references/templates-and-patterns.md를 참조하세요.

9. 사이트 편집기 고려

파일시스템 템플릿과 파트는 사이트 편집기에 저장된 데이터베이스 커스터마이제이션으로 인해 가려질 수 있습니다. 파일 편집이 프론트 엔드를 변경하지 않는 경우, 파일을 건드리기 전에 저장된 템플릿이나 스타일을 찾으십시오. 실제 사이트의 커스터마이제이션을 자동으로 덮어쓰지 마십시오. 폐기 가능한 환경에서만 검사하거나 재설정하십시오.

10. 실행 중인 사이트에 대해 확인

프론트 엔드에서 각 템플릿과 파트를 확인하고, 패턴이 삽입되고 편집 가능한 상태로 유지되는지 확인하며, 요청된 WordPress 최소 버전과 현재 지원되는 릴리스를 확인하고, references/templates-and-patterns.md의 브라우저 레시피를 실행하십시오. 실행하지 않은 모든 것은 미확인으로 표시하십시오.

완료 확인

  • 사용된 모든 템플릿과 파트가 의도된 테마로 확인됩니다. 자식 템플릿에서 부모 파트를 고정하는 theme 속성이 없습니다.
  • 불필요한 새 블록, 클래식 PHP 페이지 템플릿, 목업 프로덕션 콘텐츠가 없습니다.
  • 새로운 전체 페이지 구성: 숨겨진 패턴에 하나의 권한, 얇은 템플릿에서 참조. 중복된 섹션 목록 없음.
  • 패턴이 구문 분석되고, 등록된 블록을 사용하며, 고유한 슬러그를 유지하고, 해당 카테고리는 테마가 PHP로 등록한 것입니다.
  • 쿼리 루프는 명시적 컨텍스트, 정리된 속성 및 결과 없음 상태를 사용합니다.
  • theme.json은 소유한 비코어 템플릿 이름만 선언합니다.
  • quality-gates.md가 적용되었으며, 구성 수용 섹션이 포함됩니다.

경계

마크다운 지침만 해당: 런타임 스크립트, 생성기, 복사된 테마 트리 또는 설치 프로그램이 없으며, 부모 또는 샘플 자식에 대한 편집도 없습니다. 부모의 패턴 라이브러리와 샘플의 구성은 포크할 파일이 아니라 읽을 증거입니다.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

miketropi/nextora-child-themes

Create, bootstrap or audit a child theme of the Nextora parent block theme — the style.css header with Template nextora, the functions.php load order, the single version constant kept in sync with the header, the front-end and editor-canvas asset pipeline with its parent handle dependencies, the child block registrar and inserter category, PHP/i18n conventions, and the optional feature-file layout. Use when a request names a Nextora child, a new child theme name or slug, a child theme header or version bump, child CSS/JS enqueueing, editor canvas styles, a child block folder or block category, porting Nextsaas conventions into a new child, or asks why child code cannot call the parent at file scope. Pair with nextora-design-system for any child that must follow palette or visitor font/colour switching.

miketropi/nextora-ecosystem

Entry point for work on the Nextora block-theme ecosystem — child themes, Gutenberg blocks, design presets and the visitor colour/font switcher, and template/part/pattern composition. Use when a request mentions Nextora or a Nextora child theme, when the task spans more than one of those areas, or when you need the source map and production quality gates for this ecosystem before writing code. Also use to decide which specialist skill a multi-part request needs.

nextora-design-system

Own colours, typography, spacing tokens, style variations and the optional visitor colour/font switcher for the Nextora parent theme and its child themes. Use when a request mentions a palette, colour role, preset slug, font family or font preset, theme.json settings, Tailwind @theme aliases, CSS custom properties, a style variation, "follow the palette", "must switch with the visitor's choice", scoped block colours, or appearance for a new child theme.

nextora-gutenberg-blocks

Build or change Gutenberg blocks in the Nextora parent theme or a Nextora child theme — block.json registration, typed attributes, native visual editing with RichText and media, InspectorControls settings panels, repeatable list editors with modal item editing, render.php output, view scripts, block style variations, and the esbuild block pipeline. Use when a request mentions a block, block.json, edit.tsx, index.tsx, render.php, ServerSideRender, InnerBlocks, a repeater or list editor, a modal item form, an inspector panel, a block category, or "add/restyle a section block" for Nextora.

관련 스킬