Markdown을 써보자

4 minute read

Markdown 이란

.md 의 확장자를 지닌 파일이 Markdown 문법으로 작성된 파일이다.
흔히 README.md 로 개발하면서 많이 볼 수 있는 문서!
문법이 간결하고 쉬우면서도 문서를 적당히 꾸밀 수 있다.
Markdown은 HTML의 마크업의 일부를 대신한다고 볼 수 있는데, 모든 것을 대신하지는 못하므로 한계가 존재하긴 한다.
그러나 지원하는 플랫폼도 많고(파생 문법들이 많으나 기본 문법은 대부분의 플랫폼에서 지원한다고 한다), 무엇보다 빠르게 배울 수 있으므로 종종 쓰게 될 것 같은 Markdown! 정리를 해보자. 메모장에다가 바로 작성할 수도 있지만 에디터가 있으면 조금 더 편리하다.
개인적으로는 VS Code를 사용하고 있는데, 여러 프로그램 깔기가 귀찮아서,,,ㅎㅎ

Markdown 문법

마크다운 문법에 대해 알아보자.

제목(Headings)

제목은 HTML의 h 태그로 변환된다.
h1~h6까지 각각 # 의 개수로 변환이 되는데, 예를 들어 h2 태그처럼 만들고 싶다면 `## 제목` 과 같이 쓰면 된다.

Markdown HTML 결과
# 제목1 <h1>제목1</h1> <h1>제목1</h1>
## 제목2 <h2>제목2</h2> <h2>제목2</h2>
### 제목3 <h3>제목3</h3> <h3>제목3</h3>
#### 제목4 <h4>제목4</h4> <h4>제목4</h4>
##### 제목5 <h5>제목5</h5> <h5>제목5</h5>
###### 제목6 <h6>제목6</h6> <h6>제목6</h6>

제목(추가)

제목은 ===(level 1)나 —(level 2)를 추가해서도 표현할 수 있다.
=나 -의 개수는 상관이 없다.

Markdown HTML 결과
제목 level 1
======
<h1>제목 level 1</h1> <h1>제목 level 1</h1>
제목 level 2
——
<h2>제목 level 2</h2> <h2>제목 level 2</h2>

문단(Paragraphs)

문단은 빈 줄을 이용해서 표현하면 된다.(?!) 문단의 앞에 띄어쓰기나 탭으로 공간을 띄울 수는 없다.(들여쓰기 안됨!)

Markdown HTML 결과
문단1
문단2
<p>문단1</p>
<p>문단2</p>
<p>문단1</p><p>문단2</p>

줄 바꿈(Line Breaks)

줄바꿈은 두 개 이상의 띄어쓰기(공백)를 문장의 끝에 해주면 된다.

Markdown HTML 결과
첫 번째 줄
두 번째 줄
<p>첫 번째 줄<br>두 번째 줄</p> <p>첫 번째 줄
두 번째 줄</p>

강조(Emphasis)

글을 쓸 때 굵게 하거나 기울임으로써 강조를 줄 수 있다.

굵게(Bold)

굵게 쓰기 위해서는 *나 _를 글 양 옆으로 두 개씩 삽입하면 된다.

Markdown HTML 결과
글을 **굵게** 써보자. 글을 <strong>굵게</strong> 써보자. 글을 굵게 써보자.
글을 __굵게__ 써보자. 글을 <strong>굵게</strong> 써보자. 글을 굵게 써보자.

기울임(Italic)

글을 기울이기 위해서는 *나 _를 글 양 옆으로 한 개씩 삽입하면 된다.

Markdown HTML 결과
글을 *기울여* 써보자. 글을 <em>기울여</em> 써보자. 글을 기울여 써보자.
글을 _기울여_ 써보자. 글을 <em>기울여</em> 써보자. 글을 기울여 써보자.

그렇다면 굵게 기울게는 어떻게 할까? 간단하다. *나 _를 글 양 옆으로 세 개씩 삽입하면 된다.

