문서
파일 구성하기

파일 구성하기

Nextra는 먼저 pages 디렉토리에서 모든 Markdown 파일과 설정을 수집한 다음, 전체 사이트의 "페이지 맵 정보"를 생성하여 아래와 같은 내비게이션 바사이드바를 렌더링합니다:


Nextra 문서 테마의 예시

예시: Nextra 문서 테마는 Markdown 파일에서 자동으로 생성된 사이드바와 내비게이션 바를 가지고 있습니다.

기본 동작

기본적으로 페이지 맵은 모든 .md.mdx 파일 이름과 디렉토리 구조를 포함하며, 알파벳 순으로 정렬됩니다. 그런 다음 Nextra는 title (opens in a new tab) 패키지를 사용하여 파일 이름에서 형식화된 페이지 이름을 가져옵니다.

예를 들어 다음과 같은 구조가 있다면:

    • contact.md
    • index.mdx
      • legal.md
      • index.mdx
  • 페이지 맵은 다음과 같습니다 (모든 이름이 알파벳 순으로 정렬되었음에 주목하세요):

    [
      {
        "name": "About",
        "children": [{ "name": "Index" }, { "name": "Legal" }]
      },
      { "name": "Contact" },
      { "name": "Index" }
    ]

    그리고 전역 페이지 맵은 Nextra에 의해 각 페이지에 번들링됩니다. 그런 다음 구성된 테마가 해당 페이지 맵으로 실제 UI를 렌더링합니다.

    _meta.json

    각 페이지의 제목을 파일 이름에만 의존하지 않고 사용자 정의하는 것이 매우 일반적입니다. "Index"라는 제목의 페이지는 명확성이 부족합니다. 내용을 정확하게 나타내는 의미 있는 제목(예: "Home")을 지정하는 것이 좋습니다.

    이를 위해 _meta.json이 있습니다. 각 디렉토리에 _meta.json 파일을 둘 수 있으며, 이는 각 페이지의 기본 구성을 재정의하는 데 사용됩니다:

    • _meta.json
    • contact.md
    • index.mdx
      • _meta.json
      • legal.md
      • index.mdx
  • 그리고 pages/_meta.json 파일에 다음과 같이 작성할 수 있습니다:

    pages/_meta.json
    {
      "index": "My Homepage",
      "contact": "Contact Us",
      "about": "About Us"
    }

    이는 Nextra에 각 페이지의 순서와 올바른 제목을 알려줍니다. 또는 title을 사용하고 다른 구성도 함께 넣을 수 있습니다:

    pages/_meta.json
    {
      "index": "My Homepage",
      "contact": "Contact Us",
      "about": {
        "title": "About Us",
        "...extra configurations...": "..."
      }
    }

    추가 구성은 추가 정보로 테마에 전달됩니다. 자세한 정보는 해당 페이지를 확인하세요: