마크다운 (markdown) 사용법

일반적으로 문서를 작성해 제출한다고 하면 MS Word(.docx)나 한글(.hwp)을 작성해서 제출한다. 하지만 이러한 문서는 특정 에디터가 있어야 편집할 수 있고, 파일의 크기도 비교적 크다. 반면, 마크다운가볍고, 작성하기 매우 편리하기 때문에 개발 문서에 자주 사용된다. 또한 웹페이지(HTML)로 변환해 사용하는 등 확장성도 뛰어나다. 아래 더보기에서 예시를 볼 수 있다.
확장자: *.md
에디터: VSCode, Obsidian, Typora, Bear, Velog, Notion(일부) ...


제목

# 제목1
## 제목2
### 제목3
...

제목1

제목2

제목3

# 태그는 제목을 작성할 때 사용된다. #의 개수에 따라 h1, h2, h3와 같이 점점 작은 제목이 된다.


본문

문장1이v있습니다.vv
문장2가v있습니다.

문장3이v있습니다.

문장1이 있습니다.

문장2가 있습니다.

문장3이 있습니다.

빈칸 2개를 끝에 작성해 줄바꿈을 실행한다. 가장 확실한 건 줄을 한 칸 띄워주는 방법이다.

마크다운은 줄바꿈을 한다고 줄바꿈이 실행되지 않는다. 습관적으로 문장이 끝날 때 빈칸 2개를 작성해 주여야 한다.

*기울임*   _기울임_
**강조**   __강조__
~~취소선~~

기울임  강조  취소선

 

- 목록1
  - 목록 1-1
  - 목록 1-2
- 목록2
- 목록3  
  - 목록 3-1
  • 목록1
    • 목록 1-1
    • 목록 1-2
  • 목록2
  • 목록3
    • 목록 3-1

 

1. 첫번째
1. 두번째
1. 세번째
  1. 첫번째
  2. 두번째
  3. 세번째

 

> 인용구

1, 2번 인용구

3번 인용구

* 현재 테마(Customed 한눈에)는 1, 2번 인용 / 3번 인용을 위와 같이 표현한다.

 

---
가로선 (hr)

* 현재 테마(Customed 한눈에)는 모든 종류의 선을 연한 직선(6번)으로 표현한다.

 

`블록` 
``` 코드 블록 ```

보고 있는 위 블록이 바로 코드블록이다. 참고로 따옴표(')가 아닌 백틱(`)을 사용해야 한다.

* 현재 테마(Customed 한눈에)는 밑줄<u>을 인라인 블록으로 대신한다.

 

[텍스트](URL)

텍스트

 

![대체 텍스트](사진 경로)

 

|항목1|항목2|항목3|
|:---:|:---:|:---:|
|1|2|3|
|A|B|C|

 

항목1 항목2 항목3
1 2 3
A B C

HTML 코드

만약 웹 페이지에서 사용하기 위한 마크다운을 작성한다면 HTML 코드를 그대로 사용할 수 있다. <img>, <a> 태그는 마크다운으로도 작성할 수 있지만 세부적인 설정 및 디자인을 위해서는 HTML 태그를 사용할 수도 있다.


Markdown → HTML

마크다운을 HTML 코드로 변환하는 방법은 다양하다. 대표적으로 온라인 툴을 사용하는 방법이나 Typora, Notion 등 에디터에서 자체적으로 제공하는 HTML 변환 기능을 사용할 수 있다. 그 외 markdown 라이브러리를 사용하는 방법도 있다.

파이썬 활용

> pip install markdown
import os 
from markdown import markdown 

DIR_PATH = os.getcwd() 

# 마크다운 파일 이름 
MD_PATH = os.path.join(DIR_PATH, "test.md") 
with open(MD_PATH, "r", encoding="utf-8") as f: 
    text = f.read() 
    html = markdown(text) 

# HTML 파일 이름 
HTML_PATH = os.path.join(DIR_PATH, "test.html") 
with open(HTML_PATH, "w", encoding="utf-8") as f: 
    f.write(html)

markdown.markdown()은 마크다운 문법으로 작성된 텍스트를 HTML 문법으로 변환해준다. <html>이나 <body>와 같은 기본적인 태그가 자동으로 추가되지 않기 때문에 파이썬에서 별도의 코드를 작성해 주어야 한다.