Markdown HTML 결과
글을 ***굵고 기울게*** 해보자. 글을 <strong><em>굵고 기울게</em></strong> 해보자. 글을 굵고 기울게</strong> 해보자.
글을 ___굵고 기울게___ 해보자. 글을 <strong><em>굵고 기울게</em></strong> 해보자. 글을 굵고 기울게 해보자.
글을 __*굵고 기울게__* 해보자. 글을 <strong><em>굵고 기울게</em></strong> 해보자. 글을 굵고 기울게 해보자.
글을 **_굵고 기울게**_ 해보자. 글을 <strong><em>굵고 기울게</em></strong> 해보자. 글을 굵고 기울게 해보자.

인용(Blockquotes)

인용문을 써보고 싶다면, > 를 문단의 앞에 위치시키면 된다.

> 마크다운 인용문 넣어보기

위의 문장은 아래와 같이 나타난다.

마크다운 인용문 넣어보기

여러 문장(또는 문단)을 한 번에 인용시킬 수도 있는데, >를 계속 붙여주면 된다.

> 마크다운 인용문 넣어보기  
>  
> 인용문을 계속 넣어보기

이는 아래와 같이 나타난다.

마크다운 인용문 넣어보기

인용문을 계속 넣어보기

중첩 인용문(Neste Blockquotes)를 만들수도 있는데, >의 개수를 늘리면 인용문이 중첩된다.

> 마크다운 인용문 넣어보기  
>  
>> 중첩 인용문도 넣어보기  

이는 아래와 같이 나타난다.

마크다운 인용문 넣어보기

중첩 인용문도 넣어보기

인용문 안에는 다른 마크다운 문법에서 사용되는 것들을 사용할 수 있다.(Lists, Heading, …)

목차(Lists)

번호나 기호를 이용해서 리스트 형태로 글을 작성할 때 쓸 수 있다. 번호를 넣으면 순서가 있고, 기호를 넣으면 순서 구분이 없다.

순서있는 목차(Ordered Lists)

번호를 넣어서 리스트를 만들 수 있는데, 번호를 매기는데 숫자의 순서가 중요하지는 않다. 다만 첫 시작이 숫자여야 제대로 작성된다.

Markdown HTML 결과
1. 첫 번째
2. 두 번째
3. 세 번째
<ol>
<li>첫 번째</li>
<li>두 번째</li>
<li>세 번째</li>
</ol>
<ol><li>첫 번째</li><li>두 번째</li><li>세 번째</li></ol>
1. 첫 번째
1. 두 번째
1. 세 번째
<ol>
<li>첫 번째</li>
<li>두 번째</li>
<li>세 번째</li>
</ol>
<ol><li>첫 번째</li><li>두 번째</li><li>세 번째</li></ol>
1. 첫 번째
5. 두 번째
3. 세 번째
<ol>
<li>첫 번째</li>
<li>두 번째</li>
<li>세 번째</li>
</ol>
<ol><li>첫 번째</li><li>두 번째</li><li>세 번째</li></ol>
1. 첫 번째
2. 두 번째
  1. 새끼 번호 1
  2. 새끼 번호 2
3. 세 번째
<ol>
<li>첫 번째</li>
<li>두 번째
<ol>
<li>새끼 번호 1</li>
<li>새끼 번호 2</li>
</ol>
</li>
<li>세 번째</li>
</ol>
<ol><li>첫 번째</li><li>두 번째<ol><li>새끼 번호 1</li><li>새끼 번호 2</li></ol><li>세 번째</li></ol>

순서없는 목차(Unordered Lists)

순서없이 기호로만 리스트를 만드려면 -, *, +를 사용하면 된다.

Markdown HTML 결과
- 첫 번째
- 두 번째
- 세 번째
<ul>
<li>첫 번째</li>
<li>두 번째</li>
<li>세 번째</li>
</ul>
<ul><li>첫 번째</li><li>두 번째</li><li>세 번째</li></ul>
* 첫 번째
* 두 번째
* 세 번째
<ul>
<li>첫 번째</li>
<li>두 번째</li>
<li>세 번째</li>
</ul>
<ul><li>첫 번째</li><li>두 번째</li><li>세 번째</li></ul>
+ 첫 번째
* 두 번째
- 세 번째
<ul>
<li>첫 번째</li>
<li>두 번째</li>
<li>세 번째</li>
</ul>
<ul><li>첫 번째</li><li>두 번째</li><li>세 번째</li></ul>
- 첫 번째
- 두 번째
  - 새끼 번호 1
  - 새끼 번호 2
