일반적으로 문서를 작성해 제출한다고 하면 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번 인용구
* 현재 테마(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>와 같은 기본적인 태그가 자동으로 추가되지 않기 때문에 파이썬에서 별도의 코드를 작성해 주어야 한다.