개발 공부를 시작하고 나서, 마크다운 (Markdown)는 문법 / 언어가 많이 보였다.
인프런 강의[1]에서 추천한 블로그 플랫폼도 '마크다운을 지원하는' 티스토리였고, GitHub의 README만 봐도 _.md_파일이었고 말이다.
그래서 그 마크다운이 도대체 무엇인고 하니...
정의
마크다운(markdown)은 일반 텍스트 기반의 경량 마크업 언어다.
일반 텍스트로 서식이 있는 문서를 작성하는 데 사용되며, 일반 마크업 언어에 비해 문법이 쉽고 간단한 것이 특징이다.HTML과 리치 텍스트(RTF) 등 서식 문서로 쉽게 변환되기 때문에 응용 소프트웨어와 함께 배포되는 README 파일이나 온라인 게시물 등에 많이 사용된다.
위키백과, 우리 모두의 백과사전.
한 마디로, 프로그래밍 언어 중 하나이다.
2004년에 John Gruber와 Aaron Swartz가
"사람들이 읽기 쉽고 쓰기 쉬운 플레인 텍스트 포맷을 사용하여 쓸 수 있으면서 구조적으로 유효한 XHTML(또는 HTML)로 선택적 변환이 가능하게 하는 것"
을 목표로 개발한 언어인 것이다. 여기서 변환은 _Markdown.pl_이라는 Perl Script (참고: Perl 또한 프로그래밍 언어 중 하나!)를 통하여 한다.
서론에서 말하였듯, GitHub의 README.md에서 볼 수 있듯이, 마크다운 문서의 확장자는 .md가 된다.
인기
그루버와 슈와츠는 본연의 목표를 달성한 듯 하다. 아주 간단한 구문과 쉬운 가독성, 그리고 좋은 호환성으로 인해 Markdown은 아주 큰 인기를 누리고 있으니.
밑의 Sytanx 섹션에서 보면 알 수 있듯이, 문법이 매우 단순하다.
지금 이 문서도 Markdown으로 작성하고 있는데, 사실 일반 글을 쓰는 것과 별반 차이가 없다. 글을 쭉 써나아가면서, 필요에 따라 #, * , > 등 몇 개만 넣어주면 된다.
GitHub, StackOverflow, Reddit 등의 주요 IT-기반 커뮤니티들에서 수백만명의 유저들이 Markdown을 사용하고 있다.
따라서 선배 개발자들이 티스토리에 Markdown을 이용해 글을 작성하라는 조언을 하는 것도 이해가 간다.
Markdown 기반으로 작성한 글을 GitHub에 올릴 때, 형식 변환을 위해 두 번 일 할 필요가 없으며, 변경 이력 관리도 용이하니까.
장단점[3]
장점
- 빠르고 쉽다
- 가볍다 (적은 메모리 필요)
- 키보드로만 작성할 수 있다
- 플랫폼에 상관 없이 사용 가능하다 (쉽게 여러 플랫폼 사이에서 변환이 가능하다)
- 텍스트 기반이다 (검색도 쉽고, Git과 같은 버전 관리 시스템을 이용해서 변경 이력 관리가 가능하다.)
단점
- 표준화되지 않음 (CommonMark의 노력은 있다)
- "Variants (변종?)" 사이에는 호환성이 없다
표준화
CommonMark [4]
We propose a standard, unambiguous syntax specification for Markdown, along with a suite of comprehensive tests to validate Markdown implementations against this specification.
We believe this is necessary, even essential, for the future of Markdown.
"우리는 여러 테스트를 통해 표준화되고 명료한 결과를 내는 Markdown 구문을 제안합니다.
"우리는 이러한 표준화 작업이, Markdown의 발전을 위해 본질적으로 필요하다고 생각합니다."
- CommonMark
구문이 쉬워서 그럴까? 명확한 표준 구문 문서의 부재로, 다양한 구문이 쓰이고, 같은 구문이 여러 플랫폼에서 동일한 결과를 내지 못하는 결과가 생겼다. 이에 2012년 Markdown의 표준화를 목표로 CommonMark가 탄생했다.
구문
그 쉽다는 구문, 한 번 구경해봅시다!
이 사이트만큼 쉽고 명료하게 설명한 데를 찾기 어렵다. 따라서 링크로 대체한다.
https://www.markdownguide.org/basic-syntax/
출처
[2] 위키피디아 Wikipedia
[3] Hackernoon.com
https://hackernoon.com/pros-and-cons-of-using-markdown-for-technical-writing-34f277418a8a
[4] CommonMark
https://commonmark.org/
'개발 관련 개념들' 카테고리의 다른 글
[JWT] 클라이언트 쪽에서 JWT 사용 - React / Redux (0) | 2021.04.20 |
---|---|
npm run build시 html-webpack-plugin 에러 (0) | 2021.04.14 |
git 충돌 시 해결법 (0) | 2021.04.06 |
윈도우즈 (Windows 10) 에서 우분투 (Ubuntu) 설치하기 (0) | 2020.11.18 |
Git? GitHub? 도대체 무엇이야? (0) | 2020.11.10 |
댓글