본 문서는 위키 문서 작성에 사용되는 문법을 상세히 설명합니다. 기본적으로 Markdown 문법 사용을 권장하며, DokuWiki 문법은 필요시 선택적으로 사용할 수 있습니다.
마크다운 문법을 사용하려면 문서 상단에 다음 선언을 추가해야 합니다:
<!DOCTYPE markdown>
이 선언이 없으면 문서는 DokuWiki 문법으로 처리됩니다.
<note tip>편집 팁: 편집 탭 오른쪽에서 3번째 버튼을 누르면 <!DOCTYPE markdown> 선언을 손쉽게 추가할 수 있습니다.</note>
편집 화면 오른쪽 도구모음에서 다음 버튼들을 활용할 수 있습니다:
| 위치 | 기능 |
|---|---|
| 오른쪽 1번째 | Indexmenu 탭 |
| 오른쪽 2번째 | Markdown 서식 (밑줄, 이탈릭, 코드, 취소선) |
| 오른쪽 3번째 | <!DOCTYPE markdown> 선언 추가 |
| 오른쪽 4번째 | Wrap 플러그인 |
| 오른쪽 5번째 | Note 플러그인 |
| 오른쪽 6번째 | 페이지 삽입/인용 |
<!DOCTYPE markdown> 선언 후 사용 가능한 CommonMark 0.30 기반 문법입니다.
제목은 # 기호를 사용하여 표현합니다. 1단계부터 3단계까지 사용 가능합니다.
문법:
<!DOCTYPE markdown> # 1단계 제목 (가장 큼) ## 2단계 제목 ### 3단계 제목
렌더링 결과:
# → 큰 제목 (h1에 해당)## → 중간 제목 (h2에 해당)### → 작은 제목 (h3에 해당)<note tip>편집 팁: 오른쪽에서 2번째 버튼을 누르면 Markdown 문법의 밑줄, 이탈릭, 코드, 취소선 형식을 쉽게 적용할 수 있습니다.</note>
문법:
<!DOCTYPE markdown> *이탤릭 텍스트* 또는 _이탤릭 텍스트_ **굵은 텍스트** 또는 __굵은 텍스트__ ***굵은 이탤릭*** 또는 ___굵은 이탤릭___
설명:
문법:
<!DOCTYPE markdown> ~~취소할 텍스트~~
설명: 물결표(~) 2개로 감싸면 텍스트에 취소선이 적용됩니다.
문법:
<!DOCTYPE markdown> `코드 또는 명령어`
설명: 역따옴표(backtick)로 감싸면 인라인 코드 형식이 적용됩니다. 변수명, 함수명, 파일명 등을 강조할 때 유용합니다.
문법:
<!DOCTYPE markdown> 첫 번째 단락입니다. 두 번째 단락입니다. 빈 줄이 단락을 구분합니다.
설명: 빈 줄 하나로 단락을 구분합니다.
문법:
<!DOCTYPE markdown> 첫 번째 줄 두 번째 줄 (줄 끝에 공백 2개)
설명: 줄 끝에 공백을 2개 이상 넣으면 같은 단락 내에서 줄바꿈이 됩니다.
문법:
<!DOCTYPE markdown> - 첫 번째 항목 - 두 번째 항목 - 중첩 항목 (공백 2개로 들여쓰기) - 또 다른 중첩 항목 - 세 번째 항목 또는 * 첫 번째 항목 * 두 번째 항목 + 첫 번째 항목 (플러스 기호도 가능)
설명: 하이픈(-), 별표(*), 플러스(+) 중 하나를 사용합니다. 들여쓰기로 중첩 목록을 만듭니다.
문법:
<!DOCTYPE markdown> 1. 첫 번째 항목 2. 두 번째 항목 3. 세 번째 항목 1. 중첩된 순서 항목 2. 또 다른 중첩 항목
설명: 숫자와 마침표로 시작합니다. 실제 숫자 값은 중요하지 않으며, 렌더링 시 자동으로 번호가 매겨집니다.
문법:
<!DOCTYPE markdown> [링크 텍스트](https://example.com) [제목 있는 링크](https://example.com "마우스 올리면 표시될 제목")
설명: 대괄호 안에 텍스트, 소괄호 안에 URL을 넣습니다.
문법:
<!DOCTYPE markdown> <https://example.com> <user@example.com>
설명: 꺾쇠괄호로 감싸면 URL이나 이메일이 자동으로 링크됩니다.
문법:
<!DOCTYPE markdown> [링크 텍스트][참조id] [참조id]: https://example.com "선택적 제목"
설명: 긴 URL을 문서 하단에 모아두고 참조 ID로 연결할 때 유용합니다.
문법:
<!DOCTYPE markdown>  
설명: 링크 문법 앞에 느낌표(!)를 추가합니다. 대체 텍스트는 이미지가 표시되지 않을 때 나타납니다.
문법:
<!DOCTYPE markdown> > 이것은 인용문입니다. > 여러 줄에 걸쳐 작성할 수 있습니다. > 중첩 인용도 가능합니다. >> 이중 인용 >>> 삼중 인용
설명: 줄 시작에 > 기호를 넣습니다. 중첩하려면 >를 여러 개 사용합니다.
인용문 내 다른 요소:
<!DOCTYPE markdown> > ## 인용문 안의 제목 > > - 인용문 안의 목록 > - 두 번째 항목 > > **굵은 텍스트**도 사용 가능
문법:
<!DOCTYPE markdown>
```
일반 코드 블록
여러 줄 작성 가능
```
```python
# 언어 지정 시 구문 강조 적용
def hello():
print("Hello, World!")
```
```javascript
// JavaScript 예시
function greet(name) {
return `Hello, ${name}!`;
}
```
설명: 역따옴표 3개로 감싸고, 시작 부분에 언어명을 지정하면 구문 강조가 적용됩니다.
문법:
<!DOCTYPE markdown>
일반 텍스트
4칸 들여쓰기된 텍스트는
코드 블록으로 처리됩니다
설명: 4칸 공백으로 들여쓰기하면 코드 블록이 됩니다.
문법:
<!DOCTYPE markdown> | 헤더 1 | 헤더 2 | 헤더 3 | |--------|:------:|-------:| | 기본 정렬 | 가운데 정렬 | 오른쪽 정렬 | | 내용 | 내용 | 내용 | | 셀 1 | 셀 2 | 셀 3 |
정렬 옵션:
|——–| → 기본 (왼쪽) 정렬|:——:| → 가운데 정렬 (양쪽 콜론)|——-:| → 오른쪽 정렬 (오른쪽 콜론)|:——-| → 왼쪽 정렬 (왼쪽 콜론)문법:
<!DOCTYPE markdown> --- *** ___
설명: 하이픈, 별표, 밑줄을 3개 이상 연속으로 입력합니다.
마크다운 특수 문자를 그대로 표시하려면 백슬래시(\)를 앞에 붙입니다.
문법:
<!DOCTYPE markdown> \*별표를 그대로 표시\* \# 샵 기호를 그대로 표시 \[대괄호 그대로\]
이스케이프 가능한 문자:
\ ` * _ { } [ ] ( ) # + - . !
문법:
<!DOCTYPE markdown> 여기에 각주가 있습니다[^1]. 또 다른 각주[^note]도 있습니다. [^1]: 첫 번째 각주 내용입니다. [^note]: 이름이 붙은 각주 내용입니다.
설명: [^식별자]로 각주를 표시하고, 문서 어디서든 [^식별자]:로 내용을 정의합니다.
마크다운 선언(<!DOCTYPE markdown>)을 사용하지 않으면 DokuWiki 문법이 적용됩니다. DokuWiki 문법은 마크다운 문법과 함께 사용할 수 없으며, 둘 중 하나를 선택해야 합니다.
**굵은 텍스트** //기울임 텍스트// __밑줄 텍스트__ ''고정폭 텍스트'' <del>취소선</del> <sub>아래첨자</sub> <sup>위첨자</sup>
DokuWiki에서는 등호(=)의 개수로 제목 수준을 나타냅니다:
====== 1단계 제목 ====== ===== 2단계 제목 ===== ==== 3단계 제목 ==== === 4단계 제목 === == 5단계 제목 ==
[[페이지이름]] [[페이지이름|표시할 텍스트]] [[네임스페이스:페이지]] [[https://example.com|외부 링크]] [[페이지이름#섹션이름|섹션으로 링크]]
* 순서 없는 목록 (공백 2칸 + 별표)
* 중첩 항목 (공백 4칸)
- 순서 있는 목록 (공백 2칸 + 하이픈)
- 중첩 항목
^ 헤더 1 ^ 헤더 2 ^ 헤더 3 ^ | 내용 1 | 내용 2 | 내용 3 | | 내용 4 | 내용 5 | 내용 6 |
다른 사람의 글을 인용하는 방법에는 직접인용과 간접인용 두 가지가 있습니다. 인용된 글은 백링크로 추적이 가능하며, 많이 인용된 글은 검색이나 목록에서 상단에 노출됩니다.
다른 페이지의 내용을 현재 페이지에 직접 삽입합니다.
<note tip>편집 팁: 인용하려는 문서의 각 섹션 제목(Heading) 옆에 있는 링크 버튼을 오른쪽 마우스로 클릭하여 주소를 복사한 뒤, 오른쪽에서 6번째 버튼을 누른 후, 나타난 팝업 창에 붙여넣기하면 직접인용할 수 있습니다.</note>
문법:
{{page>페이지ID}}
{{section>페이지ID#섹션이름}}
{{namespace>네임스페이스}}
옵션:
{{page>페이지ID&noheader}} noheader: 제목 숨기기
{{page>페이지ID&nofooter}} nofooter: 푸터 숨기기
{{page>페이지ID&firstseconly}} firstseconly: 첫 섹션만 표시
{{page>페이지ID&inline}} inline: 인라인으로 삽입
{{page>페이지ID&link}} link: 제목을 링크로 표시
사용 예시:
{{section>:syntax#직접인용_(Include_플러그인)&nofooter}}
{{section>:syntax#간접인용_(내부_링크)}}
이와 같이, 여러 섹션을 동시에 인용하고 싶은 경우에는 마지막을 제외하고 nofooter 옵션을 추가하여 보기 좋게 만들 수 있습니다.
다른 페이지로 연결되는 링크를 생성합니다.
<note tip>편집 팁: 각 섹션 제목 옆의 링크 버튼을 오른쪽 마우스로 눌러 섹션 주소를 복사하면 정확한 섹션으로 링크를 만들 수 있습니다.</note>
문법:
[[페이지ID]] [[페이지ID#섹션이름]] [[페이지ID#섹션이름|표시할 텍스트]]
사용 예시:
자세한 내용은 [[참고자료:마크다운가이드#기본문법|마크다운 기본 문법]]을 참조하세요.
위키의 네임스페이스와 페이지 구조를 트리 형태로 표시합니다.
<note tip>편집 팁: 오른쪽에서 1번째 버튼을 누르면 Indexmenu 탭을 이용할 수 있습니다.</note>
{{indexmenu>네임스페이스}}
{{indexmenu>네임스페이스#레벨}}
{{indexmenu>네임스페이스|옵션}}
| 표기 | 설명 |
{{indexmenu>.}} | 현재 네임스페이스 |
{{indexmenu>:}} | 루트 네임스페이스 |
{{indexmenu>:wiki}} | 특정 네임스페이스 (wiki) |
{{indexmenu>..}} | 상위 네임스페이스 |
{{indexmenu>.#1}} 현재 레벨만 표시
{{indexmenu>.#2}} 2레벨까지 표시
{{indexmenu>.#3}} 3레벨까지 표시
| 옵션 | 설명 |
js | JavaScript 트리 메뉴 사용 |
js#테마명 | 특정 테마 적용 (예: js#thread) |
navbar | 현재 페이지 위치 자동 열기 |
nocookie | 트리 상태 저장 안 함 |
nons | 네임스페이스 제외 (페이지만 표시) |
nopg | 페이지 제외 (네임스페이스만 표시) |
tsort | 제목순 정렬 |
dsort | 날짜순 정렬 |
nsort | 네임스페이스도 정렬에 포함 |
rsort | 역순 정렬 |
notoc | 목차 미리보기 비활성화 |
nomenu | 컨텍스트 메뉴 비활성화 |
max#숫자 | AJAX로 하위 레벨 로드 |
기본 사이드바용 메뉴:
{{indexmenu>.#1|js navbar nocookie}}
제목순 정렬된 전체 트리:
{{indexmenu>:|js tsort navbar}}
특정 네임스페이스의 페이지만:
{{indexmenu>:프로젝트#2|nons}}
테마와 AJAX 적용:
{{indexmenu>:#1|js#thread navbar max#3}}
특정 페이지의 정렬 순서를 지정하려면 해당 페이지에 다음 태그를 삽입합니다:
{{indexmenu_n>숫자}}
그리고 indexmenu에서 msort 옵션을 사용합니다:
{{indexmenu>:#1|js msort navbar}}
클릭하면 펼쳐지는 접힌 콘텐츠를 만듭니다.
문장 내에서 일부 텍스트를 숨기고 클릭하면 펼쳐지게 합니다.
문법:
++제목|숨겨진 내용++
사용 예시:
이것은 예시 텍스트입니다. ++더 보기|숨겨진 추가 정보가 여기에 표시됩니다.++ 그리고 계속됩니다.
출력:
이것은 예시 텍스트입니다. 더 보기 그리고 계속됩니다.
단락, 테이블, 목록 등 큰 영역을 접습니다.
문법:
++++제목| 숨겨진 내용입니다. 여러 줄이 될 수 있습니다. 테이블이나 목록도 포함 가능합니다. ++++
사용 예시:
++++상세 설명 보기| 다음은 추가 설명입니다: * 첫 번째 항목 * 두 번째 항목 * 세 번째 항목 | 헤더1 | 헤더2 | | 내용1 | 내용2 | ++++
출력:
| 구분 | 인라인 (++) | 블록 (++++) |
|---|---|---|
| HTML 태그 | <span> | <div> |
| 서식 포함 | 가능 | 가능 |
| 블록 요소 | 불가 | 가능 (테이블, 목록 등) |
| 사용 위치 | 문단, 테이블, 목록 내부 | 독립적인 블록으로 |
Wrap 플러그인과 함께 사용하면 중첩된 접힌 영역을 만들 수 있습니다:
++++외부 접기| 외부 내용입니다. <WRAP> ++++내부 접기| 내부 내용입니다. ++++ </WRAP> ++++
강조 메모나 경고 박스를 생성합니다.
<note tip>편집 팁: 오른쪽에서 5번째 버튼을 누르면 Note 플러그인 문법을 쉽게 삽입할 수 있습니다.</note>
<note>기본 메모입니다.</note> <note tip>팁이나 유용한 정보입니다.</note> <note important>중요한 정보입니다.</note> <note warning>경고 메시지입니다.</note>
| 유형 | 용도 | 색상 |
<note> | 일반 정보 | 파랑 |
<note tip> | 팁, 유용한 정보 | 노랑 |
<note important> | 중요한 내용 | 주황 |
<note warning> | 경고, 위험 | 빨강 |
<note> 이것은 일반적인 정보를 담은 노트입니다. 여러 줄로 작성할 수 있습니다. </note> <note tip> **팁:** 마크다운 선언을 잊지 마세요! 문서 상단에 ''<!DOCTYPE markdown>''을 추가하세요. </note> <note important> **중요:** 변경사항을 저장하기 전에 미리보기를 확인하세요. </note> <note warning> **주의:** 이 작업은 되돌릴 수 없습니다! </note>
컨테이너를 생성하여 콘텐츠를 정렬하고 스타일을 적용합니다.
<note tip>편집 팁: 오른쪽에서 4번째 버튼을 누르면 Wrap 플러그인 도구를 사용할 수 있습니다.</note>
블록 컨테이너 (div):
<WRAP 클래스 너비> 내용 </WRAP>
인라인 컨테이너 (span):
<wrap 클래스>내용</wrap>
| 클래스 | 설명 |
left | 왼쪽 정렬 (float) |
right | 오른쪽 정렬 (float) |
center | 가운데 정렬 |
leftalign | 텍스트 왼쪽 정렬 |
rightalign | 텍스트 오른쪽 정렬 |
centeralign | 텍스트 가운데 정렬 |
justify | 텍스트 양쪽 정렬 |
| 클래스 | 설명 |
box | 기본 박스 |
info | 정보 박스 (파랑) |
tip | 팁 박스 (노랑) |
important | 중요 박스 (주황) |
alert | 경고 박스 (빨강) |
help | 도움말 박스 (보라) |
todo | 할 일 박스 (청록) |
download | 다운로드 박스 (초록) |
round | 둥근 모서리 |
| 클래스 | 설명 |
column | 컬럼 레이아웃용 |
half | 50% 너비 |
third | 33% 너비 |
twothirds | 66% 너비 |
quarter | 25% 너비 |
col2 ~ col5 | 다중 컬럼 |
group | 컬럼 그룹 컨테이너 |
| 클래스 | 설명 |
clear | float 초기화 |
hide | 화면에서 숨김 |
noprint | 인쇄 시 숨김 |
onlyprint | 인쇄 시에만 표시 |
pagebreak | 인쇄 시 페이지 나눔 |
indent | 들여쓰기 |
outdent | 내어쓰기 |
hi | 하이라이트 |
lo | 덜 중요한 텍스트 |
em | 강조 |
spoiler | 스포일러 (호버 시 표시) |
button | 버튼 스타일 링크 |
정보 박스:
<WRAP info> 이것은 정보 박스입니다. </WRAP>
가운데 정렬된 60% 박스:
<WRAP center 60% box> 내용이 여기에 들어갑니다. </WRAP>
2단 레이아웃:
<WRAP group> <WRAP half column> 왼쪽 컬럼 내용 </WRAP> <WRAP half column> 오른쪽 컬럼 내용 </WRAP> </WRAP>
둥근 모서리 팁 박스:
<WRAP tip round> 유용한 팁 내용 </WRAP>
인라인 하이라이트:
이 문장에서 <wrap hi>이 부분</wrap>이 강조됩니다.
버튼 스타일 링크:
<wrap button>[[페이지명|버튼 텍스트]]</wrap>
<WRAP :en>English content here.</WRAP> <WRAP :ko>한국어 내용입니다.</WRAP> <WRAP :ar>محتوى عربي</WRAP>
DokuWiki 기본 각주보다 확장된 참조 및 인용 기능을 제공합니다.
텍스트[(참조 내용입니다.)]
렌더링: 텍스트 뒤에 숫자 링크가 표시되고, 페이지 하단에 참조 내용이 나타납니다.
번호로 참조:
첫 번째 언급[(참조 내용)]입니다. 두 번째 언급[(#1)]입니다.
이름으로 참조:
첫 번째 언급[(myref>참조 내용)]입니다. 두 번째 언급[(myref)]입니다.
다른 종류의 참조를 분리합니다:
본문[(cite:>출처 정보)]에서 인용합니다. 각주[(footnote:>일반 각주)]도 있습니다.
[(BookRef>> title : 책 제목 authors : 저자 이름 publisher: 출판사 published: 2024 pages : 100-150 )] 위에서 정의한 참조: [(BookRef)]
기본적으로 페이지 하단에 표시되지만 위치를 지정할 수 있습니다:
~~REFNOTES~~ 루트 네임스페이스 참조 표시 ~~REFNOTES cite~~ cite 네임스페이스 참조 표시 ~~REFNOTES cite 10~~ 10개만 표시
<refnotes> refnote-id : a reference-format: [] note-id-format : [] note-id-base : text </refnotes>
줄 시작에 참조를 두면 숨겨집니다 (본문에 표시 안 됨):
| 기능 A | 예[(a)] | | 기능 B | 아니오 | [(a>A 기능의 세부 조건)]
<!DOCTYPE markdown>
# 프로젝트 개요
## 소개
이 프로젝트는 **중요한 목표**를 달성하기 위해 시작되었습니다.
자세한 내용은 아래를 참조하세요.
## 주요 기능
1. 첫 번째 기능
- 세부 사항 A
- 세부 사항 B
2. 두 번째 기능
3. 세 번째 기능
## 코드 예시
```python
def hello():
print("Hello, World!")
```
## 참고 자료
| 자료 | 설명 |
|------|------|
| 문서 A | 기본 안내서 |
| 문서 B | 고급 가이드 |
> 인용문: 이 프로젝트는 지속적으로 개선됩니다.
---
*마지막 수정: 2024년*
<WRAP info round>
**안내:** 아래 섹션은 접혀 있습니다. 클릭하여 펼치세요.
</WRAP>
++++상세 정보|
<note tip>
이 내용은 Folded와 Note 플러그인을 함께 사용한 예시입니다.
</note>
{{page>참고자료:가이드#설치방법&noheader}}
++++
<WRAP group>
<WRAP half column>
=== 왼쪽 컬럼 ===
내용...
</WRAP>
<WRAP half column>
=== 오른쪽 컬럼 ===
내용...
</WRAP>
</WRAP>
| 요소 | 문법 |
|---|---|
| 제목 | # 제목 / ## 제목 / ### 제목 |
| 굵게 | 텍스트 |
| 기울임 | *텍스트* |
| 취소선 | ~~텍스트~~ |
| 인라인 코드 | `텍스트` |
| 링크 | [텍스트](URL) |
| 이미지 |  |
| 인용 | > 인용문 |
| 순서없는 목록 | - 항목 |
| 순서있는 목록 | 1. 항목 |
| 코드 블록 | ``` 코드 ``` |
| 테이블 | | 헤더 | 내용 | |
| 수평선 | — |
| 플러그인 | 문법 |
|---|---|
| Indexmenu | {{indexmenu>네임스페이스|옵션}} |
| Folded (인라인) | ++제목|내용++ |
| Folded (블록) | ++++제목|내용++++ |
| Note | <note 유형>내용</note> |
| Wrap (블록) | <WRAP 클래스>내용</WRAP> |
| Wrap (인라인) | <wrap 클래스>내용</wrap> |
| Include | {{page>페이지ID}} 또는 {{section>페이지ID#섹션_제목}} |
| RefNotes | [(참조 내용)] |
<!DOCTYPE markdown> 선언을 추가하세요