기타/WWW

마크다운 MarkDown 연습

하늘이푸른오늘 2023. 3. 21. 14:15

마크다운이란

마크다운(Markdown)은 텍스트 기반의 마크업(Markup) 언어로, 일반 텍스트 편집기를 사용하여 문서를 작성할 수 있습니다. 마크다운은 간단하고 직관적인 문법을 제공하여, 비전문가들도 쉽게 문서를 작성할 수 있게 해줍니다.

마크다운을 왜 사용해야 하는가?

Tistory 블로그를 운영하면서, 오래전부터 마크다운을 지원한다는 것은 알고 있었습니다. 하지만 그냥 rich editor?를 사용하면 되지 뭐하러 마크다운을 사용해야 하나... 하며 모른척 했습니다. 그러고 생각해보면, 제가 마크다운을 처음 접했던 것은 지금부터 15년 전쯤이 아닐까 싶은데.... 제가 이 블로그를 운영하기 시작하며 여러 블로그 친구들을 사귀었는데, 그중 몇분이 마크다운을 열심히 전도했던 것이 생각나네요.

아무튼, 요즘 AI 관련해서 여러가지 공부를 새로 시작하려다보니 다시 마크다운을 쓰는 게 좋은 상황이 닥쳤습니다. 떠밀려 시작하는 건 마음에 안들지만 그래도 내일보다는 오늘 시작하는게 낫겠다는 마음으로 출발합니다.

마크다운을 사용하는 장점

마크다운을 사용하면 번거럽게 마우스를 사용해서 왔다갔다 하지 않더라도, 문서의 양식을 적절하게 꾸밀 수 있습니다. html로 꾸미는 것을 완벽하게 지원하지 못한다고 해도, 문서 작성에 필요한 대부분은 지원하니까 간단한 양식이 필요한 글은 쉽게 작성할 수 있는 장점이 있습니다.

다만, 마크다운이 표준화되어 있지 않아서 에디터에 따라 지원하는 문법이 달라지는 단점이 있다고 합니다. 그런데, 저는 어차피 복잡한 문법은 사용하지 않을테니 크게 문제가 되지 않겠죠.

chatGPT에게 물어본 마크다운의 장점

아래는 chatGPT 에 마크다운 초보자를 위한 마크다운 장단점을 알려달라고 해서 나온 결과를 약간 수정한 겁니다.

마크다운의 장점

  1. 쉽고 간편한 문법
    마크다운은 간단하고 직관적인 문법을 제공합니다. HTML과 같은 다른 마크업 언어와 달리, 마크다운은 일반 텍스트로 쉽게 작성할 수 있습니다. 문서를 작성할 때 복잡한 기능을 생략할 수 있으므로, 글쓰기에 집중할 수 있습니다.
  2. 가독성이 좋음
    마크다운은 일반 텍스트를 기반으로 하기 때문에 가독성이 좋습니다. HTML과 같은 마크업 언어는 태그가 많아져 문서의 가독성이 떨어질 수 있지만, 마크다운은 태그가 적어서 문서를 읽기 쉽고 간편합니다.
  3. 다양한 플랫폼에서 지원
    마크다운은 다양한 플랫폼에서 지원됩니다. GitHub, Slack, Jekyll, Typora 등에서 지원되므로, 개발자, 블로거, 문서 작성자 등 다양한 분야에서 널리 사용됩니다. 저는 Google Colab에서 사용하려고 시작하게 되었네요.
  4. 버전 관리가 용이
    마크다운은 텍스트 기반으로 작성되므로 버전 관리가 용이합니다. Git과 같은 버전 관리 시스템에서 변화를 쉽게 추적할 수 있습니다.

마크다운의 단점

  1. 확장성이 떨어짐
    마크다운은 간단하고 직관적인 문법을 제공하여 쉽게 작성할 수 있지만, 확장성이 떨어집니다. HTML과 같은 다른 마크업 언어에 비해 덜 유연하며, 복잡한 구조를 표현하는 데 한계가 있습니다.
  2. 확장성이 부족함
    마크다운은 간단하고 직관적인 문법을 가지고 있기 때문에, 표현할 수 있는 내용에 한계가 있을 수 있습니다. 특히, 고급 기능이나 복잡한 레이아웃을 표현하는 경우에는 다른 마크업 언어나 워드 프로세서를 사용하는 것이 더 효과적일 수 있습니다.
  3. 문법이 제한적임
    마크다운은 특정한 목적을 위해 만들어진 언어가 아니기 때문에, 일부 고급 기능이나 레이아웃을 표현하는 기능이 제한적일 수 있습니다.
  4. 표준화가 안됨
    무엇보다 마크다운은 표준화되어 있지 않아, 사이트나 편집 도구별로 지원하는 내용이 다를 수 있어 호환성이 떨어질 수 있다는 단점이 있습니다.

그런데, 확장성이 부족하다거나, 문법이 제한적인 것 등은 일단 마크다운으로 문서를 작성한 후, html 등으로 변환하는 방법을 사용하면 어느 정도 해결이 가능하다고 생각됩니다.

마크다운 기초 문법

  1. 제목(Header)
    제목은 # 기호를 사용하여 표시합니다. #의 개수에 따라 제목의 순서가 달라집니다.
  2. '# 제목 1'
    '## 제목 2'
    '### 제목 3'
    '#### 제목 4'
  3. 강조
    강조는 * 또는 _를 사용합니다.
  4. '_이탤릭체_ 또는 _이탤릭체_'
    '**볼드체** 또는 __볼드체__'
  5. 목록
    순서가 있는 목록은 1. 2. 등, 순서가 없는 목록은 * 이나 -를 사용합니다.'* 첫 번째 항목'
    '* 두 번째 항목'
    '* 세 번째 항목'
  6. '1. 첫 번째 항목'
    '2. 두 번째 항목'
    '3. 세 번째 항목'
  7. 하위 수준 항목을 넣고 싶으면 앞쪽에 공백 3개 또는 탭을 넣습니다.
    '* 상위 항목1'
    '   *하위 항목1'
    '   *하위 항목2'
    '*상위 항목2'
    '*상위 항목3'
    '   *하위 항목3'
  8. 링크
    링크는 아래와 같은 형식으로 작성합니다.
  9. '[구글](https://www.google.com)'
  10. 이미지 삽입
    이미지는 대체 텍스트와 링크를 부여해 작성합니다.
  11. '![고양이 이미지](http://www.chemicalnews.co.kr/news/photo/202106/3636_10174_4958.jpg)'
  12. 인용문(backquote)
    인용해온 문장을 표시할 때에는 문장 앞에 '>'를 삽입합니다.
  13. '> 인용문입니다.'
  14. 코드(code)
    프로그램과 같은 코드 혹은 마크다운 언어의 효과를 적용하지 않고 원 상태로 보이게 하려면 작은 따옴표를 사용합니다.
  15. 'print("Hello World!")'

또는 여러줄을 써야 할 경우 아래처럼 '''을 사용하면 됩니다.

'''이렇게 여러줄이면   
사이에 넣어주면 된다. 
'''
  1. 수평선
    수평선을 입력할 때에는 *** 또는 --- 또는 ___ 를 입력하면 됩니다.
  2. '---'
  3. 특수문자를 그냥 입력하기
    * 등의 문자가 그냥 표시 되길 원하면 백슬래시를 앞에 넣어줍니다.