테마 설정
이 설정은 모든 메인 테마에 적용됩니다.
공통
컬러 모드
클래식 테마는 메뉴바에서 밝은 모드와 어두운 모드를 선택할 수 있는 기능을 기본으로 지원합니다.
colorMode 오브젝트 내에서 사용자 지정 컬러 모드를 설정할 수 있습니다.
설정할 수 있는 필드
| 옵션명 | 타입 | 기본값 | 설명 | 
|---|---|---|---|
| defaultMode | 'light' | 'dark' | 'light' | 사용자가 사이트를 처음 방문할 때 컬러 모드입니다. | 
| disableSwitch | boolean | false | 메뉴바에서 스위치를 숨깁니다. 하나의 컬러 모드만 지원하기 원하는 경우 유용합니다. | 
| respectPrefersColorScheme | boolean | false | 직접 설정한 defaultMode대신 사용자 시스템 기본 설정을 사용해prefers-color-scheme미디어 쿼리를 사용할지 여부 | 
설정 예시:
module.exports = {
  themeConfig: {
    colorMode: {
      defaultMode: 'light',
      disableSwitch: false,
      respectPrefersColorScheme: false,
    },
  },
};
respectPrefersColorScheme: true로 설정한 경우 defaultMode 설정값은 사용자 시스템 환경 설정에 따라 재정의됩니다.
하나의 색상 모드만 지원하려면 사용자 시스템 환경 설정에 영향을 받지 않게 해야 합니다.
메타 정보 이미지
og:image나 twitter:image처럼 메타 태그에서 사용할 기본 이미지를 설정합니다.
설정할 수 있는 필드
| 옵션명 | 타입 | 기본값 | 설명 | 
|---|---|---|---|
| image | string | undefined | 사이트의 메타 이미지 URL입니다. 사이트 "정적" 디렉터리에 상대 경로로 설정합니다. SVG 파일은 설정할 수 없습니다. 외부 URL은 사용할 수 있습니다. | 
설정 예시:
module.exports = {
  themeConfig: {
    image: 'img/docusaurus.png',
  },
};
메타데이터
HTML 메타 데이터를 추가하거나 (기존 항목을 재정의할 수 있습니다).
설정할 수 있는 필드
| 옵션명 | 타입 | 기본값 | 설명 | 
|---|---|---|---|
| metadata | Metadata[] | [] | 모든 필드는 <meta />태그로 직접 전달됩니다. 사용할 수 있는 필드는id,name,property,content,itemprop등이 있습니다. | 
설정 예시:
module.exports = {
  themeConfig: {
    metadata: [{name: 'twitter:card', content: 'summary'}],
  },
};
알림표시줄
웹 사이트에서 공지할 내용이 생길 수 있습니다. 그런 경우 알림표시줄을 추가할 수 있습니다. 메뉴바 위에 고정되지 않고 선택적으로 사용자가 닫을 수 있는 패널이 표시됩니다. 모든 설정은 announcementBar 오브젝트에서 처리합니다.
설정할 수 있는 필드
| 옵션명 | 타입 | 기본값 | 설명 | 
|---|---|---|---|
| id | string | 'announcement-bar' | 메시지를 식별하는 모든 값입니다. | 
| content | string | '' | 알리고자 하는 텍스트 콘텐츠입니다. HTML을 삽입할 수 있습니다. | 
| backgroundColor | string | '#fff' | 알림표시줄 영역 배경색 입니다. | 
| textColor | string | '#000' | 알림메시지 텍스트 색상입니다. | 
| isCloseable | boolean | true | 알림메시지를 'x' 버튼으로 닫을 수 있는지 여부 | 
설정 예시:
module.exports = {
  themeConfig: {
    announcementBar: {
      id: 'support_us',
      content:
        'We are looking to revamp our docs, please fill <a target="_blank" rel="noopener noreferrer" href="#">this survey</a>',
      backgroundColor: '#fafbfc',
      textColor: '#091E42',
      isCloseable: false,
    },
  },
};
메뉴바
설정할 수 있는 필드
| 옵션명 | 타입 | 기본값 | 설명 | 
|---|---|---|---|
| title | string | undefined | 메뉴바 제목 | 
| logo | 아래를 참조하세요. | undefined | 로고 오브젝트 사용자 지정 | 
| items | NavbarItem[] | [] | 메뉴바 아이템 목록입니다. 상세한 내용은 아래 내용을 참고하세요. | 
| hideOnScroll | boolean | false | 사용자가 아래로 스크롤할 때 메뉴바를 숨길지 여부입니다. | 
| style | 'primary' | 'dark' | theme와 같음 | 어두운/밝은 테마 설정을 무시하고 메뉴바 스타일을 설정합니다. | 
메뉴바 로고
로고는 static 디렉터리에 가져다 놓을 수 있습니다. 로고 URL은 기본적으로 여러분의 사이트 기본 URL이 설정됩니다. 로고 URL을 따로 설정할 수는 있지만 외부 링크인 경우에는 새로운 탭에서 열리게 됩니다. 또한 로고 링크의 target 속성값을 재정의할 수 있습니다. 메인 웹 사이트의 하위 디렉터리에서 문서 웹 사이트를 서비스하는 경우에 유용한 기능입니다. 이런 경우 메인 웹 사이트를 새로운 탭에서 열어주는 로고 링크가 필요하지 않을 수도 있습니다.
어두운 모드 지원을 위해 모드마다 다른 로고를 설정할 수도 있습니다.
설정할 수 있는 필드
| 옵션명 | 타입 | 기본값 | 설명 | 
|---|---|---|---|
| alt | string | undefined | 로고 이미지의 Alt 태그입니다. | 
| src | string | 필수 | 로고 이미지의 URL입니다. 기본적으로 기본 URL이 추가됩니다. | 
| srcDark | string | logo.src | 어두운 모드에서 사용할 대체 이미지 URL입니다. | 
| href | string | siteConfig.baseUrl | 로고 클릭 시 이동할 링크입니다. | 
| width | string | number | undefined | width속성을 설정합니다. | 
| height | string | number | undefined | height속성을 설정합니다. | 
| target | string | href값에 따라 처리합니다(외부 링크는 새 탭으로 열리고 다른 모든 링크는 현재 탭에서 열립니다). | 링크의 target속성입니다. 링크가 새 탭에서  열릴지 현재 탭에서 열릴지 여부를 설정합니다. | 
| className | string | undefined | 이미지에 적용된 CSS 클래스 | 
| style | object | undefined | CSS 인라인 스타일 오브젝트. 리액트/JSX에서는 카멜표기법을 선호합니다. | 
설정 예시:
module.exports = {
  themeConfig: {
    navbar: {
      title: 'Site Title',
      logo: {
        alt: 'Site Logo',
        src: 'img/logo.svg',
        srcDark: 'img/logo_dark.svg',
        href: 'https://docusaurus.io/',
        target: '_self',
        width: 32,
        height: 32,
        className: 'custom-navbar-logo-class',
        style: {border: 'solid red'},
      },
    },
  },
};
메뉴바 아이템
themeConfig.navbar.items 설정에서 메뉴바에 아이템을 추가할 수 있습니다.
module.exports = {
  themeConfig: {
    navbar: {
      items: [
        {
          type: 'doc',
          position: 'left',
          docId: 'introduction',
          label: 'Docs',
        },
        {to: 'blog', label: 'Blog', position: 'left'},
        {
          type: 'docsVersionDropdown',
          position: 'right',
        },
        {
          type: 'localeDropdown',
          position: 'right',
        },
        {
          href: 'https://github.com/facebook/docusaurus',
          position: 'right',
          className: 'header-github-link',
          'aria-label': 'GitHub repository',
        },
      ],
    },
  },
};
아이템은 type 필드에 따라 다르게 동작할 수 있습니다. 사용할 수 있는 모든 유형의 메뉴바 아이템을 아래에 소개합니다.