Navigation and Sidebars
사이트 문서 연결하기
If you want to reference another document in your docs
directory (or the location you set via the optional customDocsPath
path site configuration option), then you just use the name of the document you want to reference.
예를 들어 doc2.md
문서에서 doc1.md
문서를 연결하고 싶다면 아래와 같이 처리합니다.
[document](doc1.md)를 참조합니다.
어떻게 문서끼리 연결되는가
docs
디렉토리 안에 새로운 마크다운 파일을 만들게 되면 웹사이트에서 페이지로 보여집니다. 문서에 대한 링크는 각 문서의 헤더에 있는 id
를 기준으로 생성됩니다. id
항목이 없는 경우에는 파일 이름이 링크명으로 처리됩니다.
예를 들어 docs/getting-started.md
라는 빈 파일을 만들면 /docs/getting-started.html
라는 새로운 페이지 URL을 사용할 수 있습니다.
작성할 문서에 아래와 같이 작성한다고 가정하면
id: intro
title: Getting Started
---
My new content here..
파일에 작성할 마크다운 코드에서 id
항목을 설정하게 위와 같이 설정하게 되면 /docs/intro.html
형식의 문서의 URL로 접근하게 됩니다.
You need an
id
field to be able to add the document to the sidebar.
사이드바에 문서 추가하기
웹사이트 상단 네비게이션 바에서 선택된 항목의 하위 문서에 대해 사이드바에서 보여지기를 원할 것입니다. 일반적으로 사이드바는 도큐사우르스가 초기화될때 docs
에 설정됩니다.
"docs" is just a name. It has no inherent meaning. You can change it as you wish.
사이트바의 콘텐츠와 순서는 website/sidebars.json
파일에서 수정할 수 있습니다.
Until you add your document to
website/sidebars.json
, they will only be accessible via a direct URL. The doc will not show up in any sidebar.
sidebars.json
파일의 sidebar/category 항목에 문서 헤더에서 설정한 id
값을 추가합니다. 아래와 같은 경우 docs
은 사이드바의 이름이고 Getting Started
는 사이드바 내의 카테고리가 됩니다.
{
"docs": {
"Getting Started": [
"getting-started"
],
...
},
...
}
아니면 아래와 같이 새로운 카테고리를 사이드바에 추가할 수 있습니다.
{
"docs": {
"My New Sidebar Category": [
"getting-started"
],
...
},
...
}
Docs 하위 디렉토리에 문서가 아래와 같이 있는 경우에는
docs
└── dir1
└── getting-started.md
sidebars.json
파일에 id
값만 넣으면 안되고 directory/id
형식으로 채워주어야 합니다.
{
"docs": {
"My New Sidebar Category": [
"dir1/getting-started"
],
...
},
...
}
Adding Subcategories
It is possible to add subcategories to a sidebar. Instead of using IDs as the contents of the category array like the previous examples, you can pass an object where the keys will be the subcategory name and the value an array of IDs for that subcategory.
{
"docs": {
"My Example Category": [
"examples",
{
"type": "subcategory",
"label": "My Example Subcategory",
"ids": [
"my-examples",
...
]
},
{
"type": "subcategory",
"label": "My Next Subcategory",
"ids": [
"some-other-examples"
]
},
"even-more-examples",
...
],
...
}
}
/*
The above will generate:
- My Example Category
- examples
- My Example Subcategory
- my-examples
...
- My Next Subcategory
- some-other-examples
- even-more-examples
...
*/
Adding New Sidebars
You can also put a document in a new sidebar. In the following example, we are creating an examples-sidebar
sidebar within sidebars.json
that has a category called My Example Category
containing a document with an id
of my-examples
.
{
"examples-sidebar": {
"My Example Category": [
"my-examples"
],
...
},
...
}
It is important to note that until you add a document from the "examples-sidebar"
sidebar to the nav bar, it will be hidden.
네비게이션 바에 사이트 추가하기
To expose sidebars, you will add click-able labels to the site navigation bar at the top of the website. You can add documents, pages and external links.
Adding Documents
After creating a new sidebar for the site by adding it to sidebars.json
, you can expose the new sidebar from the top navigation bar by editing the headerLinks
field of siteConfig.js
.
{
headerLinks: [
...
{ doc: 'my-examples', label: 'Examples' },
...
],
...
}
A label called Examples
will be added to the site navigation bar and when you click on it at the top of your site, the examples-sidebar
will be shown and the default document will be my-examples
.
Adding Custom Pages
To add custom pages to the site navigation bar, entries can be added to the headerLinks
of siteConfig.js
. For example, if we have a page within website/pages/help.js
, we can link to it by adding the following:
{
headerLinks: [
...
{ page: 'help', label: 'Help' },
...
],
...
}
A label called Help
will be added to the site navigation bar and when you click on it at the top of your site, the content from the help.js
page will be shown.
Adding External Links
Custom links can be added to the site navigation bar with the following entry in siteConfig.js
:
{
headerLinks: [
...
{ href: 'https://github.com/facebook/docusaurus', label: 'GitHub' },
...
],
...
}
A label called GitHub
will be added to the site navigation bar and when you click on it at the top of your site, the content of the external link will be shown.
To open external links in a new tab, provide an
external: true
flag within the header link config.
사이트 네비게이션 바 위치 지정하기
You have limited control where the search and languages dropdown elements are shown in the site navigation bar at the top of your website.
Search
If search is enabled on your site, your search bar will appear to the right of your links. If you want to put the search bar between links in the header, add a search entry in the headerLinks
config array:
{
headerLinks: [
{ doc: 'foo', label: 'Foo' },
{ search: true },
{ doc: 'bar', label: 'Bar' },
],
...
}
Languages Dropdown
If translations is enabled on your site, the language dropdown will appear to the right of your links (and to the left of the search bar, if search is enabled). If you want to put the language selection drop down between links in the header, add a languages entry in the headerLinks
config array:
{
headerLinks: [
{ doc: 'foo', label: 'Foo' },
{ languages: true },
{ doc: 'bar', label: 'Bar' },
],
...
}
사이트 네비게이션 바의 활성화된 링크
The links in the top navigation bar get siteNavItemActive
and siteNavGroupActive
class names to allow you to style the currently active link different from the others. siteNavItemActive
is applied when there's an exact match between the navigation link and the currently displayed web page.
This does not include links of type
href
which are meant for external links only. If you manually set anhref
in yourheaderLinks
to an internal page, document, or blog post, it will not get thesiteNavItemActive
class even if that page is being displayed.
The siteNavGroupActive
class will be added to these links:
- 같은 사이드바에 포함된
doc
링크는 현재 표시된 문서로 처리됩니다. - 블로그 포스트에서 블로그 링크나 블로그 페이지 목록이 보여집니다.
These are two separate class names so you can have the active styles applied to either exact matches only or a bit more broadly for docs that belong together. If you don't want to make this distinction you can add both classes to the same CSS rule.
부가적인 온페이지 네비게이션
We support secondary on-page navigation so you can quickly see the topics associated with a given document. To enable this feature, you need to add the onPageNav
site configuration option to your siteConfig.js
.
{
onPageNav: 'separate',
...
}
Currently, 'separate'
is the only option available for this field. This provides a separate navigation on the right side of the page.
Collapsible Categories
For sites with a sizable amount of content, we support the option to expand/collapse the links and subcategories under categories. To enable this feature, set the docsSideNavCollapsible
site configuration option in siteConfig.js
to true.
{
docsSideNavCollapsible: true,
...
}