docusaurus.config.js
개요
docusaurus.config.js 파일에는 사이트에 필요한 설정을 담고 있습니다. 설정 파일은 사이트 루트 디렉터리에 있습니다.
일반적으로 사이트 구성 오브젝트를 내보냅니다.
module.exports = {
  // 사이트 구성...
};
구성 파일에서는 구성 작성자 함수와 비동기 코드도 지원합니다.
module.exports = function configCreator() {
  return {
    // 사이트 구성...
  };
};
module.exports = async function configCreatorAsync() {
  return {
    // 사이트 구성...
  };
};
module.exports = Promise.resolve({
  // 사이트 구성...
});
필수 입력 항목
title
- Type: string
웹 사이트 타이틀을 설정합니다. 메타데이터와 브라우저 탭 타이틀로 사용됩니다.
module.exports = {
  title: 'Docusaurus',
};
url
- Type: string
웹 사이트의 URL을 설정합니다. 이 설정은 최상위 호스트 이름으로 처리되기도 합니다. 예를 들어 https://facebook.github.io는 https://facebook.github.io/metro/의 URL이 되고 https://docusaurus.io는 https://docusaurus.io의 URL이 됩니다. baseUrl과 같이 사용되는 항목입니다.
module.exports = {
  url: 'https://docusaurus.io',
};
baseUrl
- Type: string
사이트의 Base URL을 설정합니다. 호스트 다음에 오는 경로로 처리되기도 합니다. 예를 들어 /metro/는 https://facebook.github.io/metro/의 base URL이 됩니다. 경로가 없는 URL이라면 baseUrl은 /을 설정해주어야 합니다. url과 같이 사용되는 항목입니다. 항상 선행, 후행 슬래시가 있어야 합니다.
module.exports = {
  baseUrl: '/',
};
선택 입력 항목
favicon
- Type: string | undefined
사이트 파비콘 경로입니다. 해당 링크의 href에서 사용할 수 있는 URL이어야 합니다. 예를 들어 여러분의 파비콘 파일이 static/img/favicon.ico  경로에 있다면 아래와 같이 설정합니다.
module.exports = {
  favicon: '/img/favicon.ico',
};
trailingSlash
- Type: boolean | undefined
URL/링크 끝 부분에 트레일링 슬래시 사용 여부와 정적 HTML 파일 생성 방식을 정의합니다.
- undefined(default): URL을 그대로 유지하고 합니다.- /docs/myDoc.md파일은- /docs/myDoc/index.html파일로 생성됩니다.
- true: URL/링크에 트레일링 슬래시를 추가합니다.- /docs/myDoc.md파일은- /docs/myDoc/index.html파일로 생성됩니다.
- false: URL/링크에서 트레일링 슬래시를 제거합니다.- /docs/myDoc.md파일은- /docs/myDoc.html파일로 생성됩니다.
정적 호스팅 제공 업체에 따라 정적 파일은 다른 방식으로 제공합니다(이 동작 또한 변경될 수 있습니다).
적절한 설정 방법을 선택하기 위해 배포 가이드와 slorber/trailing-slash-guide를 참고하세요.
i18n
- Type: Object
i18n 설정 오브젝트는 사이트 지역화를 위한 설정입니다.
예:
module.exports = {
  i18n: {
    defaultLocale: 'en',
    locales: ['en', 'fa'],
    path: 'i18n',
    localeConfigs: {
      en: {
        label: 'English',
        direction: 'ltr',
        htmlLang: 'en-US',
        calendar: 'gregory',
        path: 'en',
      },
      fa: {
        label: 'فارسی',
        direction: 'rtl',
        htmlLang: 'fa-IR',
        calendar: 'persian',
        path: 'fa',
      },
    },
  },
};
- defaultLocale: 다음에 해당하는 로케일입니다. (1) base URL에 이름이 없습니다. (2)- docusaurus start명령을- --locale옵션 없이 실행합니다. (3)- <link hrefLang="x-default">태그에 사용됩니다.
- locales: 사이트에 배포된 로케일 목록입니다.- defaultLocale은 반드시 포함해야 합니다.
- path: 모든 로케일 폴더에 상대적인 루트 폴더입니다. 구성 파일에 따라 절대적이거나 상대적일 수 있습니다. 기본 값은- i18n.
- localeConfigs: 각 로케일의 개별 옵션입니다.- label: 로케일 드롭다운에서 해당 로케일에 대해 표시되는 라벨입니다.
- direction:- ltr(default) 또는- rtl(페르시아어, 아랍어, 히브리어 같은 right-to-left 언어 사용 시) 해당 로케일의 CSS, HTML 메타 속성을 선택할 때 사용합니다.
- htmlLang:- <html lang="...">(또는 다른 DOM 태그 이름)와- <link ... hreflang="...">에서 사용하는 BCP 47 language 태그
- calendar: 날짜 연대를 계산할 때 사용하는 calendar입니다. 표시되는 실제 문자열을 제어하지는 않습니다.- MM/DD/YYYY과- DD/MM/YYYY는 둘 다- gregory입니다. 이런 형식(- DD/MM/YYYY또는- MM/DD/YYYY)을 선택하려면- en-GB이나- en-US로 설정하세요(- en은- en-US을 의미합니다).
- path: 해당 로케일에 대한 모든 플러그인 현지화 폴더에 상대적인 루트 폴더입니다.- i18n.path에 따라 처리됩니다. 기본값은 로케일 이름입니다. 참고: 로케일의- baseUrl에는 영향을 미치지 않습니다. base URL을 사용자 지정하는 방식은 아직 진행중인 작업입니다.
 
noIndex
- Type: boolean
이 옵션은 모든 페이지에 <meta name="robots" content="noindex, nofollow"> 값을 추가해서 검색 엔진이 여러분의 사이트를 수집하지 않도록 합니다(moz.com 설명을 참고하세요).
예:
module.exports = {
  noIndex: true, // Defaults to `false`
};
onBrokenLinks
- Type: 'ignore' | 'log' | 'warn' | 'throw'
깨진 링크를 발견했을 때 도큐사우루스에서 어떻게 처리할지 설정합니다.
기본적으로 깨진 링크가 배포되지 않도록 에러로 처리하지만 필요에 따라 수준을 조정할 수 있습니다.
링크의 깨짐 여부는 제품 빌드 시에만 확인할 수 있습니다 (docusaurus build).
onBrokenMarkdownLinks
- Type: 'ignore' | 'log' | 'warn' | 'throw'
깨진 마크다운 링크를 발견했을 때 도큐사우루스에서 어떻게 처리할지 설정합니다.
기본적으로 깨진 마크다운 링크가 확인할 수 있도록 경고를 출력하지만 필요에 따라 수준을 조정할 수 있습니다.
onDuplicateRoutes
- Type: 'ignore' | 'log' | 'warn' | 'throw'
경로 중복을 발견했을 때 도큐사우루스에서 어떻게 처리할지 설정합니다.
기본적으로 yarn start 또는 yarn build 명령 실행 후에 경고를 출력합니다.
tagline
- Type: string
웹 사이트를 설명하는 짧은 문구를 설정합니다.
module.exports = {
  tagline:
    'Docusaurus makes it easy to maintain Open Source documentation websites.',
};
organizationName
- Type: string
코드 저장소를 소유하고 있는 깃허브 사용자 또는 그룹 계정을 설정합니다. docusaurus deploy 명령을 사용하지 않는 경우에는 필요하지 않습니다.
module.exports = {
  // Docusaurus' organization is facebook
  organizationName: 'facebook',
};