[목차]
== 개요 ==
* [[http://daringfireball.net/projects/markdown/|공식 사이트]]
'''마크다운 (Markdown)은''' [[마크업 언어]]의 일종으로, 존 그루버(John Gruber)[* 유명한 애플 관련 블로거 ~~아마 제일 유명한 애플빠~~로 [[http://daringfireball.net|Daring Fireball]]의 운영자다.]와 아론 스워츠(Aaron Swartz)[* [[레딧]]의 공동설립자이자 [[RSS]]를 고안하고 정보자유를 중점적으로 주장한 인터넷 활동가이자 프로그래머. [[https://archive.org/details/GuerillaOpenAccessManifesto|게릴라 오픈 액세스 매니페스토]] 선언에서 천명한 것처럼 재판기록 같은 각종 공공정보를 무료로 대중에게 공개해야한다는 신념으로 활동하던 중 유료 저널 검색엔진 및 저장소인 JSTOR의 논문들을 다운받아 공개하려한 건으로 FBI 수사로 기소되어 재판과정 중에 자살로 생을 마감했다.]가 만들었다. 온갖 태그로 범벅된 HTML 문서 등과 달리, 읽기도 쓰기도 쉬운 문서 양식을 지향한다. 그루버는 마크다운으로 작성한 문서를 [[HTML]]로 변환하는 [[Perl]] 스크립트도 만들었다.[* 다만 요즘에는 범용성이 높은 [[https://pandoc.org/|pandoc]]을 더 많이 쓰는 듯.] 흔히 볼 수 있는 문서(파일명)은 "README.md", 파일의 [[확장자]]는 .md 또는 .markdown을 쓴다.[* 대표 사례로 [[깃허브]]의 README.md가 있다. 확장자로서는 .md가 .markdown보다 압도적으로 많이 쓰인다.]
== 문법 ==
여기서 언급하는 '위키문법'은 [[나무위키:문법 도움말|나무마크]]가 기준입니다.
=== 문단 제목 ===
위키 문법의 {{{== 개요 ==}}}에 대응하는 문법이다. 6단계까지 할 수 있다.
{{{#!syntax markdown
# 1단계 제목
## 2단계 제목
}}}
또는 다음과 같이 쓸 수도 있다.
{{{#!syntax markdown
1단계 제목
=======
2단계 제목
------
}}}
=== 문단 ===
줄바꿈을 두 번 하면 된다.
{{{#!syntax markdown
첫째 문단입니다. 문장이 두개죠.
둘째 문단입니다. 저도
문장이 두 개입니다.
}}}
마크다운은 기본적으로 [[강제개행]]을 인식하지 않기 때문에, 두 번째 예시를 html 등으로 변환할 경우 줄바꿈이 없는 "둘째 문단입니다. 저도 문장이 두개입니다."로 변환된다. 강제개행을 인식하게 하려면 줄 끝에 공백을 두 칸 넣거나(가독성 문제로 권장되지 않음), 아니면 줄 끝에 역슬래시(\\)를 넣어도 된다.
=== 목록 ===
위키 문법과 같으나 첫번째 칸을 띄어쓰지 않아도 된다.
{{{#!syntax markdown
* 목록 하나
* 목록 두울
* 목록 세엣
- 이렇게 써도
- 된답니다.
}}}
순서가 있는 목록은 다음과 같이 쓴다. 숫자는 반드시 맞춰 쓸 필요는 없다. 어차피 마크다운 기본문법에서는 각 행이 HTML의 {{{
}}} 태그로 변환되는 것일 뿐이라 번호 정보가 사라지기 때문.
{{{#!syntax markdown
1. 첫째입니다.
2. 둘째입니다.
3. 셋째입니다.
5. 넷째입니다. 다섯째 아닙니다.
6. 이게 다섯째입니다.
4. 이건 여섯째.
}}}
=== 글자모양 ===
굵은 글자는 다음과 같이 쓴다. 위키 문법 {{{'''굵게'''}}}에 대응하는 문법이다.
{{{#!syntax markdown
**굵게** 쓰거나 __두껍게__ 쓰거나
}}}
결과: '''굵게''' 쓰거나 '''두껍게''' 쓰거나
기울임꼴 글자는 다음과 같이 쓴다. 위키 문법 {{{''기울게''}}}에 대응하는 문법이다.
{{{#!syntax markdown
*기울게* 쓰면서 _기울게_ 쓴다
}}}
결과: ''기울게'' 쓰면서 ''기울게'' 쓴다
=== 코드 ===
(특히 [[프로그래밍]] 관련 문서에서) 코드를 입력할 필요가 있을 땐 다음과 같이 쓴다. [[글꼴#s-2.1.2|고정폭 글꼴]]로 출력되며 위키 문법 {{{{{{ code }}}}}}에 대응하는 문법이다.
문장 중간에 표시할 땐 다음과 같이 쓴다.[* [[Python|파이썬]]의 [[이스터 에그]] 중 하나. [[웹 브라우저]]로 [[xkcd]]의 만화 [[http://xkcd.com/353/|PYTHON]]을 띄운다.]
{{{#!syntax markdown
예를들어`import antigravity`이렇게요.
}}}
여러 줄의 코드는 다음과 같이 줄 첫부분을 공백 4칸이상 띄어서 쓴다. [* 첫줄의 설명 "다음은 ... 코드다."는 물론 마크다운 문법상 필요하지 않다. 다만 위키 문법의 한계인지 첫줄 들여쓰기가 제대로 표시되지 않아, 들여쓰기 없는 한 줄이 부득이 예시에 추가되었다.]
{{{#!syntax markdown
다음은 Clojure의 예시 코드다.
clojure
#!/usr/bin/env clojure
(println "Hello, World!")
}}}
=== 인용문 ===
줄 첫번째마다 >를 쓰면 된다. 위키 문법에도 동일하게 쓴다.
{{{#!syntax markdown
>> 빛이 있으라.
> 하니 빛이 있었다.
}}}
결과:
>> 빛이 있으라.
> 하니 빛이 있었다.
=== 링크 ===
[[링크]]는 다음과 같이 쓴다. 위키 문법에 대응하는 문법이다.
{{{#!syntax markdown
[나무위키](https://namu.wiki/w/나무위키:대문)
}}}
또는 다음과 같이 써서 주석형태로 링크를 쓸 수 있다.
{{{#!syntax markdown
출처는 [위키백과][wiki]입니다.
[wiki]: http://en.wikipedia.org/wiki/Markdown#Syntax_examples "위키백과 Markdown 항목"
}}}
=== 그림 넣기 ===
그림을 넣을 땐 다음과 같이 쓴다.
{{{#!syntax markdown
![세피로트](https://cdn.namu.wiki/r/http%3A%2F%2Fi.imgur.com%2F2megHz2.png "툴팁 메시지. 이 부분은 생략해도 됩니다.")
}}}
또는 다음과 같이 써서 주석형태로 그림을 넣을 수 있다.
{{{#!syntax markdown
![세피로트][SD]
[SD]: https://cdn.namu.wiki/r/http%3A%2F%2Fi.imgur.com%2F2megHz2.png "툴팁 메시지. 이 부분은 생략해도 됩니다."
}}} "세피로트" 부분은 HTML img태그의 alt속성에, "툴팁 메시지" 부분은 title속성에 해당한다.
=== 가로줄 ===
가로줄을 넣는 문법은 여러가지가 있다. 위키 문법의 {{{ ---- }}}에 대응하는 문법이다.
{{{#!syntax markdown
* * *
***
*****
- - -
------------
}}}
== 마크다운을 사용하는 곳 ==
* [[프로그래밍]] / [[Git]] 저장소
* [[GitHub]]: 마크다운을 변형한 Github-Flavored Markdown을 쓴다.
* [[Stack Overflow]]
* [[위키]]
* [[도쿠위키]]: [[https://www.dokuwiki.org/plugin:markdowku|플러그인]]을 사용하여 마크다운 문법을 사용할 수 있다.
* [[모니위키]]: 버전 1.1.3부터 마크다운 프로세서 플러그인을 기본 내장하고 있다.
* [[제로스퀘어]]
* [[블로그]][* 설치형 블로그에서 지원하는 경향이 있다.]
* [[티스토리]]: 에디터에서 기본, 마크다운, HTML 모드중 선택해 작성가능.
* [[jekyll]]
* [[velog]]
* 기타 [[이슈 트래커]][* 협업 스타일의 노트, 일정 앱에서 활용된다.]
* ~~[[Notion]]~~
* [[Obsidian(앱)]]
* [[https://roamresearch.com/|RoamResearch]]
* [[https://simplenote.com/|Simple Note]]
* [[Trello]]
* [[logseq]]
* [[네이버 밴드]]: 마크다운 문서를 첨부할 수 있는 기능이 있다.
* [[Discord]]: 마크다운 문법을 일부 사용하고 있다. [[Discord/사용 방법#s-4.1|사용법]]
* [[https://ghost.org|Ghost]]
* [[Jupyter Notebook]]
* [[reddit]]
* [[스팀잇|Steemit]]
* [[Tumblr]]
* [[https://rlim.com|Rlim]]: Markdown gist
== 마크다운 변형판 ==
=== Github-Flavored Markdown ===
[[http://github.github.com/github-flavored-markdown/|Github-Flavored Markdown]]
[[GitHub]], [[디스코드]]에서 쓰이며 다음과 같은 차이점이 있다.
* 취소선을 쓸 수 있다.[* 쉽게 간과되는 사실인데, 취소선 기능은 순수 마크다운 문법이 아니다.] ({{{~~취소선~~}}})
* 표를 만들 수 있다.
* do_this_and_do_that과 같은 형태의 단어를 기울임꼴 글자로 처리하지 않는다.
* URL을 자동으로 링크로 변환해준다.
* 코드를 입력할 때 {{{```}}} 로 감싸주는 문법이 추가되었다.
* 여러 줄의 코드는 다음과 같이 쓴다. [* 파이썬의 간단한 코드]
{{{#!syntax markdown
```Python
print('hello world')
```
}}}
* 문법 강조가 적용이 된다. [[https://github.com/github/linguist|Linguist]]를 이용하여 처리한다.
* 작업 목록(Task lists) 문법이 추가되었다.
* [[Git]]관련 링크를 자동으로 처리해준다. (SHA, 사용자, 이슈 등)
=== MultiMarkdown ===
[[http://fletcherpenney.net/multimarkdown/|MultiMarkdown]]
기존 마크다운에 없는 기능(주석, 표 등)이 추가되어있다.
=== Haroopad Flavored Markdown ===
하루패드에서 쓰이며 다음과 같은 차이점이 있다.
* 강조 문법이 추가되었다. 사용 방법은 {{{== 강조 ==}}} 처럼 쓰면 된다. --[[나무위키:문법 도움말#s-7|어디서]] 본 것 같은데--
* 목차 기능이 추가되었다. 사용 방법은 {{{[TOC]}}}처럼 쓰면 된다.
* {{{ @[](http://www.youtube.com/watch?v=jo_B4LTHi3I) }}} 처럼 유튜브 영상 등을 추가할 수 있다.
* 다이어그램 기능이 추가되었다.
== 관련 문서 ==
* [[HTML]]
* [[위키 문법]]
* [[나무마크]]
* [[BBCode]]
* [[타이포라]]
[[분류:마크업 언어]]