๐ฆ plugin-content-docs
๋ฌธ์ ๋ง๋ค๊ธฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ํ์ฌ์ฐ๋ฃจ์ค์ ๊ธฐ๋ณธ ๋ฌธ์ ํ๋ฌ๊ทธ์ธ์ ๋๋ค.
์ค์นโ
- npm
- Yarn
- pnpm
npm install --save @docusaurus/plugin-content-docs
yarn add @docusaurus/plugin-content-docs
pnpm add @docusaurus/plugin-content-docs
@docusaurus/preset-classic
์ ์ค์นํ ๊ฒฝ์ฐ์๋ ํ๋ฌ๊ทธ์ธ์ ๋ฐ๋ก ์ค์นํ ํ์๋ ์์ต๋๋ค.
You can configure this plugin through the preset options.
์ค์ โ
์ค์ ํ ์ ์๋ ํ๋
์ต์ ๋ช | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
---|---|---|---|
path | string | 'docs' | ์ฌ์ดํธ ๋๋ ํ ๋ฆฌ์ ์๋์ ์ธ ํ์ผ ์์คํ ์ ๋ฌธ์ ์ฝํ ์ธ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก์ ๋๋ค. |
editUrl | string | EditUrlFunction | undefined | ์ฌ์ดํธ๋ฅผ ํธ์งํ๊ธฐ ์ํ Base URL์
๋๋ค. ์ต์ข
URL์ editUrl + relativeDocPath ํํ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ต์
์ฌ์ฉ ์ ๊ฐ ํ์ผ์ ๋ํ ์ธ๋ฐํ ์ ์ด๋ฅผ ํ ์ ์์ต๋๋ค. ํด๋น ํ๋๋ฅผ ์ค์ ํ์ง ์์ผ๋ฉด ํธ์ง ๋งํฌ๊ฐ ๋นํ์ฑํ๋ฉ๋๋ค. |
editLocalizedFiles | boolean | false | ํธ์ง URL์ ํ์งํ๋์ง ์์ ์๋ณธ ํ์ผ ๋์ ํ์งํ๋ ํ์ผ์ ๋์์ผ๋ก ํฉ๋๋ค. editUrl ์ด ํจ์์ธ ๊ฒฝ์ฐ์๋ ๋ฌด์ํฉ๋๋ค. |
editCurrentVersion | boolean | false | ํธ์ง URL์ ํญ์ ์ด์ ๋ฒ์ ๋์ ํ์ฌ ๋ฒ์ ๋ฌธ์๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค. editUrl ์ด ํจ์์ธ ๊ฒฝ์ฐ์๋ ๋ฌด์ํฉ๋๋ค. |
routeBasePath | string | 'docs' | ์ฌ์ดํธ ๋ฌธ์ ์น์
์ ๋ํ URL ๋ผ์ฐํธ ํธ๋ ์ผ๋ง ์ฌ๋์๋ฅผ ํฌํจํ์ง ๋ง์ธ์. ๊ธฐ๋ณธ ๊ฒฝ๋ก ์์ด ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ ๋์ / ๋ฅผ ์ฌ์ฉํ์ธ์. |
tagsBasePath | string | 'tags' | ์ฌ์ดํธ ํ๊ทธ ๋ชฉ๋ก ํ์ด์ง์ ๋ํ URL ๋ผ์ฐํธ routeBasePath ์์ ์ถ๊ฐ๋ฉ๋๋ค. |
include | string[] | ['**/*.{md,mdx}'] | ์ฝํ ์ธ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น๋ํ ๋งํฌ๋ค์ด ํ์ผ๊ณผ ์ผ์นํ๋ glob ํจํด ๋ฐฐ์ด์ ๋๋ค. |
exclude | string[] | ์ค์ ์์๋ฅผ ์ฐธ์กฐํ์ธ์ | ์ ์ธํ ๋งํฌ๋ค์ด ํ์ผ๊ณผ ์ผ์นํ๋ glob ํจํด ๋ฐฐ์ด์
๋๋ค. include ์ต์
์ ์ข ๋ ์ธ๋ถํํ๋ ์ญํ ์ ํฉ๋๋ค. |
sidebarPath | false | string | undefined | Path to a sidebars configuration file, loaded in a Node.js context. ์ฌ์ด๋๋ฐ๋ฅผ ๋นํ์ฑํํ๋ ค๋ฉด false ๋ฅผ ์ค์ ํ๊ณ ์์ ํ ์๋์ผ๋ก ์์ฑ๋ ์ฌ์ด๋๋ฐ๋ฅผ ๋ง๋ค๋ ค๋ฉด undefined ๋ฅผ ์ค์ ํ์ธ์. |
sidebarCollapsible | boolean | true | ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ด๋๋ฐ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ์ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์ค์ ํฉ๋๋ค. See also Collapsible categories |
sidebarCollapsed | boolean | true | ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ด๋๋ฐ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ์์ง ์ฌ๋ถ๋ฅผ ์ค์ ํฉ๋๋ค. See also Expanded categories by default |
sidebarItemsGenerator | SidebarGenerator | ์ค์ ํ์ง ์์ | 'autogenerated' ํ์
์ ์ฌ์ด๋๋ฐ ํญ๋ชฉ์ ์ค์ ์ฌ์ด๋๋ฐ ํญ๋ชฉ(๋ฌธ์, ์นดํ
๊ณ ๋ฆฌ, ๋งํฌ ๋ฑ)์ผ๋ก ๊ต์ฒดํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์
๋๋ค. See also Customize the sidebar items generator |
numberPrefixParser | boolean | PrefixParser | ์ค์ ํ์ง ์์ | ํ์ผ๋ช
์์ ์ซ์ ์ ๋์ฌ๋ฅผ ์ถ์ถํ๋ ์ฌ์ฉ์ ์ง์ ๊ตฌ๋ฌธ ๋ถ์ ๋ฐฉ์์ ์ค์ ํฉ๋๋ค. ํด๋น ๋์์ ๋นํ์ฑํํ๊ณ ๋ฌธ์๋ฅผ ์ ์งํ๋ ค๋ฉด false ๋ฅผ ์ ํํ๊ณ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ ๋ถ์์ ์ฌ์ฉํ๋ ค๋ฉด true ๋ฅผ ์ ํํ์ธ์. See also Using number prefixes |
docsRootComponent | string | '@theme/DocsRoot' | ๋ชจ๋ ๋ฌธ์ ํ๋ฌ๊ทธ์ธ ํ์ด์ง(๋ชจ๋ ๋ฒ์ ํฌํจ)์ ์์ ์ปดํฌ๋ํธ์ ๋๋ค. ๋ฌธ์ ํ์ด์ง์ ๋ฒ์ ์ฌ์ด๋ฅผ ํ์ํ ๋ ๋ง์ดํธ๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. |
docVersionRootComponent | string | '@theme/DocVersionLayout' | ๊ฐ๋ณ ๋ฒ์ ์ ๋ชจ๋ ๋ฌธ์ ํ์ด์ง(์ฌ์ด๋๋ฐ๊ฐ ์๋ ๋ฌธ์ ํ์ด์ง, ํ๊ทธ ํ์ด์ง)์ ์์ ์ปดํฌ๋ํธ์ ๋๋ค. ํน์ ๋ฒ์ ์ ํ์ด์ง ์ฌ์ด๋ฅผ ํ์ํ ๋ ๋ง์ดํธ๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. |
docRootComponent | string | '@theme/DocRoot' | ์ฌ์ด๋๋ฐ๊ฐ ์๋ ๋ชจ๋ ๋ฌธ์ ํ์ด์ง(์ผ๋ฐ ๋ฌธ์ ํ์ด์ง, ์นดํ ๊ณ ๋ฆฌ ์์ฑ ์์ธ ํ์ด์ง)์ ์์ ์ปดํฌ๋ํธ์ ๋๋ค. ๊ฐ ํ์ด์ง ์ฌ์ด๋ฅผ ํ์ํ ๋ ๋ง์ดํธ๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. |
docItemComponent | string | '@theme/DocItem' | ๋ชฉ์ฐจ, ํ์ด์ง ์์ญ ๋ฑ ๊ธฐ๋ณธ ๋ฌธ์ ์ปจํ ์ด๋ |
docTagsListComponent | string | '@theme/DocTagsListPage' | ํ๊ทธ ๋ชฉ๋ก ํ์ด์ง์ ๋ฃจํธ ์ปดํฌ๋ํธ |
docTagDocListComponent | string | '@theme/DocTagDocListPage' | "ํ๊ทธ X๋ฅผ ํฌํจํ ๋ฌธ์" ํ์ด์ง์ ๋ฃจํธ ์ปดํฌ๋ํธ |
docCategoryGeneratedIndexComponent | string | '@theme/DocCategoryGeneratedIndexPage' | ์์ฑ๋ ์นดํ ๊ณ ๋ฆฌ ์ธ๋ฑ์ค ํ์ด์ง์ ๋ฃจํธ ์ปดํฌ๋ํธ |
remarkPlugins | any[] | [] | MDX์ ์ ๋ฌ๋ Remark ํ๋ฌ๊ทธ์ธ |
rehypePlugins | any[] | [] | MDX์ ์ ๋ฌ๋ Rehype ํ๋ฌ๊ทธ์ธ |
rehypePlugins | any[] | [] | Recma plugins passed to MDX. |
beforeDefaultRemarkPlugins | any[] | [] | ๊ธฐ๋ณธ ๋ํ์ฌ์ฐ๋ฃจ์ค Remark ํ๋ฌ๊ทธ์ธ๋ณด๋ค ๋จผ์ MDX์ ์ ๋ฌ๋ ์ฌ์ฉ์ ์ง์ Remark ํ๋ฌ๊ทธ์ธ |
beforeDefaultRehypePlugins | any[] | [] | ๊ธฐ๋ณธ ๋ํ์ฌ์ฐ๋ฃจ์ค Rehype ํ๋ฌ๊ทธ์ธ๋ณด๋ค ๋จผ์ MDX์ ์ ๋ฌ๋ ์ฌ์ฉ์ ์ง์ Rehype ํ๋ฌ๊ทธ์ธ |
showLastUpdateAuthor | boolean | false | ๋ฌธ์๋ฅผ ๋ง์ง๋ง์ผ๋ก ์ ๋ฐ์ดํธํ ์์ฑ์๋ฅผ ํ์ํ ์ง ์ฌ๋ถ |
showLastUpdateTime | boolean | false | Whether to display the last date the doc was updated. This requires access to git history during the build, so will not work correctly with shallow clones (a common default for CI systems). With GitHub actions/checkout , usefetch-depth: 0 . |
breadcrumbs | boolean | true | ๋ฌธ์ ํ์ด์ง์์ ์ด๋ ๊ฒฝ๋ก๋ฅผ ํ์ฑํ ๋๋ ๋นํ์ฑํ |
disableVersioning | boolean | false | ์ฌ๋ฌ ๋ฒ์ ์ด ์๋๋ผ๋ ๋ช
์์ ์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋นํ์ฑํํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ดํธ์ ํ์ฌ ๋ฒ์ ๋ง ํฌํจ๋ฉ๋๋ค. includeCurrentVersion: false ์ด๋ disableVersioning: true ์ธ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. |
includeCurrentVersion | boolean | true | ๋ฌธ์์ ํ์ฌ ๋ฒ์ ์ ํฌํจ |
lastVersion | string | versions.json ํ์ผ์์ ์ฒซ ๋ฒ์งธ ๋ฒ์ | ๋ฌธ์ ๋ฉ๋ด๋ฐ ์์ดํ ์ ๋ํด ์ฐ์ ์ ์ผ๋ก ํ์๋๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์๋๋ ๋ฒ์ |
onlyIncludeVersions | string[] | ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ๋ฒ์ | ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ๋ฒ์ ์ ํ์ ์งํฉ๋ง ํฌํจ |
versions | VersionsConfig | {} | ๊ฐ ๋ฒ์ ์ ์์ฑ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฉ์ ์ง์ ํฉ๋๋ค. |
tags | string | false | null | undefined | tags.yml | Path to a YAML file listing pre-defined tags. Relative to the docs version content directories. |
onInlineTags | 'ignore' | 'log' | 'warn' | 'throw' | warn | The plugin behavior when docs contain inline tags (not appearing in the list of pre-defined tags, usually docs/tags.yml ). |
ํ์ โ
EditUrlFunction
โ
type EditUrlFunction = (params: {
version: string;
versionDocsDirPath: string;
docPath: string;
permalink: string;
locale: string;
}) => string | undefined;
PrefixParser
โ
type PrefixParser = (filename: string) => {
filename: string;
numberPrefix?: number;
};
SidebarGenerator
โ
type SidebarGenerator = (generatorArgs: {
/** ๋ณํํ "์๋ ์์ฑ" ํ์
์ ์ฌ์ด๋๋ฐ ํญ๋ชฉ์
๋๋ค. */
item: {type: 'autogenerated'; dirName: string};
/** ์ฌ์ด๋๋ฐ๊ฐ ์ํ ๋ฒ์ ์ ํ์ํ ๋ฉํ๋ฐ์ดํฐ์
๋๋ค. */
version: {contentPath: string; versionName: string};
/** ํด๋น ๋ฒ์ ์ ๋ชจ๋ ๋ฌธ์(ํํฐ๋งํ์ง ์์). */
docs: {
id: string;
title: string;
frontMatter: DocFrontMatter & Record<string, unknown>;
source: string;
sourceDirName: string;
sidebarPosition?: number | undefined;
}[];
/** ํ๋ฌ๊ทธ์ธ์์ ์ค์ ํ ์ซ์ ์ ๋์ฌ ๊ตฌ๋ฌธ๋ถ์๊ธฐ์
๋๋ค. */
numberPrefixParser: PrefixParser;
/** ์ฌ์ ์ํ ์ ์๋ ๊ธฐ๋ณธ ์นดํ
๊ณ ๋ฆฌ ์ธ๋ฑ์ค ์ผ์น์์
๋๋ค. */
isCategoryIndex: CategoryIndexMatcher;
/**
* key๋ ๋ฌธ์ ์ฝํ
์ธ ๋๋ ํ ๋ฆฌ์ ๋ํ ์๋ ๊ฒฝ๋ก์ด๊ณ
* value๋ ์นดํ
๊ณ ๋ฆฌ ๋ฉํ๋ฐ์ดํฐ ํ์ผ์ ์ฝํ
์ธ ์
๋๋ค.
*/
categoriesMetadata: {[filePath: string]: CategoryMetadata};
/**
* ๋ํ์ฌ์ฐ๋ฃจ์ค์ ๊ธฐ๋ณธ ์ฌ์ด๋๋ฐ ์์ฑ ๋ก์ง์
* ์ฌ์ฌ์ฉํ๊ฑฐ๋ ํฅ์์ํค๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
*/
defaultSidebarItemsGenerator: SidebarGenerator;
// ์ฌ์ด๋๋ฐ ํญ๋ชฉ์ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค. ๋จ์ถํ์ ์ ์ธํ๋ฉด
// sidebars.js์์ ์ ์ธํ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. https://docusaurus.io/docs/sidebar/items ํญ๋ชฉ์ ์ฐธ๊ณ ํ์ธ์.
}) => Promise<SidebarItem[]>;
type CategoryIndexMatcher = (param: {
/** ํ์ฅ์ ์๋ ํ์ผ๋ช
*/
fileName: string;
/**
* ๊ฐ์ฅ ๋ฎ์ ์์ค์์ ๋์ ์์ค์ผ๋ก ์ ๋ ฌํ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก์
๋๋ค.
* ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ด ์์ผ๋ฉด ๋๋ ํ ๋ฆฌ๋ ['.']๋ก ์ฒ๋ฆฌํฉ๋๋ค.
*/
directories: string[];
/** ์ ์ ํฌํจํ ํ์ฅ์ */
extension: string;
}) => boolean;
VersionsConfig
โ
type VersionConfig = {
/**
* ๋ฒ์ ์ base ๊ฒฝ๋ก๋
* `baseUrl` + `routeBasePath`์ ์ถ๊ฐ๋ฉ๋๋ค.
*/
path?: string;
/** ๋ฐฐ์ง, ๋๋กญ๋ค์ด ๋ฑ์ ์ฌ์ฉํ ๋ฒ์ ๋ผ๋ฒจ์
๋๋ค. */
label?: string;
/** ํด๋น ๋ฒ์ ์ ๋ฌธ์ ์๋จ์ ํ์ํ ๋ฐฐ๋์
๋๋ค. */
banner?: 'none' | 'unreleased' | 'unmaintained';
/** ๊ฐ ๋ฌธ์ ์๋จ์ ๋ฒ์ ๋ผ๋ฒจ์ด ์๋ ๋ฐฐ์ง๋ฅผ ํ์ํฉ๋๋ค. */
badge?: boolean;
/** ๊ฒ์์์ง์ด ์ด ๋ฒ์ ์ ์ธ๋ฑ์ฑํ์ง ๋ชปํ๋๋ก ํฉ๋๋ค */
noIndex?: boolean;
/** ๊ฐ ๋ฌธ์์ <html> ์์์ ๋ํ ์ฌ์ฉ์ ์ง์ ํด๋์ค๋ช
์ถ๊ฐ */
className?: string;
};
type VersionsConfig = {[versionName: string]: VersionConfig};
์ค์ ์์โ
ํ๋ฆฌ์ ์ต์ ์ด๋ ํ๋ฌ๊ทธ์ธ ์ต์ ์์ ํ๋ฌ๊ทธ์ธ์ ์ค์ ํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ๋ํ์ฌ์ฐ๋ฃจ์ค ์ฌ์ฉ์๋ ํ๋ฆฌ์ ์ต์ ์ ์ฌ์ฉํด ํ๋ฌ๊ทธ์ธ์ ์ค์ ํฉ๋๋ค.
- ํ๋ฆฌ์ ์ต์
- ํ๋ฌ๊ทธ์ธ ์ต์
ํ๋ฆฌ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํ๋ฆฌ์ ์ต์ ๋ฅผ ํตํด ํ๋ฌ๊ทธ์ธ์ ๊ตฌ์ฑํฉ๋๋ค.
module.exports = {
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
path: 'docs',
breadcrumbs: true,
// Simple use-case: string editUrl
// editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/',
// Advanced use-case: functional editUrl
editUrl: ({versionDocsDirPath, docPath}) =>
`https://github.com/facebook/docusaurus/edit/main/website/${versionDocsDirPath}/${docPath}`,
editLocalizedFiles: false,
editCurrentVersion: false,
routeBasePath: 'docs',
include: ['**/*.md', '**/*.mdx'],
exclude: [
'**/_*.{js,jsx,ts,tsx,md,mdx}',
'**/_*/**',
'**/*.test.{js,jsx,ts,tsx}',
'**/__tests__/**',
],
sidebarPath: 'sidebars.js',
async sidebarItemsGenerator({
defaultSidebarItemsGenerator,
numberPrefixParser,
item,
version,
docs,
isCategoryIndex,
}) {
// Use the provided data to generate a custom sidebar slice
return [
{type: 'doc', id: 'intro'},
{
type: 'category',
label: 'Tutorials',
items: [
{type: 'doc', id: 'tutorial1'},
{type: 'doc', id: 'tutorial2'},
],
},
];
},
numberPrefixParser(filename) {
// Implement your own logic to extract a potential number prefix
const numberPrefix = findNumberPrefix(filename);
// Prefix found: return it with the cleaned filename
if (numberPrefix) {
return {
numberPrefix,
filename: filename.replace(prefix, ''),
};
}
// No number prefix found
return {numberPrefix: undefined, filename};
},
docsRootComponent: '@theme/DocsRoot',
docVersionRootComponent: '@theme/DocVersionRoot',
docRootComponent: '@theme/DocRoot',
docItemComponent: '@theme/DocItem',
remarkPlugins: [require('./my-remark-plugin')],
rehypePlugins: [],
beforeDefaultRemarkPlugins: [],
beforeDefaultRehypePlugins: [],
showLastUpdateAuthor: false,
showLastUpdateTime: false,
disableVersioning: false,
includeCurrentVersion: true,
lastVersion: undefined,
versions: {
current: {
label: 'Android SDK v2.0.0 (WIP)',
path: 'android-2.0.0',
banner: 'none',
},
'1.0.0': {
label: 'Android SDK v1.0.0',
path: 'android-1.0.0',
banner: 'unmaintained',
},
},
onlyIncludeVersions: ['current', '1.0.0', '2.0.0'],
},
},
],
],
};
๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ํ๋ฌ๊ทธ์ธ์ ๋ํ ์ต์ ์ ์ง์ ์ค์ ํ ์ ์์ต๋๋ค.
module.exports = {
plugins: [
[
'@docusaurus/plugin-content-docs',
{
path: 'docs',
breadcrumbs: true,
// Simple use-case: string editUrl
// editUrl: 'https://github.com/facebook/docusaurus/edit/main/website/',
// Advanced use-case: functional editUrl
editUrl: ({versionDocsDirPath, docPath}) =>
`https://github.com/facebook/docusaurus/edit/main/website/${versionDocsDirPath}/${docPath}`,
editLocalizedFiles: false,
editCurrentVersion: false,
routeBasePath: 'docs',
include: ['**/*.md', '**/*.mdx'],
exclude: [
'**/_*.{js,jsx,ts,tsx,md,mdx}',
'**/_*/**',
'**/*.test.{js,jsx,ts,tsx}',
'**/__tests__/**',
],
sidebarPath: 'sidebars.js',
async sidebarItemsGenerator({
defaultSidebarItemsGenerator,
numberPrefixParser,
item,
version,
docs,
isCategoryIndex,
}) {
// Use the provided data to generate a custom sidebar slice
return [
{type: 'doc', id: 'intro'},
{
type: 'category',
label: 'Tutorials',
items: [
{type: 'doc', id: 'tutorial1'},
{type: 'doc', id: 'tutorial2'},
],
},
];
},
numberPrefixParser(filename) {
// Implement your own logic to extract a potential number prefix
const numberPrefix = findNumberPrefix(filename);
// Prefix found: return it with the cleaned filename
if (numberPrefix) {
return {
numberPrefix,
filename: filename.replace(prefix, ''),
};
}
// No number prefix found
return {numberPrefix: undefined, filename};
},
docsRootComponent: '@theme/DocsRoot',
docVersionRootComponent: '@theme/DocVersionRoot',
docRootComponent: '@theme/DocRoot',
docItemComponent: '@theme/DocItem',
remarkPlugins: [require('./my-remark-plugin')],
rehypePlugins: [],
beforeDefaultRemarkPlugins: [],
beforeDefaultRehypePlugins: [],
showLastUpdateAuthor: false,
showLastUpdateTime: false,
disableVersioning: false,
includeCurrentVersion: true,
lastVersion: undefined,
versions: {
current: {
label: 'Android SDK v2.0.0 (WIP)',
path: 'android-2.0.0',
banner: 'none',
},
'1.0.0': {
label: 'Android SDK v1.0.0',
path: 'android-1.0.0',
banner: 'unmaintained',
},
},
onlyIncludeVersions: ['current', '1.0.0', '2.0.0'],
},
],
],
};
๋งํฌ๋ค์ด ํ๋ฐํธ ๋งคํฐโ
Markdown documents can use the following Markdown front matter metadata fields, enclosed by a line ---
on either side.
์ค์ ํ ์ ์๋ ํ๋
์ต์ ๋ช | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
---|---|---|---|
id | string | ํ์ผ ๊ฒฝ๋ก(ํ์ฅ์๋ ์ ์ธํ๊ณ ๋๋ ํฐ๋ฆฌ๋ ํฌํจ) | ๊ณ ์ ํ ๋ฌธ์ ID |
title | string | ๋งํฌ๋ค์ด ์ ๋ชฉ ๋๋ id | ๋ฌธ์ ์ ๋ชฉ์ ๋๋ค. ํ์ด์ง ๋ฉํ๋ฐ์ดํฐ๋ก ์ฌ์ฉํ๋ฉฐ ์ฌ๋ฌ ์์น(์ฌ์ด๋๋ฐ, ๋ค์/์ด์ ๋ฒํผ ๋ฑ)์์ ๋์ฒด๊ฐ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๋งํฌ๋ค์ด ์ ๋ชฉ์ด ์๋ ๊ฒฝ์ฐ ๋ฌธ์ ์๋จ์ ์๋์ผ๋ก ์ถ๊ฐ๋ฉ๋๋ค. |
title_meta | string | frontMatter.title | The SEO metadata title of your document used in <head> for <title> and og:title . Permits to override frontMatter.title when the displayed title and SEO title should be different. |
pagination_label | string | sidebar_label ๋๋ title | ๋ฌธ์ ๋ด์์ ๋ฌธ์์ ๋ค์/์ด์ ๋ฒํผ์ ํ์ํ ํ ์คํธ๋ฅผ ์ค์ ํฉ๋๋ค. |
sidebar_label | string | title | ๋ฌธ์ ๋ด์์ ๋ฌธ์์ ์ฌ์ด๋๋ฐ์ ํ์ํ ํ ์คํธ๋ฅผ ์ค์ ํฉ๋๋ค. |
sidebar_position | number | ๊ธฐ๋ณธ ์ ๋ ฌ ์์ | autogenerated ์ฌ์ด๋๋ฐ ์์ดํ
์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ง๋ค์ด์ง ์ฌ์ด๋๋ฐ ์ฌ๋ผ์ด์ค ๋ด์์ ๋ฌธ์ ์์น๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. See also Autogenerated sidebar metadata. |
sidebar_class_name | string | undefined | ์๋ ์์ฑ๋ ์ฌ์ด๋๋ฐ๋ฅผ ์ฌ์ฉํ ๋ ํด๋น ์ฌ์ด๋๋ฐ ๋ผ๋ฒจ์ ํน๋ณํ ํด๋์ค ์ด๋ฆ์ ์ ๊ณตํฉ๋๋ค. |
sidebar_custom_props | object | undefined | ์ด ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ ์ฌ์ด๋๋ฐ ํญ๋ชฉ์ custom props๋ฅผ ํ ๋นํฉ๋๋ค. |
displayed_sidebar | string | undefined | ํ์ฌ ๋ฌธ์๋ฅผ ํ์ํ ๋ ์ง์ ๋ ์ฌ์ด๋๋ฐ๋ฅผ ๊ฐ์ ๋ก ํ์ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ๋ฌ ๊ฐ์ ์ฌ์ด๋๋ฐ ์ฌ์ฉํ๊ธฐ์ ์ฐธ๊ณ ํ์ธ์. |
hide_title | boolean | false | ๋ฌธ์ ์๋จ ์ ๋ชฉ์ ์จ๊ธธ์ง ์ฌ๋ถ์ ๋๋ค. ํ๋ฐํธ ๋งคํฐ ์์ญ์์ ์ค์ ํ ์ ๋ชฉ๋ง ๊ฐ์ถฅ๋๋ค. ๋งํฌ๋ค์ด ๋ฌธ์ ๋ด์ ์ง์ ๋ ํ์ดํ์๋ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. |
hide_table_of_contents | boolean | false | ๋ชฉ์ฐจ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ์จ๊ธธ์ง ์ฌ๋ถ |
toc_min_heading_level | number | 2 | ๋ชฉ์ฐจ์ ํ์๋๋ ์ต์ ์ ๋ชฉ ์์ค์ ๋๋ค. 2์์ 6 ์ฌ์ด์ ๊ฐ์ผ๋ก ์ค์ ํ ์ ์๊ณ ์ต๋๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ผ ํฉ๋๋ค. |
toc_max_heading_level | number | 3 | ๋ชฉ์ฐจ์ ํ์๋๋ ์ต๋ ์ ๋ชฉ ์์ค์ ๋๋ค. 2์์ 6 ์ฌ์ด์ ๊ฐ์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค. |
pagination_next | string | null | ์ฌ์ด๋๋ฐ์์ ๋ค์ ๋ฌธ์ | ํ์ด์ง ์ด๋ ์์ญ์์ "๋ค์" ํญ๋ชฉ ๋งํฌ์ ์ฐ๊ฒฐํ ๋ฌธ์์ ID์
๋๋ค. ํ์ฌ ํ์ด์ง์์ "๋ค์" ํญ๋ชฉ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ง ์๋ค๋ฉด null ๋ก ์ค์ ํ์ธ์. |
pagination_prev | string | null | ์ฌ์ด๋๋ฐ์์ ์ด์ ๋ฌธ์ | ํ์ด์ง ์ด๋ ์์ญ์์ "์ด์ " ํญ๋ชฉ ๋งํฌ์ ์ฐ๊ฒฐํ ๋ฌธ์์ ID์
๋๋ค. ํ์ฌ ํ์ด์ง์์ "์ด์ " ํญ๋ชฉ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ง ์๋ค๋ฉด null ๋ก ์ค์ ํ์ธ์. |
parse_number_prefixes | boolean | numberPrefixParser ํ๋ฌ๊ทธ์ธ ์ต์
| ๋ฌธ์์์ ๋ฒํธ ์ ๋์ฌ ๊ตฌ๋ฌธ ๋ถ์ ๋นํ์ฑํ ์ฌ๋ถ์ ๋๋ค. See also Using number prefixes. |
custom_edit_url | string | null | editUrl ํ๋ฌ๊ทธ์ธ ์ต์
์ ์ฌ์ฉํด ๊ณ์ฐ๋ ๊ฐ | ๋ฌธ์๋ฅผ ํธ์งํ๊ธฐ ์ํ URL ํ์ฌ ํ์ด์ง์์ "์ด ํ์ด์ง ํธ์งํ๊ธฐ" ํญ๋ชฉ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ง ์๋ค๋ฉด null ๋ก ์ค์ ํ์ธ์. |
keywords | string[] | undefined | ๊ฒ์ ์์ง์์ ํ์ํ ๋ฌธ์ ํ์ด์ง์ ํค์๋ ๋ฉํ ํ๊ทธ๋ฅผ ์ค์ ํฉ๋๋ค. |
description | string | ๋งํฌ๋ค์ด ์ฝํ ์ธ ์ฒซ ๋ฒ์งธ ์ค | ๋ฌธ์์ ์ค๋ช
์ ๊ฒ์์์ง์์ ์ฌ์ฉํ ์ ์๊ฒ <head> ํ๊ทธ ์์ <meta name="description" content="..."/> ์ <meta property="og:description" content="..."/> ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. |
image | string | undefined | Cover or thumbnail image that will be used as the <meta property="og:image" content="..."/> in the <head> , enhancing link previews on social media and messaging platforms. |
slug | string | ํ์ผ ๊ฒฝ๋ก | ๋ฌธ์ URL์ ๋ณ๊ฒฝํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค(/<routeBasePath>/<slug> ). ์ฌ๋ฌ ํจํด์ ์ค์ ํ ์๋ ์์ต๋๋ค: slug: my-doc , slug: /my/path/myDoc , slug: / . |
tags | Tag[] | undefined | ๋ฌธ์๋ฅผ ํ๊ทธํ๊ธฐ ์ํ ๋ฌธ์์ด ๋๋ ์ค๋ธ์ ํธ์ ๋ชฉ๋ก์
๋๋ค. label ๊ณผ permalink 2๊ฐ์ ํ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. Strings can be a reference to keys of a tags file (usually tags.yml ) |
draft | boolean | false | ๋น๊ณต๊ฐ ์ค์ ๋ฌธ์๋ ๊ฐ๋ฐ ์ํ์์๋ง ํ์ธํ ์ ์์ต๋๋ค. |
unlisted | boolean | false | ๋ชฉ๋ก์ ์๋ ๋ฌธ์๋ ๊ฐ๋ฐ ๋ฐ ์ ํ ์ํ์์ ๋ชจ๋ ํ์ธํ ์ ์์ต๋๋ค. ์ ํ์์ "์จ๊ฒจ์ง" ์ํ๋ผ ์ธ๋ฑ์ค๊ฐ ์์ฑ๋์ง ์๊ณ ์ฌ์ดํธ๋งต์์ ์ ์ธ๋๋ฉฐ ๋งํฌ ์ ๋ณด๋ฅผ ์๊ณ ์๋ ์ฌ์ฉ์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค. |
last_update | FrontMatterLastUpdate | undefined | Allows overriding the last update author/date. ์ฌ์ฉํ ์ ์๋ ๋ ์ง ํ์์ parsable date string์ ์ฐธ๊ณ ํ์ธ์. |
type FrontMatterLastUpdate = {date?: string; author?: string};
type Tag = string | {label: string; permalink: string};
์:
---
id: doc-markdown
title: Docs Markdown Features
hide_title: false
hide_table_of_contents: false
sidebar_label: Markdown
sidebar_position: 3
pagination_label: Markdown features
custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md
description: How do I find you when I cannot solve this problem
keywords:
- docs
- docusaurus
tags: [docusaurus]
image: https://i.imgur.com/mErPwqL.png
slug: /myDoc
last_update:
date: 1/1/2000
author: custom author name
---
# Markdown Features
My Document Markdown content
Tags Fileโ
Use the tags
plugin option to configure the path of a YAML tags file.
By convention, the plugin will look for a tags.yml
file at the root of your content folder(s).
This file can contain a list of predefined tags. You can reference these tags by their keys in Markdown files thanks to the tags
front matter.
Using a tags file, you can ensure that your tags usage is consistent across your plugin content set. Use the onInlineTags: 'throw'
plugin option to enforce this consistency and prevent usage of inline tags declared on the fly.
Typesโ
The YAML content of the provided tags file should respect the following shape:
type Tag = {
label?: string; // Tag display label
permalink?: string; // Tag URL pathname segment
description?: string; // Tag description displayed in the tag page
};
type TagsFileInput = Record<string, Partial<Tag> | null>;
Exampleโ
releases:
label: 'Product releases'
permalink: '/product-releases'
description: 'Content related to product releases.'
# A partial tag definition is also valid
announcements:
label: 'Announcements'
# An empty tag definition is also valid
# Other attributes will be inferred from the key
emptyTag:
---
tags: [releases, announcements, emptyTag]
---
# Title
Content
i18nโ
i18n ์๊ฐ ๋ฌธ์๋ฅผ ๋จผ์ ํ์ธํด์ฃผ์ธ์.
๋ฒ์ญ ํ์ผ ์์นโ
- Base path:
website/i18n/[locale]/docusaurus-plugin-content-docs
- Multi-instance path:
website/i18n/[locale]/docusaurus-plugin-content-docs-[pluginId]
- JSON ํ์ผ:
docusaurus write-translations
๋ช ๋ น ์คํ ํ ๋ง๋ค์ด์ง ํ์ผ - Markdown files:
website/i18n/[locale]/docusaurus-plugin-content-docs/[versionName]
ํ์ผ ์์คํ ๊ตฌ์กฐ ์โ
website/i18n/[locale]/docusaurus-plugin-content-docs
โ
โ # translations for website/docs
โโโ current
โ โโโ api
โ โ โโโ config.md
โ โโโ getting-started.md
โโโ current.json
โ
โ # translations for website/versioned_docs/version-1.0.0
โโโ version-1.0.0
โ โโโ api
โ โ โโโ config.md
โ โโโ getting-started.md
โโโ version-1.0.0.json