- 세 번째
<ul>
<li>첫 번째</li>
<li>두 번째
<ul>
<li>새끼 번호 1</li>
<li>새끼 번호 2</li>
</ul>
</li>
<li>세 번째</li>
</ul>
<ul><li>첫 번째</li><li>두 번째<ul><li>새끼 번호 1</li><li>새끼 번호 2</li></ul><li>세 번째</li></ul>

코드(Code)

코드 블록은 매 줄마다 네 칸 이상을 띄우거나 탭 하나 이상을 두고 입력하면 된다.

  <html>
  <head>
  </head>
 </html>

이는 아래와 같이 나타난다.

<html>
    <head>
    </head>
</html>

또 다른 방법으로는 `(tick)을 세 개 넣는 방법이다.

```  
<html>  
    <head>  
    </head>  
</html>  
```

이렇게 쓰면 아래와 같이 나타난다.

<html>
    <head>
    </head>
</html>
```<언어 타입>

으로 syntax highlight를 줄 수 있다.(플랫폼 별 상이한듯?)

```html  
<html>  
    <head>  
    </head>  
</html>  
```

이는 아래처럼 나타난다.

<html>
    <head>
    </head>
</html>

와! 더 이쁘다!

평행선(Horizontal Rules)

평행선은 세 개 이상의 *, -, _ 를 연속으로 붙여쓰면 만들 수 있다.

***

---

______

아래와 같은 줄이 생기는 것을 볼 수 있다.


이미지(Images)

이미지는 아래와 같은 형식으로 넣을 수 있다.
![alt name](image path)
[] 안에는 대체 문구, () 안에는 이미지 파일의 경로를 넣으면 된다.

![sky](/assets/images/2019-10-04—markdown-usage/image1.jpg)

아래 처럼 사진이 나타나게 된다.

sky

표(Table)

간단하게 표도 작성해 볼 수 있다. HTML 에서는 <table> 코드가 되며 header cell 과 body cell 로 나누어서 작성하게된다.
헤더 셀에서 : 를 통해 좌/우/가운데 정렬을 지정할 수 있다.

|이름|종류|요약|
|:---|:---:|:---:|
|HTML|웹 언어|웹 페이지를 만드는데 사용|
|C++|범용 언어|C언어 + 객체지향|
|Javascript|웹 언어|웹 브라우저에서 사용하는 스크립트 언어|
가장 좌우측에 위치한 기호는 생략 가능하다.
이름|종류|요약
:---|:---:|:---:
HTML|웹 언어|웹 페이지를 만드는데 사용
C++|범용 언어|C언어 + 객체지향
Javascript|웹 언어|웹 브라우저에서 사용하는 스크립트 언어

아래와 같이 표가 만들어지게 된다.

이름 종류 요약
HTML 웹 언어 웹 페이지를 만드는데 사용
C++ 범용 언어 C언어 + 객체지향
Javascript 웹 언어 웹 브라우저에서 사용하는 스크립트 언어

Escaping Characters

지금까지 서술했듯이 여러 기호들은 기능을 가지고 있는 경우가 있다. 따라서 충돌이 일어나지 않게 하기 위해서는 \(백슬래시)를 이용해서 안전하게 글을 작성해보자.

<https://younghk.github.io>

이렇게 일반적인 링크를 달 수도 있지만, 글자나 이미지에 링크를 달 수도 있다.

[블로그](https://younghk.github.io/)

예 : 블로그

공백(Spaces)

마크다운은 기본적으로 공백을 지원하지 않지만, HTML에서는 공백을 표현하기 위한 코드가 있다. 즉, 우회적으로 마크다운에서도 공백을 표현해 볼 수 있다.

공백 코드 내용
한칸 공백
\  두칸 공백
\  네칸 공백

이 외에도 조금 기능이 더 있는데 추후에 쓸 일이 있거나 하면 추가해봐야겠다. ^_^

참고 : https://www.markdownguide.org/basic-syntax/

Tags:

Categories:

Updated:

Leave a comment