GitLab Flavored Markdown (GLFM)
GitLab v19.2- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated GitLab Flavored Markdown(GLFM)은 GitLab 사용자 인터페이스에서 텍스트 서식을 지정하는 마크업 언어입니다.
GitLab Flavored Markdown (GLFM)#
-
Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab Flavored Markdown(GLFM)은 GitLab 사용자 인터페이스에서 텍스트 서식을 지정하는 마크업 언어입니다. GLFM의 특징:
-
코드, 다이어그램, 수식, 멀티미디어를 지원하는 풍부한 콘텐츠를 생성합니다.
-
크로스 레퍼런스를 통해 이슈, 머지 리퀘스트 및 기타 GitLab 콘텐츠를 연결합니다.
-
태스크 목록, 테이블, 접을 수 있는 섹션으로 정보를 구성합니다.
-
100개 이상의 프로그래밍 언어에 대한 구문 강조 표시를 지원합니다.
-
시맨틱 헤딩 구조 및 이미지 설명으로 접근성을 보장합니다.
GitLab UI에서 텍스트를 입력하면 GitLab은 해당 텍스트가 GitLab Flavored Markdown으로 작성된 것으로 간주합니다.
GitLab Flavored Markdown은 다음 위치에서 사용할 수 있습니다:
-
댓글
-
이슈
-
에픽
-
머지 리퀘스트
-
마일스톤
-
스니펫 (스니펫 이름에
.md확장자를 사용해야 함) -
위키 페이지
-
리포지터리 내의 Markdown 문서
-
릴리즈
GitLab에서 다른 서식 있는 텍스트 파일을 사용할 수도 있습니다. 이를 위해 의존성을 설치해야 할 수도 있습니다.
자세한 내용은 gitlab-markup gem 프로젝트를 참조하세요.
이 Markdown 사양은 GitLab 전용입니다. 여기에서는 Markdown을 최대한 충실하게 렌더링하기 위해 최선을 다하고 있지만,
GitLab 문서 웹사이트와 GitLab 핸드북은 다른 Markdown 렌더러를 사용합니다.
다음 예시를 통해 GitLab이 이러한 예시를 어떻게 렌더링하는지 정확히 확인할 수 있습니다:
-
관련 원본 Markdown 예시를 복사합니다(예시의 렌더링된 버전이 아닌 원본).
-
이슈나 머지 리퀘스트 댓글 또는 설명, 또는 새 Markdown 파일과 같이 Markdown 미리보기를 지원하는 GitLab의 위치에 Markdown을 붙여 넣습니다.
-
미리보기를 선택하여 GitLab에서 렌더링된 Markdown을 확인합니다.
표준 Markdown과의 차이점#
GitLab Flavored Markdown은 다음으로 구성됩니다:
-
CommonMark 사양을 기반으로 한 핵심 Markdown 기능.
-
GitHub Flavored Markdown의 확장 기능.
-
GitLab 전용으로 만든 확장 기능.
모든 표준 Markdown 서식은 GitLab에서 예상대로 작동해야 합니다. 일부 표준 기능은 표준 사용 방식에 영향을 주지 않으면서 추가 기능으로 확장됩니다.
다음 기능은 표준 Markdown에서 찾을 수 없습니다:
-
GitLab 전용 레퍼런스 (Markdown 스니펫 파일에서는 지원되지 않음.)
다음 기능은 표준 Markdown에서 확장된 것입니다:
| 표준 Markdown | GitLab의 확장 Markdown |
|---|---|
| 블록 인용 | 여러 줄 블록 인용 |
| 코드 블록 | 색상 코드 및 구문 강조 표시 |
| 헤딩 | 링크 가능한 헤딩 ID |
| 이미지 | 임베드된 동영상 및 오디오 |
| 링크 | URL 자동 연결 |
Markdown 및 접근성#
GitLab Flavored Markdown을 사용할 때 디지털 콘텐츠를 작성하게 됩니다. 이 콘텐츠는 독자에게 최대한 접근 가능해야 합니다. 다음 목록은 완전하지 않지만, GitLab Flavored Markdown 스타일 중 특별히 주의해야 할 몇 가지 사항에 대한 지침을 제공합니다:
접근 가능한 헤딩#
헤딩 서식을 사용하여 논리적인 헤딩 구조를 만드세요.
페이지의 헤딩 구조는 좋은 목차처럼 의미가 있어야 합니다.
페이지에 h1 요소가 하나만 있는지, 헤딩 수준이 건너뛰어지지 않는지, 올바르게 중첩되어 있는지 확인하세요.
접근 가능한 테이블#
테이블을 접근 가능하고 스캔하기 쉽게 유지하려면 빈 셀이 없어야 합니다. 셀에 달리 의미 있는 값이 없는 경우, "해당 없음"을 의미하는 N/A 또는 없음을 입력하는 것을 고려하세요.
접근 가능한 이미지 및 동영상#
[alt text]에 이미지 또는 동영상을 설명하세요. 설명은 정확하고 간결하며 고유해야 합니다.
설명에 image of 또는 video of를 사용하지 마세요. 자세한 내용은 WebAim 대체 텍스트를 참조하세요.
작업 항목 및 머지 리퀘스트 제목#
History
-
GitLab 18.0에서 전체 GitLab Flavored Markdown 지원이 도입됨.
-
GitLab 18.11에서 전체 GitLab Flavored Markdown 지원이 제거됨.
이슈, 머지 리퀘스트, 에픽 및 기타 작업 항목의 제목은 전체 GitLab Flavored Markdown을 지원하지 않습니다. 제목은 다음만 지원합니다:
-
코드 span (
code). 추가 백틱 사용이나 이스케이프는 지원되지 않습니다. -
이모지 (
:emoji:단축코드 및 사용자 정의 이모지). -
자동 연결된 URL.
-
#123,@user,!456과 같은 GitLab 전용 레퍼런스.
제목에서는 굵게, 기울임꼴, 링크, 헤딩, 목록 및 기타 블록 수준 서식과 같은 표준 Markdown 구문이 처리되지 않습니다.
예를 들어, 제목 **Merge request title**은 굵게 표시되지 않고 별표와 함께 표시됩니다.
헤딩#
#을 사용하여 1에서 6까지의 헤딩을 만드세요.
# H1
## H2
### H3
#### H4
##### H5
###### H6
또는 H1과 H2의 경우 밑줄 스타일을 사용할 수 있습니다:
Alt-H1
======
Alt-H2
------
제목 ID와 링크#
History
- 제목 링크 생성이 GitLab 17.0에서 변경되었습니다.
Markdown으로 렌더링된 모든 제목은 자동으로 링크할 수 있는 ID를 가지게 됩니다. 단, 코멘트에서는 예외입니다.
마우스를 올리면 해당 ID로의 링크가 표시되어 제목 링크를 복사해 다른 곳에서 사용하기 쉽습니다.
ID는 다음 규칙에 따라 제목의 내용으로부터 생성됩니다:
-
모든 텍스트는 소문자로 변환됩니다.
-
모든 비단어 텍스트(구두점이나 HTML 등)는 제거됩니다.
-
모든 공백은 하이픈으로 변환됩니다.
-
연속된 두 개 이상의 하이픈은 하나로 변환됩니다.
-
동일한 ID를 가진 제목이 이미 생성된 경우, 1부터 시작하는 고유한 증가 번호가 추가됩니다.
예시:
# This heading has spaces in it
## This heading has a :thumbsup: in it
# This heading has Unicode in it: 한글
## This heading has spaces in it
### This heading has spaces in it
## This heading has 3.5 in it (and parentheses)
## This heading has multiple spaces and --- hyphens
위 예시는 다음과 같은 링크 ID를 생성합니다:
-
this-heading-has-spaces-in-it -
this-heading-has-a-thumbsup-in-it -
this-heading-has-unicode-in-it-한글 -
this-heading-has-spaces-in-it-1 -
this-heading-has-spaces-in-it-2 -
this-heading-has-35-in-it-and-parentheses -
this-heading-has--multiple-spaces-and-----hyphens
줄 바꿈#
줄 바꿈이 삽입되어 새로운 단락이 시작되는 것은 이전 텍스트가 두 개의 줄 바꿈으로 끝났을 때입니다. 예를 들어 Enter를 연속으로 두 번 눌렀을 때입니다. 줄 바꿈을 하나만 사용하면(Enter를 한 번만 누르면) 다음 문장은 같은 단락의 일부로 유지됩니다. 긴 줄이 자동으로 줄 바꿈되는 것을 방지하고 편집 가능하게 유지하려면 이 방법을 사용하세요:
Here's a line for us to start with.
This longer line is separated from the one above by two newlines, so it is a *separate paragraph*.
This line is also a separate paragraph, but...
These lines are only separated by single newlines,
so they *do not break* and just follow the previous lines
in the *same paragraph*.
렌더링하면 예시는 다음과 유사하게 보입니다:
Here’s a line for us to start with.
This longer line is separated from the one above by two newlines, so it is a separate paragraph.
This line is also a separate paragraph, but… These lines are only separated by single newlines, so they do not break and just follow the previous lines in the same paragraph.
줄바꿈 문자#
단락은 하나 이상의 연속된 텍스트 줄로 구성되며, 하나 이상의 빈 줄(첫 번째 단락 끝에 두 개의 줄 바꿈)로 구분됩니다. 이는 줄 바꿈에서 설명한 것과 같습니다.
줄 바꿈이나 소프트 리턴에 대해 더 세밀한 제어가 필요하신가요? 줄 끝에 백슬래시나 두 개 이상의 공백을 추가하여 단일 줄 바꿈을 삽입하세요. 연속된 두 개의 줄 바꿈은 사이에 빈 줄이 있는 새로운 단락을 만듭니다:
First paragraph.
Another line in the same paragraph.
A third line in the same paragraph, but this time ending with two spaces.<space><space>
A new line directly under the first paragraph.
두 번째 단락.
이번 줄은 백슬래시로 끝납니다.\
백슬래시로 인해 줄바꿈이 발생했습니다.
렌더링하면 다음과 유사하게 표시됩니다:
첫 번째 단락. 같은 단락의 다른 줄. 같은 단락의 세 번째 줄이지만, 이번에는 공백 두 개로 끝납니다.
첫 번째 단락 바로 아래에 새 줄.
두 번째 단락. 이번 줄은 백슬래시로 끝납니다.
백슬래시로 인해 줄바꿈이 발생했습니다.
이 구문은 단락 및 줄바꿈 처리에 대한 Markdown 사양을 준수합니다.
강조#
텍스트를 여러 방법으로 강조할 수 있습니다. 이탤릭체, 굵게, 취소선을 사용하거나 이러한 강조 스타일을 함께 조합할 수 있습니다.
예시:
Emphasis, or italics, with *asterisks* or _underscores_.
Strong emphasis, or bold, with double **asterisks** or __underscores__.
Combined emphasis with **asterisks and _underscores_**.
Strikethrough with double tildes. ~~Scratch this.~~
렌더링하면 다음과 유사하게 표시됩니다:
Emphasis, or italics, with asterisks or underscores.
Strong emphasis, or bold, with double asterisks or underscores.
Combined emphasis with asterisks and underscores.
Strikethrough with double tildes. Scratch this.
단어 중간 강조#
특히 여러 언더스코어가 자주 포함되는 코드 및 이름을 다룰 때, 단어의 일부에만 이탤릭체를 적용하는 것은 피하세요.
GitLab Flavored Markdown은 코드를 다루는 Markdown 문서의 렌더링을 개선하기 위해 단어 내 여러 언더스코어를 무시합니다:
perform_complicated_task
do_this_and_do_that_and_another_thing
but_emphasis is_desired _here_
렌더링하면 다음과 유사하게 표시됩니다:
perform_complicated_task
do_this_and_do_that_and_another_thing
but_emphasis is_desired here
단어의 일부에만 강조를 적용하고 싶다면 별표(asterisk)를 사용할 수 있습니다:
perform*complicated*task
do*this*and*do*that*and*another thing
렌더링하면 다음과 유사하게 표시됩니다:
performcomplicatedtask
dothisanddothatandanother thing
인라인 diff#
인라인 diff 태그를 사용하면 {+ 추가 +} 또는 [- 삭제 -]를 표시할 수 있습니다.
감싸는 태그는 중괄호 또는 대괄호 중 하나를 사용할 수 있습니다:
- {+ addition 1 +}
- [+ addition 2 +]
- {- deletion 3 -}
- [- deletion 4 -]
[
](/19.2/user/img/inline_diff_01_v13_3.png)
단, 감싸는 태그를 혼용할 수는 없습니다:
- {+ addition +]
- [+ addition +}
- {- deletion -]
- [- deletion -}
Diff 하이라이팅은 인라인 코드에서는 작동하지 않습니다. 텍스트에 백틱(```)이 포함된 경우, 각 백틱 앞에 백슬래시 \를 사용하여 이스케이프하세요:
- {+ Just regular text +}
- {+ Text with `backticks` inside +}
- {+ Text with escaped \`backticks\` inside +}
[
](/19.2/user/img/inline_diff_02_v13_3.png)
수평선#
세 개 이상의 하이픈, 별표, 또는 밑줄을 사용하여 수평선을 만듭니다:
---
***
___
렌더링하면 모든 수평선은 다음과 유사하게 표시됩니다:
목록#
순서 있는 목록과 순서 없는 목록을 만들 수 있습니다.
순서 있는 목록을 만들려면 각 줄 시작 부분에 목록을 시작할 숫자(예: 1.)를 입력하고
그 뒤에 공백을 추가합니다.
첫 번째 숫자 이후에는 어떤 숫자를 사용하더라도 상관없습니다. 순서 있는 목록은
세로 순서에 따라 자동으로 번호가 매겨지므로, 같은 목록의 모든 항목에 1.을 반복하는 것이 일반적입니다. 1. 이외의 숫자로 시작하면 해당 숫자가 첫 번째 번호로 사용되며,
그 다음부터 순서대로 번호가 증가합니다.
예시:
1. First ordered list item
2. Another item
- Unordered sub-list.
1. Actual numbers don't matter, just that it's a number
1. Ordered sub-list
1. Next ordered sub-list item
4. And another item.
. See . --> 렌더링하면 예시는 다음과 유사하게 표시됩니다:
-
First ordered list item
-
Another item
Unordered sub-list.
- Actual numbers don’t matter, just that it’s a number
Ordered sub-list
-
Next ordered sub-list item
-
And another item.
순서 없는 목록을 만들려면 각 줄 시작 부분에 -, * 또는 +를 입력하고
그 뒤에 공백을 추가합니다. 같은 목록에서 문자를 혼용하지 마세요.
Unordered lists can:
- use
- minuses
They can also:
* use
* asterisks
They can even:
+ use
+ pluses
. See . --> 렌더링하면 예시는 다음과 유사하게 표시됩니다:
Unordered lists can:
-
use
-
minuses
They can also:
-
use
-
asterisks
They can even:
-
use
-
pluses
목록 항목에 여러 단락이 포함된 경우, 각 후속 단락은 목록 항목 텍스트 시작 위치와 동일한 수준으로 들여쓰기해야 합니다.
예시:
1. 첫 번째 순서 있는 목록 항목
첫 번째 항목의 두 번째 단락.
1. 다른 항목
렌더링하면 다음과 유사하게 표시됩니다:
첫 번째 순서 있는 목록 항목
첫 번째 항목의 두 번째 단락.
다른 항목
첫 번째 항목의 단락이 적절한 수의 공백으로 들여쓰기되지 않으면, 단락이 목록 바깥에 표시됩니다. 올바른 수의 공백을 사용하여 목록 항목 아래에 제대로 들여쓰기하세요. 예를 들어:
1. 첫 번째 순서 있는 목록 항목
(첫 번째 항목의 잘못 정렬된 단락.)
1. 다른 항목
렌더링하면 다음과 유사하게 표시됩니다:
- 첫 번째 순서 있는 목록 항목
(첫 번째 항목의 잘못 정렬된 단락.)
- 다른 항목
순서 없는 목록 항목의 첫 번째 하위 항목인 순서 있는 목록은 1.로 시작하지 않는 경우 앞에 빈 줄이 있어야 합니다.
예를 들어, 빈 줄이 있는 경우:
- 순서 없는 목록 항목
5. 첫 번째 순서 있는 목록 항목
렌더링하면 다음과 유사하게 표시됩니다:
순서 없는 목록 항목
첫 번째 순서 있는 목록 항목
빈 줄이 없으면 두 번째 목록 항목이 첫 번째 항목의 일부로 렌더링됩니다:
- 순서 없는 목록 항목
5. 첫 번째 순서 있는 목록 항목
렌더링하면 다음과 유사하게 표시됩니다:
- 순서 없는 목록 항목
- 첫 번째 순서 있는 목록 항목
CommonMark는 순서 있는 목록 항목과 순서 없는 목록 항목 사이의 빈 줄을 무시하고, 이들을 단일 목록의 일부로 간주합니다. 항목들은 느슨한 목록으로 렌더링됩니다. 각 목록 항목은 단락 태그로 감싸져 단락 간격과 여백이 생깁니다. 이로 인해 각 항목 사이에 여분의 간격이 있는 것처럼 보입니다.
예를 들어:
- 첫 번째 목록 항목
- 두 번째 목록 항목
- 다른 목록
렌더링하면 다음과 유사하게 표시됩니다:
첫 번째 목록 항목
두 번째 목록 항목
다른 목록
CommonMark는 빈 줄을 무시하고 단락 간격이 있는 하나의 목록으로 렌더링합니다.
설명 목록#
History
- 설명 목록은 GitLab 17.7에서 도입되었습니다.
설명 목록은 해당 설명이 있는 용어들의 목록입니다.
각 용어에는 여러 설명이 있을 수 있습니다.
HTML에서는 <dl>, <dt>, <dd> 태그로 표현됩니다.
설명 목록을 만들려면 용어를 한 줄에 입력하고, 설명은 다음 줄에 콜론으로 시작합니다.
Fruits
: apple
: orange
Vegetables
: broccoli
: kale
: spinach
용어와 설명 사이에 빈 줄을 넣을 수도 있습니다.
Fruits
: apple
: orange
리치 텍스트 편집기에서는 새로운 설명 목록을 삽입할 수 없습니다. 새 설명 목록을 삽입하려면
일반 텍스트 편집기를 사용하세요. 자세한 내용은 이슈 535956을 참조하세요.
작업 목록#
Markdown이 지원되는 곳이라면 어디든 작업 목록을 추가할 수 있습니다.
-
이슈, 머지 리퀘스트, 에픽, 댓글에서는 체크박스를 선택할 수 있습니다.
-
그 외의 모든 곳에서는 체크박스를 선택할 수 없습니다. 괄호 안에
x를 추가하거나 제거하는 방식으로 Markdown을 직접 편집해야 합니다.
완료 및 미완료 외에도 작업은 적용 불가 상태일 수도 있습니다. 이슈, 머지 리퀘스트, 에픽, 댓글에서 적용 불가 체크박스를 선택해도 아무런 효과가 없습니다.
작업 목록을 만들려면 순서 있는 목록 또는 순서 없는 목록 형식을 따르세요:
- [x] Completed task
- [~] Inapplicable task
- [ ] Incomplete task
- [x] Sub-task 1
- [~] Sub-task 2
- [ ] Sub-task 3
1. [x] Completed task
1. [~] Inapplicable task
1. [ ] Incomplete task
1. [x] Sub-task 1
1. [~] Sub-task 2
1. [ ] Sub-task 3
[
](/19.2/user/img/completed_tasks_v15_3.png)
테이블 셀에도 작업 목록을 추가할 수 있습니다.
링크#
여러 가지 방법으로 링크를 만들 수 있습니다:
- This line shows an [inline-style link](https://www.google.com)
- This line shows a [link to a repository file in the same directory](permissions.md)
- This line shows a [relative link to a file one directory higher](../_index.md)
- This line shows a [link that also has title text](https://www.google.com "This link takes you to Google!")
렌더링하면 예시는 다음과 비슷하게 표시됩니다:
-
이 줄은 인라인 스타일 링크를 보여줍니다.
-
이 줄은 같은 디렉터리에 있는 리포지터리 파일 링크를 보여줍니다.
-
이 줄은 한 단계 위 디렉터리의 파일로 가는 상대 링크를 보여줍니다.
-
이 줄은 제목 텍스트도 포함된 링크를 보여줍니다.
wiki 페이지에서 프로젝트 파일을 참조하거나, 프로젝트 파일에서 wiki 페이지를 참조할 때는
상대 링크를 사용할 수 없습니다. GitLab에서 wiki는 항상 별도의 Git 리포지터리에 있기 때문에
이 제한이 존재합니다. 예를 들어, [I'm a reference-style link](style)는 링크가 wiki Markdown 파일 내에
있을 때만 wikis/style을 가리킵니다.
자세한 내용은 Wiki 전용 Markdown을 참조하세요.
페이지의 특정 섹션에 링크하려면 heading ID 앵커를 사용하세요:
- This line links to [a section on a different Markdown page, using a `#` and the heading ID](permissions.md#project-permissions)
- This line links to [a different section on the same page, using a `#` and the heading ID](#heading-ids-and-links)
렌더링하면 예시는 다음과 비슷하게 표시됩니다:
링크 참조 사용:
- This line shows a [reference-style link, see below][Arbitrary case-insensitive reference text]
- You can [use numbers for reference-style link definitions, see below][1]
- Or leave it empty and use the [link text itself][], see below.
Some text to show that the reference links can follow later.
[arbitrary case-insensitive reference text]: https://www.mozilla.org/en-US/
[1]: https://slashdot.org
[link text itself]: https://about.gitlab.com/
렌더링하면 예시는 다음과 비슷하게 표시됩니다:
-
이 줄은 참조 스타일 링크(아래 참조)입니다.
-
참조 스타일 링크 정의에 숫자를 사용(아래 참조)할 수 있습니다.
-
또는 비워두고 링크 텍스트 자체를 사용하세요(아래 참조).
참조 링크는 이후에 나타날 수 있다는 것을 보여주는 예시 텍스트입니다.
URL 자동 링크#
텍스트에 입력하는 거의 모든 URL은 자동으로 링크됩니다:
- https://www.google.com
- https://www.google.com
- ftp://ftp.us.debian.org/debian/
- smb://foo/bar/baz
- irc://irc.freenode.net/
- http://localhost:3000
렌더링되면 예시는 다음과 유사하게 표시됩니다:
GitLab 전용 참조#
History
-
위키 페이지 자동 완성 기능이 GitLab 16.11에서 도입됨.
-
그룹에서 라벨을 참조하는 옵션이 GitLab 17.1에서 도입됨.
-
[work_item:123]구문으로 이슈, 에픽, 작업 항목을 참조하는 옵션:
GitLab 18.1에서 도입됨, extensible_reference_filters라는 기능 플래그 사용. 기본적으로 비활성화됨.
-
GitLab 18.2에서 일반적으로 사용 가능해짐. 기능 플래그
extensible_reference_filters제거됨. -
[epic:123]구문으로 에픽을 참조하는 옵션이 GitLab 18.4에서 도입됨. -
개인 스니펫을 참조하는 기능:
personal_snippet_reference_filters라는 기능 플래그와 함께 GitLab 19.0에서 도입됨. 기본적으로 비활성화됨.
- GitLab 19.2에서 일반적으로 사용 가능해짐. 기능 플래그
personal_snippet_reference_filters제거됨.
GitLab Flavored Markdown은 GitLab 전용 참조를 렌더링합니다. 예를 들어, 이슈, 커밋, 팀원, 또는 전체 프로젝트 팀을 참조할 수 있습니다. GitLab Flavored Markdown은 해당 참조를 링크로 변환하여 항목 간에 탐색할 수 있게 합니다. 프로젝트에 대한 모든 참조는 프로젝트 이름 대신 project slug를 사용해야 합니다.
또한, GitLab Flavored Markdown은 특정 크로스 프로젝트 참조를 인식하며, 동일한 네임스페이스의 다른 프로젝트를 참조하기 위한 단축 표기도 지원합니다.
GitLab 전용 참조는 Markdown 스니펫 파일에서 지원되지 않습니다.
GitLab Flavored Markdown은 다음을 인식합니다:
| 참조 | 입력 | 크로스 프로젝트 참조 | 동일 네임스페이스 내 단축키 |
|---|---|---|---|
| 특정 사용자 | @user_name | ||
| 특정 그룹 | @group_name | ||
| 전체 팀 | @all | ||
| 프로젝트 | namespace/project> | ||
| 이슈 | #123, GL-123, or [issue:123] | namespace/project#123 or [issue:namespace/project/123] | project#123 or [issue:project/123] |
| 작업 항목 | [work_item:123] | [work_item:namespace/project/123] | [work_item:project/123] |
| 머지 리퀘스트 | !123 | namespace/project!123 | project!123 |
| 스니펫 3 | $123 | namespace/project$123 | project$123 |
| 개인 스니펫 3 | $123 | ||
| 에픽 | #123, &123, [work_item:123], or [epic:123] | group1/subgroup#123, group1/subgroup&123, [work_item:group1/subgroup/123], or [epic:group1/subgroup/123] | |
| Iteration | *iteration:"iteration title" | ||
| ID로 Iteration cadence1 | [cadence:123] | ||
| 제목으로 Iteration cadence (한 단어)1 | [cadence:plan] | ||
| 제목으로 Iteration cadence (여러 단어)1 | [cadence:"plan a"] | ||
| 취약점 | [vulnerability:123] | [vulnerability:namespace/project/123] | [vulnerability:project/123] |
| 기능 플래그 | [feature_flag:123] | [feature_flag:namespace/project/123] | [feature_flag:project/123] |
| ID로 라벨 2 | ~123 | namespace/project~123 | project~123 |
| 이름으로 라벨 (한 단어) 2 | ~bug | namespace/project~bug | project~bug |
| 이름으로 라벨 (여러 단어) 2 | ~"feature request" | namespace/project~"feature request" | project~"feature request" |
| 이름으로 라벨 (범위 지정) 2 | ~"priority::high" | namespace/project~"priority::high" | project~"priority::high" |
| ID로 프로젝트 마일스톤 2 | %123 | namespace/project%123 | project%123 |
| 이름으로 마일스톤 (한 단어) 2 | %v1.23 | namespace/project%v1.23 | project%v1.23 |
| 이름으로 마일스톤 (여러 단어) 2 | %"release candidate" | namespace/project%"release candidate" | project%"release candidate" |
| 커밋 (특정) | 9ba12248 | namespace/project@9ba12248 | project@9ba12248 |
| 커밋 범위 비교 | 9ba12248...b19a04f5 | namespace/project@9ba12248...b19a04f5 | project@9ba12248...b19a04f5 |
| 리포지터리 파일 참조 | README | ||
| 리포지터리 파일 참조 (특정 줄) | README | ||
| Alert | ^alert#123 | namespace/project^alert#123 | project^alert#123 |
| 연락처 | [contact:test@example.com] | ||
| 위키 페이지 (페이지 slug가 제목과 동일한 경우) | [[Home]] or [wiki_page:Home] | [wiki_page:namespace/project:Home] or [wiki_page:group1/subgroup:Home] | |
| 위키 페이지 (페이지 slug가 제목과 다른 경우) | [[How to use GitLab | how-to-use-gitlab]] |
각주:
-
GitLab 16.9에서 도입됨. Iteration cadence 참조는 항상
[cadence:]형식으로 렌더링됩니다. 예를 들어, 텍스트 참조[cadence:"plan"]은 참조된 iteration cadence의 ID가1인 경우[cadence:1]로 렌더링됩니다. -
라벨이나 마일스톤의 경우,
namespace/project앞에/를 붙여 정확한 라벨 또는 마일스톤을 지정하면 모호함을 제거할 수 있습니다. -
스니펫 ID는 개인 스니펫과 프로젝트 스니펫 전체에서 고유하므로, 주어진 ID는 항상 단일 스니펫을 식별합니다.
예를 들어, #123을 사용하여 이슈를 참조하면 출력이 #123 텍스트가 있는 이슈 번호 123의
링크로 포맷됩니다. 마찬가지로, 이슈 번호 123의 링크도 인식되어 #123 텍스트로 포맷됩니다.
#123이 이슈로 링크되지 않기를 원한다면,
앞에 백슬래시 \#123을 추가하세요.
이 외에도, 일부 객체에 대한 링크도 인식되어 포맷됩니다. 예시:
-
이슈 댓글:
"https://gitlab.com/gitlab-org/gitlab/-/issues/1234#note_101075757",#1234 (comment 101075757)로 렌더링됨 -
이슈 디자인 탭:
"https://gitlab.com/gitlab-org/gitlab/-/issues/1234/designs",#1234 (designs)로 렌더링됨. -
개별 디자인 링크:
"https://gitlab.com/gitlab-org/gitlab/-/issues/1234/designs/layout.png",#1234[layout.png]로 렌더링됨.
항목 제목 표시#
History
-
작업 항목(태스크, 목표, 핵심 결과)에 대한 지원이 GitLab 16.0에서 도입됨.
-
에픽 지원이 GitLab 17.7에서 도입됨, 플래그 이름
work_item_epics, 기본적으로 활성화됨. -
에픽에 대해 GitLab 18.1에서 일반적으로 사용 가능해짐. 기능 플래그
work_item_epics제거됨.
이슈, 태스크, 목표, 핵심 결과, 머지 리퀘스트 또는 에픽의 렌더링된 링크에 제목을 포함하려면:
- 참조 끝에 더하기 기호(
+)를 추가합니다.
예를 들어, #123+와 같은 참조는 The issue title (#123)으로 렌더링됩니다.
https://gitlab.com/gitlab-org/gitlab/-/issues/1234+와 같은 URL 참조도 확장됩니다.
항목 요약 표시#
History
-
작업 항목(태스크, 목표, 핵심 결과)에 대한 지원이 GitLab 16.0에서 도입됨.
-
에픽 지원이 GitLab 17.7에서 도입됨, 플래그 이름
work_item_epics, 기본적으로 활성화됨. -
에픽에 대해 GitLab 18.1에서 일반적으로 사용 가능해짐. 기능 플래그
work_item_epics제거됨.
에픽, 이슈, 태스크, 목표, 핵심 결과 또는 머지 리퀘스트의 렌더링된 링크에 확장된 요약을 포함하려면:
- 참조 끝에
+s를 추가합니다.
요약에는 참조된 항목의 작업 항목 유형에 따라 해당되는 담당자, 마일스톤, 건강 상태 정보가 포함됩니다.
예를 들어, #123+s와 같은 참조는
The issue title (#123) • First Assignee, Second Assignee+ • v15.10 • Needs attention으로 렌더링됩니다.
https://gitlab.com/gitlab-org/gitlab/-/issues/1234+s와 같은 URL 참조도 확장됩니다.
담당자, 마일스톤 또는 건강 상태가 변경된 경우 렌더링된 참조를 업데이트하려면:
- 페이지를 새로 고침합니다.
호버 시 댓글 미리보기#
History
댓글 링크 위에 마우스를 올리면 작성자와 댓글의 첫 번째 줄이 표시됩니다.
Observability 대시보드 임베드#
에픽, 이슈, MR 등의 설명 및 댓글에 GitLab Observability UI 대시보드를 임베드할 수 있습니다.
Observability 대시보드 URL을 임베드하려면:
-
GitLab Observability UI에서 주소 표시줄의 URL을 복사합니다.
-
댓글이나 설명에 링크를 붙여넣습니다. GitLab Flavored Markdown이 URL을 인식하고 소스를 표시합니다.
표#
표를 만들 때:
-
첫 번째 줄에는 파이프 문자(
|)로 구분된 헤더가 포함됩니다. -
두 번째 줄은 헤더와 셀을 구분합니다.
셀에는 빈 공간, 하이픈, (선택적으로) 수평 정렬을 위한 콜론만 포함될 수 있습니다.
-
각 셀에는 최소 하나의 하이픈이 포함되어야 하지만, 셀에 하이픈을 더 추가해도 셀 렌더링이 변경되지 않습니다.
-
하이픈, 공백, 콜론 이외의 콘텐츠는 허용되지 않습니다.
-
세 번째 줄과 그 이후의 모든 줄에는 셀 값이 포함됩니다.
Markdown에서 여러 줄에 걸쳐 셀을 분리할 수 없으며, 단일 줄로 유지해야 하지만 매우 길 수 있습니다. 필요한 경우 HTML <br> 태그를 포함하여 줄 바꿈을 강제할 수도 있습니다.
-
셀 크기가 서로 일치할 필요는 없습니다. 유연하지만 파이프(
|)로 구분해야 합니다. -
빈 셀을 가질 수 있습니다.
-
칼럼 너비는 셀의 콘텐츠에 따라 동적으로 계산됩니다.
-
텍스트에 파이프 문자(
|)를 표 구분 기호가 아닌 용도로 사용하려면 백슬래시(\|)로 이스케이프해야 합니다.
예시:
| header 1 | header 2 | header 3 |
| --- | ------ | -------- |
| cell 1 | cell 2 | cell 3 |
| cell 4 | cell 5 is longer | cell 6 is much longer than the others, but that's ok. It eventually wraps the text when the cell is too large for the display size. |
| cell 7 | | cell 9 |
렌더링하면 예시는 다음과 유사하게 표시됩니다:
| header 1 | header 2 | header 3 |
|---|---|---|
| cell 1 | cell 2 | cell 3 |
| cell 4 | cell 5 is longer | cell 6 is much longer than the others, but that’s ok. It eventually wraps the text when the cell is too large for the display size. |
| cell 7 | cell 9 |
정렬#
두 번째 행의 "대시" 줄 양쪽에 콜론(:)을 추가하여 칼럼 내 텍스트 정렬 방식을 선택할 수도 있습니다.
이는 해당 칼럼의 모든 셀에 영향을 줍니다:
| Left Aligned | Centered | Right Aligned |
| :----------- | :------: | ------------: |
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
렌더링하면 예시는 다음과 유사하게 표시됩니다:
| Left Aligned | Centered | Right Aligned |
|---|---|---|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
GitLab에서 테이블 헤더는 Chrome과 Firefox에서는 항상 왼쪽 정렬되고, Safari에서는 가운데 정렬됩니다. 자세한 내용은 테이블을 참조하세요.
여러 줄로 구성된 셀#
HTML 형식을 사용하여 테이블 렌더링 방식을 조정할 수 있습니다. 예를 들어,
<br> 태그를 사용하여 셀이 여러 줄을 갖도록 강제할 수 있습니다:
| Name | Details |
| ----- | ------- |
| Item1 | This text is on one line |
| Item2 | This item has:<br>- Multiple items<br>- That we want listed separately |
렌더링하면 예시는 다음과 유사하게 표시됩니다:
| Name | Details |
|---|---|
| Item1 | This text is on one line |
| Item2 | This item has:- Multiple items- That we want listed separately |
테이블의 태스크 목록#
History
- GitLab 18.9에서 테이블 셀 내 태스크 항목에 대한 네이티브 Markdown 구문이 도입됨.
Markdown 테이블 셀에 태스크 항목 체크박스를 추가할 수 있습니다. 체크박스는 셀의 유일한 콘텐츠여야 합니다:
| Complete | Task |
| -------- | ----------------------- |
| [x] | Refactor the backend |
| [ ] | Refactor the frontend |
| [~] | Inapplicable task |
렌더링하면 예시는 다음과 유사하게 표시됩니다:
[
](/19.2/user/img/task_list_in_table_v18_9.png)
단일 셀에 여러 태스크 항목을 추가하거나 추가 텍스트가 있는 태스크 항목을 추가하려면, 셀 내에 Markdown이 포함된 HTML 테이블을 사용하세요:
<table>
<thead>
<tr><th>header 1</th><th>header 2</th></tr>
</thead>
<tbody>
<tr>
<td>cell 1</td>
<td>cell 2</td>
</tr>
<tr>
<td>cell 3</td>
<td>
- [ ] Task one
- [ ] Task two
</td>
</tr>
</tbody>
</table>
리치 텍스트 에디터에서 테이블을 생성한 후 태스크 목록을 삽입할 수도 있습니다.
스프레드시트에서 복사하여 붙여넣기#
스프레드시트 소프트웨어(예: Microsoft Excel, Google Sheets, Apple Numbers)에서 작업하는 경우, 스프레드시트에서 복사하여 붙여넣으면 GitLab이 Markdown 테이블을 생성합니다. 예를 들어, 다음과 같은 스프레드시트가 있다고 가정합니다:
[
](/19.2/user/img/markdown_copy_from_spreadsheet_v12_7.png)
셀을 선택하고 클립보드에 복사합니다. GitLab Markdown 입력 창을 열고 스프레드시트를 붙여넣습니다:
[
](/19.2/user/img/markdown_paste_table_v12_7.png)
JSON 테이블#
History
- GitLab 17.9에서 Markdown 렌더링이 도입됨.
JSON 코드 블록으로 테이블을 렌더링하려면 다음 구문을 사용하세요:
```json:table
{}
이 기능의 동영상 안내를 시청하세요:
동영상 보기: [Demo: JSON Tables in Markdown](https://www.youtube.com/watch?v=12yWKw1AdKY).
관리자는 Markdown에서 iframe 렌더링을 활성화하고 인스턴스에 허용되는 iframe `src`
호스트를 구성할 수 있습니다.
[애플리케이션 설정 API](/19.2/api/settings/#available-settings)를 사용하여 다음 설정을 관리할 수 있습니다:
- `iframe_rendering_enabled`
- `iframe_rendering_allowlist`
- `iframe_rendering_allowlist_raw`.
`items` 속성은 데이터 포인트를 나타내는 객체 목록입니다.
{
"items" : [
{"a": "11", "b": "22", "c": "33"}
]
}
테이블 레이블을 지정하려면 `fields` 속성을 사용하세요.
{
"fields" : ["a", "b", "c"],
"items" : [
{"a": "11", "b": "22", "c": "33"}
]
}
`items`의 모든 요소가 `fields`에 해당 값을 가질 필요는 없습니다.
{
"fields" : ["a", "b", "c"],
"items" : [
{"a": "11", "b": "22", "c": "33"},
{"a": "211", "c": "233"}
]
}
`fields`가 명시적으로 지정되지 않은 경우, 레이블은 `items`의 첫 번째 요소에서 가져옵니다.
{
"items" : [
{"a": "11", "b": "22", "c": "33"},
{"a": "211", "c": "233"}
]
}
`fields`에 사용자 정의 레이블을 지정할 수 있습니다.
{
"fields" : [
{"key": "a", "label": "AA"},
{"key": "b", "label": "BB"},
{"key": "c", "label": "CC"}
],
"items" : [
{"a": "11", "b": "22", "c": "33"},
{"a": "211", "b": "222", "c": "233"}
]
}
`fields`의 개별 요소에 대해 정렬을 활성화할 수 있습니다.
{
"fields" : [
{"key": "a", "label": "AA", "sortable": true},
{"key": "b", "label": "BB"},
{"key": "c", "label": "CC"}
],
"items" : [
{"a": "11", "b": "22", "c": "33"},
{"a": "211", "b": "222", "c": "233"}
]
}
`filter` 속성을 사용하면 사용자 입력에 따라 콘텐츠가 동적으로 필터링되는 테이블을 렌더링할 수 있습니다.
{
"fields" : [
{"key": "a", "label": "AA"},
{"key": "b", "label": "BB"},
{"key": "c", "label": "CC"}
],
"items" : [
{"a": "11", "b": "22", "c": "33"},
{"a": "211", "b": "222", "c": "233"}
],
"filter" : true
}
`markdown` 속성을 사용하면 항목과 캡션에 GitLab 참조를 포함한 GitLab Flavored Markdown을 허용할 수 있습니다.
Fields는 Markdown을 지원하지 않습니다.
{
"fields" : [
{"key": "a", "label": "AA"},
{"key": "b", "label": "BB"},
{"key": "c", "label": "CC"}
],
"items" : [
{"a": "11", "b": "**22**", "c": "33"},
{"a": "#1", "b": "222", "c": "233"}
],
"markdown" : true
}
기본적으로 모든 JSON 테이블의 캡션은 `Generated with JSON data`입니다.
`caption` 속성을 지정하여 이 캡션을 재정의할 수 있습니다.
{
"items" : [
{"a": "11", "b": "22", "c": "33"}
],
"caption" : "Custom caption"
}
JSON이 유효하지 않으면 오류가 발생합니다.
{
"items" : [
{"a": "11", "b": "22", "c": "33"}
],
}
## 멀티미디어
이미지, 동영상, 오디오를 삽입합니다.
Markdown 구문을 사용하여 파일을 연결하고, 크기를 설정하며, 인라인으로 표시할 수 있습니다.
서식 옵션을 통해 제목을 지정하고, 너비와 높이를 설정하며, 렌더링된 출력에서 미디어가 표시되는 방식을 제어할 수 있습니다.
### 이미지
History
- 이미지를 오버레이에서 여는 기능이 GitLab 18.6에서 [도입](https://gitlab.com/gitlab-org/gitlab/-/issues/377398)되었습니다.
- 투명도 체커보드 토글이 GitLab 18.10에서 [도입](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/224872)되었습니다.
`!`를 앞에 붙인 인라인 또는 참조 [링크](/19.2/user/markdown/#links)를 사용하여 이미지를 삽입합니다. 예:

[
](/19.2/user/img/markdown_logo_v17_11.png)
이미지 링크에서:
- 대괄호(`[ ]`) 안의 텍스트는 이미지 대체 텍스트(alt text)가 됩니다.
- 이미지 링크 경로 뒤 큰따옴표 안의 텍스트는 제목 텍스트가 됩니다.
제목 텍스트를 보려면 이미지 위에 마우스를 올리세요.
자세한 내용은 [접근 가능한 이미지 및 동영상](/19.2/user/markdown/#accessible-images-and-videos)을 참조하세요.
이미지를 선택하면 오버레이에서 열립니다.
이미지에 투명한 영역이 있는 경우, 이미지 위에 마우스를 올리고 **투명도 체커보드 전환**을 선택하면
체커보드 배경을 표시할 수 있습니다.
체커보드를 사용하면 어떤 테마에서도 투명한 영역이 잘 보입니다.
**투명도 체커보드 전환**은 픽셀의 5% 이상에 일정 수준의 투명도(완전히 불투명하지 않음)가 있는 PNG, WebP, GIF 이미지에 표시됩니다.
투명 픽셀이 5% 미만인 이미지에는 이 토글이 표시되지 않습니다.
### 동영상
동영상 확장자를 가진 파일에 연결하는 이미지 태그는 자동으로 동영상 플레이어로 변환됩니다. 유효한 동영상 확장자는 `.mp4`, `.m4v`, `.mov`, `.webm`, `.ogv`입니다:
동영상 예시:
이 예시는 [GitLab에서 렌더링](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/user/markdown.md#videos)될 때만 작동합니다:
[
](/19.2/user/img/markdown_video.mp4)
### 이미지 또는 동영상 크기 변경
이미지 또는 동영상에 속성 목록을 추가하여 너비와 높이를 제어할 수 있습니다.
값은 `px`(기본값) 또는 `%` 단위의 정수여야 합니다.
예:
{width=100 height=100px}
{width=75%}
이 예시는 [GitLab에서 렌더링](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/user/markdown.md#change-image-or-video-dimensions)될 때만 동작합니다:
[
](/19.2/user/img/markdown_logo_v17_11.png){width=100 height=100px}
Markdown 대신 `img` HTML 태그를 사용하여 `height`와 `width` 파라미터를 설정할 수도 있습니다.
[GitLab 17.1 이상](https://gitlab.com/gitlab-org/gitlab/-/issues/419913)에서 Markdown 텍스트 박스에 고해상도 PNG 이미지를 붙여 넣으면
항상 크기가 자동으로 추가됩니다. 크기는 레티나(및 기타 고해상도) 디스플레이에 맞게 자동으로 조정됩니다.
예를 들어, 144ppi 이미지는 원래 크기의 50%로, 96ppi 이미지는 원래 크기의 75%로 조정됩니다.
이미지를 선택하면 창에 맞는 100% 또는 최대 크기로 오버레이가 열립니다.
### Audio
동영상과 마찬가지로, 오디오 확장자를 가진 파일의 링크 태그는 자동으로 오디오 플레이어로 변환됩니다.
유효한 오디오 확장자는 `.mp3`, `.oga`, `.ogg`, `.spx`, `.wav`입니다:
오디오 클립 예시:
이 예시는 [GitLab에서 렌더링](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/user/markdown.md#audio)될 때만 동작합니다:
[
](/19.2/user/img/markdown_audio.mp3)
## Blockquotes
부가 설명과 같은 정보를 강조할 때 인용구(blockquote)를 사용합니다. 인용구는
인용할 줄의 시작에 `>`를 추가하여 생성합니다:
Blockquotes help you emulate reply text. This line is part of the same quote.
Quote break.
This very long line is still quoted properly when it wraps. Keep writing to make sure this line is long enough to actually wrap for everyone. You can also use Markdown in a blockquote.
렌더링 시 예시는 다음과 유사하게 표시됩니다:
Blockquotes help you emulate reply text.
This line is part of the same quote.
Quote break.
This very long line is still quoted properly when it wraps. Keep writing to make sure this line is long enough to actually wrap for everyone. You can also *use* **Markdown** in a blockquote.
### Multiline blockquote
`>>>`로 감싸 여러 줄에 걸친 인용구를 만들 수 있습니다:
If you paste a message from somewhere else
that spans multiple lines,
you can quote that without having to manually prepend > to every line!
If you paste a message from somewhere else
that spans multiple lines,
you can quote that without having to manually prepend `>` to every line!
## Code spans and blocks
표준 텍스트가 아닌 코드로 봐야 할 내용을 강조 표시합니다.
인라인 코드는 단일 백틱(```)으로 서식을 지정합니다:
Inline code has back-ticks around it.
렌더링 시 예시는 다음과 유사하게 표시됩니다:
Inline `code` has `back-ticks around` it.
더 큰 코드 예시에서 유사한 효과를 얻으려면 코드 블록을 사용할 수 있습니다.
코드 블록을 만들려면:
- 전체 코드 블록을 백틱 세 개(`````)로 감쌉니다. 여는 구분자와 닫는 구분자의 개수가 동일하다면
세 개 이상의 백틱을 사용할 수 있습니다.
- 전체 코드 블록을 물결표 세 개(`~~~`)로 감쌉니다.
- 네 개 이상의 공백으로 들여씁니다.
예시:
Python code block:
def function():
#indenting works just fine in the fenced code block
s = "Python code"
print(s)
4개 공백을 사용한 Markdown 코드 블록:
Using 4 spaces
is like using
3-backtick fences.
틸데를 사용한 JavaScript 코드 블록:
const s = "JavaScript syntax highlighting";
alert(s);
위의 세 가지 예시는 다음과 같이 렌더링됩니다:
Python 코드 블록:
def function(): #indenting works just fine in the fenced code block s = "Python code" print(s)
4개 공백을 사용한 Markdown 코드 블록:
Using 4 spaces is like using 3-backtick fences.
틸데를 사용한 JavaScript 코드 블록:
const s = "JavaScript syntax highlighting"; alert(s);
### 구문 강조
GitLab은 코드 블록에서 더욱 다채로운 구문 강조를 위해 [Rouge Ruby 라이브러리](https://github.com/rouge-ruby/rouge)를 사용합니다.
지원되는 언어 목록은 [Rouge 프로젝트 위키](https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers)를 참조하세요.
구문 강조는 코드 블록에서만 지원되므로 인라인 코드는 강조할 수 없습니다.
코드 블록에 구문 강조를 적용하려면 세 개의 백틱(`````) 또는 세 개의 틸데(`~~~`) 뒤에 오는 코드 선언 시작 부분에 코드 언어를 추가합니다.
`plaintext`를 사용하거나 코드 언어를 지정하지 않은 코드 블록에는 구문 강조가 적용되지 않습니다:
No language indicated, so **no** syntax highlighting.
s = "No highlighting is shown for this line."
But let's throw in a <b>tag</b>.
렌더링하면 예시는 다음과 유사하게 표시됩니다:
No language indicated, so no syntax highlighting. s = "No highlighting is shown for this line." But let's throw in a tag.
## 다이어그램 및 순서도
다음을 사용하여 텍스트로 다이어그램을 생성할 수 있습니다:
- [Mermaid](https://mermaidjs.github.io/)
- [PlantUML](https://plantuml.com)
- [Kroki](https://kroki.io) — 다양한 종류의 다이어그램을 생성합니다.
위키에서는 [diagrams.net 편집기](/19.2/user/project/wiki/markdown/#diagramsnet-editor)로 만든 다이어그램을 추가하고 편집할 수도 있습니다.
### Mermaid
History
- Entity Relationship 다이어그램 및 마인드맵 지원이 GitLab 16.0에서 [도입됨](https://gitlab.com/gitlab-org/gitlab/-/issues/384386).
자세한 내용은 [공식 페이지](https://mermaidjs.github.io/)를 방문하세요.
[Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor/)를 활용하면 Mermaid를 학습하고 Mermaid 코드의 문제를 디버깅할 수 있습니다.
다이어그램의 문제를 식별하고 해결하는 데 사용하세요.
GitLab.com은 Mermaid 버전 10을 지원합니다.
다이어그램 또는 순서도를 생성하려면 `mermaid` 블록 안에 텍스트를 작성합니다:
소스 코드 보기
graph TD
accTitle: Basic Mermaid diagram example
accDescr: Simple flowchart showing nodes A, B, C, and D with connections between them.
A-->B;
A-->C;
B-->D;
C-->D;
GitLab Self-Managed에서 `Cross-Origin-Resource-Policy` 헤더를 `same-site` 또는 `same-origin`으로 설정한 경우, Mermaid 다이어그램이 자동으로 렌더링에 실패합니다.
이 문제를 해결하려면 `cross-origin`을 대신 사용하세요.
자세한 내용은 [`Cross-Origin-Resource-Policy` 헤더와 Mermaid 다이어그램](https://docs.gitlab.com/omnibus/settings/nginx/#cross-origin-resource-policy-header-and-mermaid-diagrams)을 참조하세요.
렌더링하면 예시는 다음과 유사하게 표시됩니다:
graph TD
accTitle: Basic Mermaid diagram example
accDescr: Simple flowchart showing nodes A, B, C, and D with connections between them.
A-->B;
A-->C;
B-->D;
C-->D;
서브그래프도 포함할 수 있습니다:
소스 코드 보기
graph TB
accTitle: Mermaid diagram with subgraphs
accDescr: Flowchart showing main graph with two subgraphs containing nodes and decision flows.
SubGraph1 --> SubGraph1Flow
subgraph "SubGraph 1 Flow"
SubGraph1Flow(SubNode 1)
SubGraph1Flow -- Choice1 --> DoChoice1
SubGraph1Flow -- Choice2 --> DoChoice2
end
subgraph "Main Graph"
Node1[Node 1] --> Node2[Node 2]
Node2 --> SubGraph1[Jump to SubGraph1]
SubGraph1 --> FinalThing[Final Thing]
end
렌더링하면 예시는 다음과 유사하게 보입니다:
graph TB
accTitle: Mermaid diagram with subgraphs rendered
accDescr: Flowchart showing main graph with two subgraphs containing nodes and decision flows as rendered.
SubGraph1 --> SubGraph1Flow
subgraph "SubGraph 1 Flow"
SubGraph1Flow(SubNode 1)
SubGraph1Flow -- Choice1 --> DoChoice1
SubGraph1Flow -- Choice2 --> DoChoice2
end
subgraph "Main Graph"
Node1[Node 1] --> Node2[Node 2]
Node2 --> SubGraph1[Jump to SubGraph1]
SubGraph1 --> FinalThing[Final Thing]
end
### PlantUML
PlantUML 통합은 GitLab.com에서 활성화되어 있습니다. GitLab Self-Managed 설치에서 PlantUML을 사용하려면
GitLab 관리자가 [활성화해야 합니다](/19.2/administration/integration/plantuml/).
PlantUML을 활성화하면 다이어그램 구분자 `@startuml`/`@enduml`는 필요하지 않으며,
`plantuml` 블록으로 대체됩니다. 예를 들면:
소스 코드 보기
Bob -> Alice : hello
Alice -> Bob : hi
`::include` 지시어를 사용하여 리포지터리의 별도 파일에서 PlantUML 다이어그램을 포함하거나 삽입할 수 있습니다.
자세한 내용은 [다이어그램 파일 포함](/19.2/administration/integration/plantuml/#include-diagram-files)을 참조하세요.
### Kroki
GitLab에서 Kroki를 사용하려면 GitLab 관리자가 활성화해야 합니다.
자세한 내용은 [Kroki 통합](/19.2/administration/integration/kroki/) 페이지를 참조하세요.
## 수학 방정식
LaTeX 구문으로 작성된 수식은 [KaTeX](https://github.com/KaTeX/KaTeX)로 렌더링됩니다.
*KaTeX는 LaTeX의 [일부](https://katex.org/docs/supported.html)만 지원합니다.*
이 구문은 `:stem: latexmath`를 사용하는 AsciiDoc 위키 및 파일에서도 동작합니다. 자세한 내용은
[Asciidoctor 사용자 매뉴얼](https://asciidoctor.org/docs/user-manual/#activating-stem-support)을 참조하세요.
악의적인 활동을 방지하기 위해 GitLab은 처음 50개의 인라인 수식 인스턴스만 렌더링합니다.
[그룹](/19.2/api/graphql/reference/#mutationgroupupdate) 또는
전체 [GitLab Self-Managed 인스턴스](/19.2/administration/instance_limits/#math-rendering-limits)에 대해 이 제한을 비활성화할 수 있습니다.
수식 블록의 수도 렌더링 시간에 따라 제한됩니다. 제한을 초과하면
GitLab은 초과된 수식 인스턴스를 텍스트로 렌더링합니다. 위키 및 리포지터리 파일에는
이러한 제한이 없습니다.
백틱과 함께 달러 기호 사이에 작성된 수식(`$`...`$`) 또는 단일 달러 기호(`$...$`)는
텍스트와 인라인으로 렌더링됩니다.
이중 달러 기호(`$$...$$`) 사이에 작성되거나 언어가 `math`로 선언된 [코드 블록](/19.2/user/markdown/#code-spans-and-blocks) 안에 작성된 수식은 별도의 줄에 렌더링됩니다:
a^2+b^2=c^2`$.
이 수식은 ` ```math ` 블록을 사용하여 별도의 줄에 표시됩니다:
```math
a^2+b^2=c^2
이 수식은 인라인 $를 사용하여 별도의 줄에 표시됩니다: $a^2+b^2=c^2$
이 수식은 $...$ 블록을 사용하여 별도의 줄에 표시됩니다:
$ a^2+b^2=c^2 $
렌더링하면 예시는 다음과 같이 보입니다:
[
](/19.2/user/img/markdown_math_v17_2.png)
리치 텍스트 편집기는 새 수식 블록 삽입을 지원하지 않습니다. 새 수식 블록을 삽입하려면
일반 텍스트 편집기를 사용하세요. 자세한 내용은 [이슈 366527](https://gitlab.com/gitlab-org/gitlab/-/issues/366527)을 참조하세요.
## 목차
목차는 문서의 하위 제목에 연결되는 순서 없는 목록입니다.
이슈, 머지 리퀘스트, 에픽에 목차를 추가할 수 있지만, 추가할 수 없습니다
노트나 댓글에 추가합니다.
지원되는 콘텐츠 유형 중 하나의 **설명** 필드에서 다음 태그 중 하나를 단독으로 한 줄에 추가합니다:
.
-->
[[TOC]] or [TOC]
- Markdown 파일.
- Wiki 페이지.
- 이슈.
- 머지 리퀘스트.
- 에픽.
TOC 코드를 단일 대괄호로 사용하면 독립 줄 여부에 관계없이 목차가 렌더링됩니다. 이 동작은 의도치 않은 것입니다.
자세한 내용은 [이슈 359077](https://gitlab.com/gitlab-org/gitlab/-/issues/359077)을 참조하세요.
This is an intro sentence to my wiki page.
[[TOC]]
My first heading#
First section content.
My second heading#
Second section content.
[
](/19.2/user/img/markdown_toc_preview_v12_9.png)
## 알림(Alerts)
History
- GitLab 17.10에서 [도입됨](https://gitlab.com/gitlab-org/gitlab/-/issues/24482).
알림(Alerts)은 특정 내용을 강조하거나 주의를 끌기 위해 사용할 수 있습니다. 알림 문법은
Markdown 인용구 문법 다음에 알림 유형을 지정하는 방식으로 사용됩니다.
Markdown을 지원하는 모든 텍스트 상자에서 알림을 사용할 수 있습니다.
다음 유형의 알림을 사용할 수 있습니다:
-
Note: 빠르게 훑어볼 때도 사용자가 고려해야 할 정보:
The following information is useful.
Tip: 사용자가 더 성공적으로 작업할 수 있도록 돕는 선택적 정보:
<div class="admonition tip"><div class="admonition-title">Tip</div>
Tip of the day.
</div>```
-
Important: 사용자가 성공하기 위해 필요한 중요 정보:
This is something important you should know.
Caution: 작업의 부정적인 잠재적 결과:
<div class="admonition warning"><div class="admonition-title">Warning</div>
You need to be very careful about the following.
</div>```
-
Warning: 심각한 잠재적 위험:
The following would be dangerous.
알림에 표시되는 제목 텍스트는 기본적으로 알림의 이름으로 설정됩니다. 예를 들어,
> [!warning] 알림의 제목은 Warning입니다.
알림 블록의 제목을 변경하려면 같은 줄에 원하는 텍스트를 입력합니다.
예를 들어, warning 색상을 사용하면서 제목을 Data deletion으로 지정하려면:
> [!warning] Data deletion
> The following instructions will make your data unrecoverable.
여러 줄 블록 인용도 알림 구문을 지원합니다. 이를 통해 크고 복잡한 텍스트를 알림으로 감쌀 수 있습니다.
>>> [!note] Things to consider
You should consider the following ramifications:
1. consideration 1
1. consideration 2
>>>
알림은 다음과 같이 렌더링됩니다:
[
](/19.2/user/img/markdown_alerts_v18_3.png)
색상#
Markdown은 텍스트 색상 변경을 지원하지 않습니다.
색상 코드는 HEX, RGB, HSL 형식으로 작성할 수 있습니다.
-
HEX:#RGB[A]또는#RRGGBB[AA] -
RGB:RGB[A](R, G, B[, A]) -
HSL:HSL[A](H, S, L[, A])
명명된 색상은 지원되지 않습니다.
GitLab 애플리케이션(단, GitLab 문서 제외)에서 백틱으로 감싼 색상 코드 옆에 색상 칩이 표시됩니다. 예를 들어:
- `#F00`
- `#F00A`
- `#FF0000`
- `#FF0000AA`
- `RGB(0,255,0)`
- `RGB(0%,100%,0%)`
- `RGBA(0,255,0,0.3)`
- `HSL(540,70%,50%)`
- `HSLA(540,70%,50%,0.3)`
이 예시는 GitLab에서 렌더링될 때만 동작합니다:
-
#F00 -
#F00A -
#FF0000 -
#FF0000AA -
RGB(0,255,0) -
RGB(0%,100%,0%) -
RGBA(0,255,0,0.3) -
HSL(540,70%,50%) -
HSLA(540,70%,50%,0.3)
색상 코드 이스케이프 처리#
History
- GitLab 18.3에서 도입됨.
색상 칩을 생성하지 않고 색상 코드를 인라인 코드로 표시하려면 백슬래시(\)를 앞에 붙이세요.
예를 들어:
-
\#FF0000 -
\RGB(255,0,0) -
\HSL(0,100%,50%)
모든 경우에서 백슬래시는 제거되며, 출력에 색상 칩이 렌더링되지 않습니다.
이슈 번호처럼 색상 칩이 의도치 않게 트리거될 수 있는 값을 인라인 코드에 포함하고 싶을 때 사용하세요.
이모지#
GitLab Flavored Markdown이 지원되는 곳이라면 어디서든 이모지를 사용할 수 있습니다. 예를 들어:
Sometimes you want to :monkey: around a bit and add some :star2: to your
:speech_balloon:. Well we have a gift for you: emoji!
You can use it to point out a :bug: or warn about :speak_no_evil: patches.
And if someone improves your really :snail: code, send them some :birthday:.
People :heart: you for that.
If you're new to this, don't be :fearful:. You can join the emoji :family:.
Just look up one of the supported codes.
렌더링되면, 이 예시는 다음과 비슷하게 표시됩니다:
Sometimes you want to around a bit and add some to your . Well we have a gift for you: emoji!
You can use it to point out a or warn about patches. If someone improves your really
code, send them some . People you for that.
If you’re new to this, don’t be . You can join the emoji . Just look up one of the supported codes.
자세한 내용은 지원되는 모든 이모지 코드 목록을 위해 emoji cheat sheet를 참고하세요.
이모지와 운영 체제#
이전 이모지 예시는 하드코딩된 이미지를 사용합니다. GitLab에서 렌더링된 이모지는 사용 중인 OS 및 브라우저에 따라 다르게 보일 수 있습니다.
대부분의 이모지는 macOS, Windows, iOS, Android에서 기본적으로 지원되며, 지원되지 않는 경우 이미지 기반 이모지로 대체됩니다.
Linux에서는 Noto Color Emoji를 다운로드하여 전체 기본 이모지 지원을 받을 수 있습니다. Ubuntu 22.04(많은 최신 Linux 배포판과 마찬가지로)에는 이 폰트가 기본으로 설치되어 있습니다.
커스텀 이모지 추가에 대한 자세한 내용은 커스텀 이모지를 참고하세요.
Front matter#
Front matter는 Markdown 문서의 시작 부분, 콘텐츠 앞에 포함되는 메타데이터입니다. 이 데이터는 Jekyll, Hugo 등 다양한 정적 사이트 생성기에서 활용할 수 있습니다.
GitLab에서 렌더링된 Markdown 파일을 볼 때, front matter는 문서 상단의 박스 안에 그대로 표시됩니다. HTML 콘텐츠는 front matter 이후에 표시됩니다. 예시를 보려면 GitLab 문서 파일의 소스 버전과 렌더링된 버전을 전환해 보세요.
GitLab에서 front matter는 Markdown 파일과 위키 페이지에서만 사용되며, Markdown 서식이 지원되는 다른 곳에서는 사용되지 않습니다. front matter는 문서의 맨 위에 위치해야 하며, 구분자 사이에 있어야 합니다.
지원되는 구분자는 다음과 같습니다:
YAML (---):
---
title: About Front Matter
example:
language: yaml
---
TOML (+++):
+++
title = "About Front Matter"
[example]
language = "toml"
+++
JSON (;;;):
;;;
{
"title": "About Front Matter",
"example": {
"language": "json"
}
}
;;;
기존 구분자에 지정자를 추가하여 다른 언어도 지원할 수 있습니다. 예를 들면:
---php
$title = "About Front Matter";
$example = array(
'language' => "php",
);
---
Includes#
History
- Introduced in GitLab 17.7.
includes 또는 include 지시문을 사용하면 한 문서의 콘텐츠를 다른 문서 안에 추가할 수 있습니다.
예를 들어, 책을 여러 챕터로 나누고 각 챕터를 메인 책 문서에 포함할 수 있습니다:
::include{file=chapter1.md}
::include{file=chapter2.md}
GitLab에서 include 지시문은 Markdown 파일과 위키 페이지에서만 사용되며, Markdown 서식이 지원되는 다른 곳에서는 사용되지 않습니다.
Markdown 파일에서 include 지시문을 사용하는 방법:
::include{file=example_file.md}
위키 페이지에서 include 지시어를 사용하세요:
::include{file=example_page.md}
각 ::include는 줄의 시작 부분에서 시작해야 하며, file=에 파일 또는 URL을 지정합니다.
지정된 파일(또는 URL)의 콘텐츠는 ::include 위치에 삽입되어
나머지 Markdown과 함께 처리됩니다.
포함된 파일 내부의 include 지시어는 무시됩니다.
예를 들어, file1이 file2를 포함하고, file2가 file3을 포함하는 경우, file1이 처리될 때
file3의 콘텐츠는 포함되지 않습니다.
Include 한도#
시스템 성능을 보장하고 악의적인 문서로 인한 문제를 방지하기 위해, GitLab은 문서에서 처리되는 include 지시어 수에 최대 한도를 적용합니다. 기본적으로 문서에는 최대 32개의 include 지시어를 사용할 수 있습니다.
처리되는 include 지시어 수를 맞춤 설정하려면, 관리자는
애플리케이션 설정 API를 통해
asciidoc_max_includes 애플리케이션 설정을 변경할 수 있습니다.
외부 URL에서 include 사용#
별도의 위키 페이지 또는 외부 URL에서 include를 사용하려면, 관리자가
wiki_asciidoc_allow_uri_includes
애플리케이션 설정을 활성화해야 합니다.
<!-- define application setting wiki_asciidoc_allow_uri_includes to true to allow content to be read from URI -->
::include{file=https://example.org/installation.md}
코드 블록에서 include 사용#
코드 블록 내에서 ::include 지시어를 사용하여 리포지터리의 파일에서 콘텐츠를 추가할 수 있습니다.
예를 들어, 리포지터리에 javascript_code.js 파일이 있는 경우:
const s = "JavaScript syntax highlighting";
alert(s);
Markdown 파일에 이 파일을 포함할 수 있습니다:
Our script contains:
```javascript
::include{file=javascript_code.js}
렌더링하면 예시는 다음과 유사하게 표시됩니다:
Our script contains:
const s = "JavaScript syntax highlighting"; alert(s);
## 플레이스홀더
History
- [GitLab 18.2에서 도입됨](https://gitlab.com/gitlab-org/gitlab/-/issues/14389) ([플래그 사용](/19.2/administration/feature_flags/), 이름: `markdown_placeholders`). 기본적으로 비활성화됨.
이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다.
자세한 내용은 히스토리를 참조하세요.
이 기능은 테스트용으로 사용 가능하지만, 프로덕션 용도로는 준비되지 않았습니다.
플레이스홀더는 프로젝트 제목이나 최신 태그와 같이 변경 가능한 특정 유형의 데이터를 표시하는 데 사용할 수 있습니다. 플레이스홀더는 Markdown이 렌더링될 때마다 채워집니다.
구문은 `%{PLACEHOLDER}`입니다.
| 플레이스홀더 | 예시 값 | 설명 |
| --- | --- | --- |
| %{gitlab_server} | gitlab.com | 프로젝트의 서버 |
| %{gitlab_pages_domain} | pages.gitlab.com | GitLab Pages를 호스팅하는 도메인 |
| %{project_path} | gitlab-org/gitlab | 상위 그룹을 포함한 프로젝트 경로 |
| %{project_name} | gitlab | 프로젝트 이름 |
| %{project_id} | 278964 | 프로젝트와 연결된 데이터베이스(DB) ID |
| %{project_namespace} | gitlab-org | 프로젝트의 네임스페이스 |
| %{project_title} | GitLab | 프로젝트 제목 |
| %{group_name} | gitlab-org | 프로젝트의 그룹 |
| %{default_branch} | main | 프로젝트 리포지터리에 구성된 기본 브랜치 이름 |
| %{current_ref} | feature-branch | 현재 조회 중인 ref(브랜치, 태그, 또는 커밋 SHA) |
| %{commit_sha} | ad10e011ce65492322037633ebc054efde37b143 | 프로젝트 리포지터리의 기본 브랜치에 대한 가장 최근 커밋의 ID |
| %{latest_tag} | v17.10.7-ee | 프로젝트 리포지터리에 추가된 최신 태그 |
## 이스케이프 문자
Markdown은 페이지 서식을 지정하기 위해 다음 ASCII 문자를 예약합니다:
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
텍스트에서 이러한 예약 문자 중 하나를 사용하려면, 예약 문자 바로 앞에 백슬래시 문자(`\`)를 추가하세요. 예약 문자 앞에 백슬래시를 놓으면, Markdown 파서는
백슬래시를 생략하고 예약 문자를 일반 텍스트로 처리합니다.
예시:
# Not a heading
| Food | Do you like this food? (circle) |
|---|---|
| Pizza | Yes | No |
*Not bold, just italic text placed between some asterisks*
렌더링하면 예시는 다음과 비슷하게 표시됩니다:
# Not a heading
| Food | Do you like this food? (circle) |
| --- | --- |
| Pizza | Yes | No |
**굵게 표시되지 않고, 일부 별표 사이에 놓인 이탤릭 텍스트입니다**
백슬래시는 항상 뒤에 오는 문자를 이스케이프하는 것은 아닙니다. 다음과 같은 경우에는 백슬래시가 일반 텍스트로 표시됩니다:
- 백슬래시가 `A`, `3` 또는 공백과 같이 예약되지 않은 문자 앞에 올 때.
- 백슬래시가 다음 Markdown 요소 내부에 올 때:
자동 링크
- `<kbd>`와 같은 인라인 HTML
- 코드 블록
- 코드 스팬
이러한 경우에는 `]`에 대한 `]`과 같이 동등한 HTML 엔티티를 사용해야 할 수도 있습니다.
### 추가 백틱 사용
이전 조언은 코드 블록이나 코드 스팬에는 적용되지 않으며, 여기서는 항상 리터럴 콘텐츠가 표시됩니다.
대신, 코드를 중첩하려면 추가 백틱을 사용하세요.
코드 블록에 백틱 세 개를 포함해야 하는 경우, 더 많은 수의 백틱을 사용하여
코드 블록을 만드세요:
To create a code block in Markdown, use three or more matching backticks:
```
code
```
렌더링하면 예시는 다음과 비슷하게 표시됩니다:
To create a code block in Markdown, use three or more matching backticks:
code
코드 스팬에 하나 이상의 백틱을 포함하려면, 더 많은 수의 일치하는 백틱을 사용하여
코드 스팬을 만드세요. 콘텐츠가 공백으로 시작하거나 끝나는 경우, 해당 공백도
제거됩니다:
To create a code span in Markdown, use matching backticks: `hello, world`
렌더링하면 예시는 다음과 비슷하게 표시됩니다:
To create a code span in Markdown, use matching backticks: ``hello, world``
### 백틱과 함께 백슬래시 사용
백슬래시(`\`) 문자가 인라인 코드 샘플의 끝에 있을 경우, 백슬래시가
마지막 백틱을 이스케이프할 수 있습니다. 이 경우, 다음 예시처럼 인라인 코드 주변에
추가 공백을 넣으세요:
Use the backslash \ character to escape inline code that ends in a backslash\.
렌더링하면 예시는 다음과 비슷하게 표시됩니다:
Use the backslash `\` character to escape inline code that ends in a `backslash\`.
## 각주
각주는 Markdown 파일 끝에 렌더링되는 노트에 대한 링크를 추가합니다.
각주를 만들려면 참조 태그와 노트 콘텐츠를 포함하는 별도의 행(파일 어디에나 위치 가능)이
모두 필요합니다.
태그 이름에 관계없이, 참조 태그의 상대적 순서가 렌더링된 번호를 결정합니다.
노트를 어디에 배치하든, 항상 렌더링된 파일의 하단에 표시됩니다.
서식 있는 텍스트 편집기는 새 각주 삽입을 지원하지 않습니다. 새 각주를 삽입하려면
일반 텍스트 편집기를 사용하세요. 자세한 내용은 [이슈 365265](https://gitlab.com/gitlab-org/gitlab/-/issues/365265)를 참조하세요.
예시:
-
각주 참조:
A footnote reference tag looks like this:1
This reference tag is a mix of letters and numbers. 2
-
파일의 다른 부분에서 각주 정의:
렌더링하면 각주는 다음과 유사하게 표시됩니다:
A footnote reference tag looks like this:[1](#fn:1)
This reference tag is a mix of letters and numbers.[2](#fn:2)
## 인라인 HTML
Markdown에서 원시 HTML을 사용할 수도 있으며, 대부분의 경우 정상적으로 작동합니다.
허용되는 HTML 태그 및 속성 목록은 `HTML::Pipeline`’s [SanitizationFilter](https://github.com/gjtorikian/html-pipeline/blob/v2.12.3/lib/html/pipeline/sanitization_filter.rb#L42)
클래스 문서를 참조하세요. 기본 `SanitizationFilter` 허용 목록 외에도 GitLab은 `span`, `abbr`, `details`, `summary` 요소를 허용합니다.
라이선스 속성 및 [Rel-License 마이크로포맷](https://microformats.org/wiki/rel-license) 지원을 위해 링크에서 `rel="license"`가 허용됩니다.
- Definition list
- Is something people use sometimes.
- Markdown in HTML
- Does *not* work **very** well. HTML tags do work, in most cases.
렌더링하면 예시는 다음과 유사하게 표시됩니다:
Definition list Is something people use sometimes. Markdown in HTML Does not work very well. HTML tags do work, in most cases. HTML 태그 내에서 Markdown을 사용하는 것은 여전히 가능하지만, Markdown이 포함된 줄이 별도의 줄로 분리되어 있어야 합니다:
<dl>
<dt>Markdown in HTML</dt>
<dd>
Does *not* work **very** well. HTML tags work, in most cases.
</dd>
</dl>
렌더링하면 예시는 다음과 유사하게 표시됩니다:
Markdown in HTML Does not work very well. HTML tags work, in most cases.
접을 수 있는 섹션#
HTML의 <details>와
<summary>
태그를 사용하여 콘텐츠를 접을 수 있습니다. 예를 들어, 긴 로그 파일을 접어서 화면 공간을 절약할 수 있습니다.
<details>
<summary>Click to expand</summary>
These details <em>remain</em> <strong>hidden</strong> until expanded.
<pre><code>PASTE LOGS HERE</code></pre>
</details>
렌더링하면 예시는 다음과 유사하게 표시됩니다:
Click to expand These details remain hidden until expanded.
PASTE LOGS HERE
이 태그 내부에서도 Markdown이 지원됩니다.
예시에 표시된 것처럼 Markdown 섹션 앞뒤에 빈 줄을 두는 것을 기억하세요:
<details>
<summary>
Click to _expand._
</summary>
These details _remain_ **hidden** until expanded.
PASTE LOGS HERE
</details>
렌더링하면 예시는 다음과 유사하게 표시됩니다:
Click to expand. These details remain hidden until expanded.
PASTE LOGS HERE
키보드 HTML 태그#
<kbd> 요소는 사용자 키보드 입력을 나타내는 텍스트를 식별하는 데 사용됩니다. <kbd> 태그로 둘러싸인 텍스트는 일반적으로 브라우저의 기본 고정폭 글꼴로 표시됩니다.
Press <kbd>Enter</kbd> to go to the next page.
렌더링하면 예시가 다음과 유사하게 표시됩니다:
Press Enter to go to the next page.
위 첨자와 아래 첨자#
GitLab Flavored Markdown은 Redcarpet 위 첨자 구문(x^2)을 지원하지 않습니다.
위 첨자와 아래 첨자에는 표준 HTML 구문을 사용하세요:
The formula for water is H<sub>2</sub>O
while the equation for the theory of relativity is E = mc<sup>2</sup>.
렌더링하면 예시가 다음과 유사하게 표시됩니다:
The formula for water is H2O while the equation for the theory of relativity is E = mc2.
GitLab Flavored Markdown은 Redcarpet 위 첨자 구문(x^2)을 지원하지 않습니다.
HTML 주석#
GitLab Flavored Markdown에서 HTML 주석을 사용하면 렌더링된 출력에는 표시되지 않는 메모나 설명을 추가할 수 있습니다.
HTML 주석은 다음 용도로 사용할 수 있습니다:
-
다른 기여자를 위한 메모 추가.
-
콘텐츠를 삭제하지 않고 일시적으로 숨기기.
-
최종 문서에 표시되지 않아야 하는 맥락이나 설명 제공.
-
메타데이터 또는 처리 지침 추가.
HTML 주석을 사용할 때는 다음 사항을 지켜야 합니다:
-
소스가 복잡해지지 않도록 꼭 필요한 경우에만 사용합니다.
-
간결하고 관련성 있게 작성합니다.
-
영구적인 문서화보다는 임시 메모로 활용합니다.
-
민감하거나 기밀인 정보는 포함하지 않습니다. HTML 주석은 Markdown 소스를 볼 수 있는 누구에게나 노출됩니다.
HTML 주석은 표준 HTML 구문인 <!-- comment text -->를 사용하며, 단일 줄 또는 여러
줄에 걸쳐 작성할 수 있습니다:
<!-- This is a single-line comment -->
<!--
This is a multi-line comment
that spans several lines
and won't be visible in the rendered output
-->
This text is visible.
<!-- This comment between paragraphs is hidden -->
This text is also visible.
렌더링하면 보이는 텍스트만 표시됩니다:
This text is visible.
This text is also visible.
코드 블록 내 주석#
코드 블록 안의 HTML 주석은 일반 텍스트로 처리되어 그대로 표시됩니다:
```html
<!-- This comment will be visible in the code block -->
<div>Content</div>
```
이 텍스트는 각주 안에 있습니다. ↩︎
이 텍스트는 또 다른 각주입니다. ↩︎