마크다운
Markdown![]() | |
파일 이름 확장명 | .md ,.markdown [1][2] |
---|---|
인터넷 미디어 유형 | text/markdown [2] |
동일 유형 식별자(UTI) | net.daringfireball.markdown |
개발자 | 존 그루버와 애런 스와츠 |
초기 릴리즈 | 2004년 3월 19일 [3][4] | 전 (
최신 릴리즈 | 1.0.1 2004년 12월 17일 전[5] |
형식 유형 | 파일 형식 열기[6] |
까지 확장 | pandoc, MultiMarkdown, Markdown Extra, CommonMark,[7] RMarkdown[8] |
웹사이트 | daringfireball |
마크다운(Markdown)은 일반 텍스트 편집기를 사용하여 형식화된 텍스트를 만들기 위한 경량 마크업 언어다.존 그루버와 애런 스와츠는 2004년 마크다운을 소스 코드 형태로 인간 독자들에게 어필하고 있는 마크업 언어로 만들었다.[9]마크다운은 블로그, 인스턴트 메시징, 온라인 포럼, 협업 소프트웨어, 문서 페이지 및 readme 파일에 널리 사용된다.
마크다운에[10] 대한 초기 설명은 모호한 내용을 담고 있으며 답변 없는 질문을 제기하여 구현이 의도적으로 그리고 실수로 원본과 다른 결과를 초래했다.이는 마크다운의 오랜 기여자들이 마크다운을 위한 명확한 사양 및 테스트 제품군인 CommonMark를 출시하면서 2014년에 다루어졌다.[11]
역사
2002년에 Aaron Swartz는 "진정한 구조화된 텍스트 형식"인 atx를 만들었다.그 후 스와츠와 그루버는 2004년에 함께 마크다운 언어를 만들기 위해 협력했고,[3][4] 사람들이 "읽기 쉽고 쓰기 쉬운 일반 텍스트 형식을 사용하여 글을 쓸 수 있도록 하고, 선택적으로 구조적으로 유효한 XHTML(또는 HTML)로 변환할 수 있도록 한다"[5]는 목표를 가지고 있다.
그것의 주요 설계 목표는 명확한 태그와 서식 지침이 있는 RTF(Rich Text Format, Rich Text Format)나 HTML과 같이 마크업 언어로 포맷된 텍스트와 달리,[9] 언어가 태그나 서식 지침으로 표시되지 않고 그대로 읽을 수 있는 가독성이었다.이를 위해, 그것의 주요 영감은 e-메일에 일반 텍스트를 표시하기 위한 기존의 관습이지만, 특히 setext, Fabric, reStructuredText와 같은 이전 마크업 언어에서도 유래한다.[9]
그루버는 펄 대본을 썼고Markdown.pl
표시된 텍스트 입력을 유효하고 잘 형성된 XHTML 또는 HTML로 변환하고 각괄호를 대체한다.<
,>
) 및 앰퍼샌드(Ampersands)&
해당 문자 도면요소 참조와 함께.독립 실행형 스크립트, Blosxom 또는 이동식 유형의 플러그인 또는 BBEdit의 텍스트 필터 역할을 수행할 수 있다.[5]
상승과 발산
마크다운의 인기가 급속도로 증가하면서, 마크다운 구현이 많이 나타났는데, 주로 HTML 블록 내부의 테이블, 각주, 정의 리스트[note 1], 마크다운 등의 추가 기능의 필요성에 의해 추진되었다.
마크다운은 HTML로의 변환을 위한 비공식 사양과[12] Perl 구현에 의해서만 특성화되었기 때문에 이들 중 일부의 동작은 참조 구현으로부터 분리되었다.
동시에 비공식 명세서의 여러 애매모호함이 눈길을 끌었었다.[13]이러한 문제들은 다양한 구현의 산출물을 비교하기 위한 바벨마크와[14][15] 같은 도구들의 창조에 박차를 가했고,[16] 표준화를 위한 마크다운 파서들의 일부 개발자들의 노력을 자극했다.그러나 그루버는 완전한 표준화가 실수라고 주장해 왔다. "다른 사이트(및 사람)는 서로 다른 요구를 가지고 있다.어떤 구문도 모든 것을 행복하게 하지는 못할 것이다."[17]
표준화
![]() | |
파일 이름 확장명 | .md ,.markdown [2] |
---|---|
인터넷 미디어 유형 | text/markdown; variant=CommonMark [7] |
동일 유형 식별자(UTI) | 불확실한[18] |
IMT2000 3GPP - UTI 순응 | 공개 텍스트 |
개발자 | 존 맥팔레인, 오픈 소스 |
초기 릴리즈 | 2014년 10월 25일 | (
최신 릴리즈 | 0.30 2021년 6월 19일 ([19] |
형식 유형 | 파일 형식 열기 |
연장 위치 | 마크다운 |
까지 확장 | 깃허브 맛 마크다운 |
웹사이트 | spec |
2012년부터 제프 앳우드, 존 맥팔레인 등 한 무리의 사람들이 앳우드가 표준화 작업으로 특징지은 것을 시작했다.[11]한 커뮤니티 웹사이트는 이제 "다양한 마크다운 구현의 구현자뿐만 아니라 작성자와 개발자가 사용할 수 있는 다양한 도구와 자원을 문서화하는 것"을 목표로 하고 있다.[20]그루버는 2014년 9월 이 노력의 명분으로 '마크다운' 사용을 반대해 '커먼마크'로 브랜드가 변경됐다.[21][22]아마존닷컴은 몇 가지 버전의 사양, 참조 구현, 테스트 스위트, "2019년 최종 1.0 사양 및 테스트 스위트 발표"를 발표했다.[23]이후 주요 이슈들이 여전히 해결되지 않은 채 1.0 스펙은 공개되지 않았다.[24]그럼에도 불구하고, 다음의 사이트와 프로젝트는 CommonMark를 채택했다: 담론, GitHub, GitLab, Reddit, Qt, Stack Exchange (Stack Overflow), Swift.
2016년 3월, 관련 정보 인터넷 RFC 2개가 발표되었다.
- RFC 7763은 MIME 타입을 도입했다.
- RFC 7764는 MultiMarkdown, GitHub 향미 마크다운(GFM), Pandoc, Markdown Extra 등을 논의하여 등록하였다.[25]
변형
GitHub,[26] Bitbucket, Reddit,[27] Diaspora, Stack Exchange,[28] OpenStreetMap 및 SourceForge와[29] 같은 사이트들은 사용자들 간의 토론을 용이하게 하기 위해 Markdown의 변형을 사용한다.마크다운은 또한 마이크로소프트 팀 채팅과[30] 불협화음 메시지와 같은 매우 다양한 앱과 서비스에서 지원된다.[31]
구현에 따라 기본 인라인 HTML 태그가 지원될 수 있다.[32]기울임꼴 텍스트는 다음에 의해 구현될 수 있음_underscores_
및/또는*single-asterisks*
.[33]
깃허브 맛 마크다운
GitHub는 빠르면 2009년부터 자체 변형 마크다운을 사용해 왔으며,[34] 목록 요소 내부의 테이블, 내포 블록 컨텐츠 등의 추가 포맷과 커밋에 대한 참조 자동 링크, 이슈, 사용자 이름 등의 GitHub 고유의 기능을 추가했다.깃허브는 2017년 커먼마크를 기반으로 한 깃허브 향미 마크다운(GFM)의 정식 사양을 공개했다.[26]이 표준은 GFM이 확장자로 추가하는 테이블, 취소선, 자동 링크 및 작업 목록을 제외하고 정확히 그 규격을 따르는 CommonMark의 엄격한 상위 집합이다.[35]GitHub는 또한 이에 따라 그들의 사이트에서 사용되는 파서를 변경했고, 이것은 일부 문서를 변경해야 했다.예를 들어, 이제 GFM은 제목을 만드는 해시 기호를 공백 문자로 머리글 텍스트와 분리할 것을 요구한다.
마크다운 엑스트라
마크다운 엑스트라(Markdown Extra)는 PHP(원래 Phython, Ruby)에서 구현된 마크다운을 기반으로 한 경량 마크업 언어다.[36]플레인 마크다운 구문에서는 사용할 수 없는 기능을 추가한다.Markdown Extra는 예를 들어 Drupal과[37] TYPTO3와 같은 일부 콘텐츠 관리 시스템에서 지원된다.[38]
Markdown Extra는 Markdown에 다음과 같은 기능을 추가한다.
리아스크립트
LiaScript는[40] 상호 작용하는 교육 콘텐츠를 만들기 위해 고안된 마크다운 방언이다.Elm 및 Typecript에서 구현되며, 다음과 같은 특징을 정의하기 위해 구문 요소를 추가한다.
- 애니메이션
- 자동 음성 출력
- 수식(KaTeX 사용)
- ASCII 아트 다이어그램
- 다양한 유형의 퀴즈 및 설문 조사
- JavaScript는 기본적으로 지원되며 다양한 요소에 부착할 수 있으며, 이렇게 하면 코드 조각이 실행 가능하고 편집 가능하게 만들어질 수 있다.
예
마크다운 구문을 사용한 텍스트 | Markdown 프로세서에 의해 생성된 해당 HTML | 브라우저에서 본 텍스트 |
---|---|---|
제목 ============ 부제목 ----------- # 대체 제목 # 문단은 빈 줄로 구분된다.줄 끝에 두 칸이 있으면 줄 바꿈이 생긴다. | <h1>제목</h1>제목</h2>제목 <h1>대체제목 </h1>제목 <p>제목들은 빈 줄로 구분되어 있다.줄 끝에 두 칸이 있으면 줄 바꿈이 생긴다.</p> | 단락은 빈 줄로 구분된다. 선 끝의 두 칸 |
텍스트 속성 _italic_, **bold**, monospace.수평 규칙: -- | <p>텍스트 속성들 <이탈적> <강력> <강력> <강력> <코드 우주>.</p>수평 법칙:</p <hr /> | 텍스트 속성 기울임꼴, 굵게,monospace . 수평 규칙: |
번호가 매겨진 목록: 1. 과일 * 사과 * 바나나 2. 야채 - 당근 - 브로콜리 | 번호 목록 내에 중첩된 과일 목록을 작성한다. | 번호 목록 내에 중첩된 글머리 기호 목록:
|
[link](http://example.com).! > 마크다운은 이메일 형식의 문자를 블록쿼팅에 사용한다.> <여러 단락은 개별적으로 앞설 필요가 있다.대부분의 인라인 <abbr 제목="하이퍼텍스트 마크업 언어">>HTML[/abbr]이 지원된다. | <p>a href="http://example.com" 링크.</p><img alt="Image" 제목="icon" src="아이콘-pictures.png" /></p> <blockquote><p>Markdown은 블록쿼팅을 위해 이메일 스타일의 문자를 사용한다.</p> <p>여러 단락은 개별적으로 앞설 필요가 있다.</p> </블록쿼트> <p>대부분 인라인 <abbr 제목="하이퍼텍스트 마크업 언어">>HTML[/abbr]이 지원된다.</p> | 링크.
대부분의 인라인 지원. |
구현
Markdown 구현은 12개 이상의 프로그래밍 언어에 사용할 수 있다. 게다가, 많은 플랫폼과 프레임워크가 Markdown을 지원한다.[41]예를 들어, 마크다운 플러그인은 모든 주요 블로그 플랫폼에 존재한다.[42]
마크다운은 최소한의 마크업 언어로 일반 텍스트 편집기로 읽고 편집하는 반면, 모든 주요 플랫폼에서 사용할 수 있는 스타일로 파일을 미리 보는 특수 설계 편집기가 있다.많은 범용 텍스트와 코드 편집기에는 마크다운용 플러그인이 내장되거나 선택적 다운로드로 제공되는 구문 강조 표시 플러그인이 있다.편집자는 나란히 미리보기 창을 표시하거나 WYSIWYG 방식으로 직접 코드를 렌더링할 수 있다.
- JotterPad – Markdown 및 분수를[43] 지원하는 온라인 WYSIWYG 편집기
- Doxygen – 추가 기능으로[44] Markdown을 지원하는 소스 코드 문서 생성기
- RS투디오 – R을 위한 IDE.선다운[45](sundown)이라는 마크다운 변종(markdown)에 C++ 래퍼 기능을 제공한다.
- GitHub 향미료 마크다운(GFM)은 단어의 밑줄을 무시하고 구문 강조 표시, 작업 목록 [46]및 표를[26] 추가한다.
- RMarkdown[47]
- Nextcloud Notes - Nextcloud 플랫폼에서 노트를 작성하는 기본 앱은 Markdown을[48] 사용한 포맷을 지원한다.
참고 항목
메모들
- ^ 기술적으로 HTML 설명 목록
참조
- ^ Gruber, John (8 January 2014). "The Markdown File Extension". The Daring Fireball Company, LLC. Retrieved 27 March 2022.
Too late now, I suppose, but the only file extension I would endorse is “.markdown”, for the same reason offered by Hilton Lipschitz: We no longer live in a 8.3 world, so we should be using the most descriptive file extensions. It’s sad that all our operating systems rely on this stupid convention instead of the better creator code or a metadata model, but great that they now support longer file extensions.
- ^ a b c Leonard, Sean (March 2016). "The text/markdown Media Type". Request for Comments: 7763. Internet Engineering Task Force. Retrieved 27 March 2022.
This document registers the text/markdown media type for use with Markdown, a family of plain-text formatting syntaxes that optionally can be converted to formal markup languages such as HTML.
- ^ a b Swartz, Aaron (2004-03-19). "Markdown". Aaron Swartz: The Weblog.
- ^ a b Gruber, John. "Markdown". Daring Fireball. Archived from the original on 2004-04-02. Retrieved 2014-04-25.
- ^ a b c 1.0.1 readme 소스 코드 표시
- ^ "Markdown: License". Daring Fireball. Retrieved 2014-04-25.
- ^ a b Leonard, Sean (March 2016). "Guidance on Markdown: Design Philosophies, Stability Strategies, and Select Registrations". Request for Comments: 7764. Internet Engineering Task Force. Retrieved 27 March 2022.
This document elaborates upon the text/markdown media type for use with Markdown, a family of plain-text formatting syntaxes that optionally can be converted to formal markup languages such as HTML. Background information, local storage strategies, and additional syntax registrations are supplied.
- ^ "RMarkdown Reference site".
- ^ a b c 마크 다운 구문" 당돌한 최고 강속구 – 마크 다운 – 구문".2013-06-13.일반적으로 가독성 그러나 무엇보다 강조된다.일반 텍스트로 같은 태그 또는 서식 지침서에 인상되는 것 없는Markdown-formatted 문서가 되어야 한다 출판할 수 있는 시도된다.반면 마크 다운의 구문 Setext, atx, 섬유, reStructuredText, Grutatext, EtText 일반 텍스트 이메일의 — 영감의 마크 다운의 구문에 큰 단일 소스 형식을 포함한 종전의 text-to-HTML 필터 —의 영향을 받았다
- ^ "Daring Fireball: Introducing Markdown". daringfireball.net. Retrieved 2020-09-23.
- ^ a b Atwood, Jeff (2012-10-25). "The Future of Markdown". CodingHorror.com. Retrieved 2014-04-25.
- ^ "Markdown Syntax Documentation". Daring Fireball.
- ^ "GitHub Flavored Markdown Spec – Why is a spec needed?". github.github.com.
- ^ "Babelmark 2 – Compare markdown implementations". Johnmacfarlane.net. Retrieved 2014-04-25.
- ^ "Babelmark 3 – Compare Markdown Implementations". github.io. Retrieved 2017-12-10.
- ^ "Babelmark 2 – FAQ". Johnmacfarlane.net. Retrieved 2014-04-25.
- ^ Gruber, John [@gruber] (4 September 2014). "@tobie @espadrine @comex @wycats Because different sites (and people) have different needs. No one syntax would make all happy" (Tweet) – via Twitter.
- ^ "UTI of a CommonMark document". 12 April 2017.
- ^ "CommonMark specification".
- ^ "Markdown Community Page". GitHub. Retrieved 2014-04-25.
- ^ "Standard Markdown is now Common Markdown". Jeff Atwood. 4 September 2014. Retrieved 2014-10-07.
- ^ "Standard Markdown Becomes Common Markdown then CommonMark". InfoQ. Retrieved 2014-10-07.
- ^ "CommonMark". Retrieved 20 Jun 2018.
The current version of the CommonMark spec is complete, and quite robust after a year of public feedback … but not quite final. With your help, we plan to announce a finalized 1.0 spec and test suite in 2019.
- ^ "Issues we MUST resolve before 1.0 release [6 remaining]". CommonMark Discussion. 2015-07-26. Retrieved 2020-10-02.
- ^ "Markdown Variants". IANA. 2016-03-28. Retrieved 2016-07-06.
- ^ a b c "GitHub Flavored Markdown Spec". GitHub. Retrieved 2020-06-11.
- ^ "Reddit markdown primer. Or, how do you do all that fancy formatting in your comments, anyway?". Reddit.com. Retrieved 2013-03-29.
- ^ "Markdown Editing Help". StackOverflow.com. Retrieved 2014-04-11.
- ^ "SourceForge: Markdown Syntax Guide". SourceForge.net. Retrieved 2013-05-10.
- ^ "Use Markdown formatting in Teams". Microsoft. Retrieved 2022-01-13.
- ^ "Markdown Text 101 (Chat Formatting: Bold, Italic, Underline)". discord.com. Archived from the original on June 26, 2020.
- ^ "Markdown Syntax Documentation". daringfireball.net.
- ^ "Basic Syntax: Italic". The Markdown Guide. Matt Cone. Retrieved 27 March 2022.
To italicize text, add one asterisk or underscore before and after a word or phrase. To italicize the middle of a word for emphasis, add one asterisk without spaces around the letters.
- ^ Tom Preston-Werner. "GitHub Flavored Markdown Examples". GitHub. Retrieved 2021-04-02.
- ^ "A formal spec for GitHub Flavored Markdown". GitHub Engineering. 14 March 2017. Retrieved 16 Mar 2017.
- ^ Fortin, Michel (2018). "PHP Markdown Extra". Michel Fortin website. Retrieved 2018-12-26.
- ^ "Markdown editor for BUEditor". 4 December 2008.
- ^ "Markdown for TYPO3 (markdown_content)". extensions.typo3.org.
- ^ "PHP Markdown Extra". Michel Fortin.
- ^ Dietrich, André. "LiaScript". liascript.github.io. Retrieved 2022-01-17.
- ^ "W3C Community Page of Markdown Implementations". W3C Markdown Wiki. Retrieved 24 March 2016.
- ^ "Markdown THrowdown – What happens when FOSS software gets corporate backing". Ars Technica. 2014-10-05.
- ^ "Why You Need a WYSIWYG Editor When Writing in Markdown and Fountain". JotterPad Blog. 2020-11-17. Retrieved 2020-12-06.
- ^ "Doxygen Manual: Markdown support".
- ^ Allaire, J.J.; e.a. (2015-06-30). "Markdown.cpp". GitHub project RStudio. Retrieved 2016-07-07.
- ^ "Writing on GitHub". help.github.com. GitHub, Inc. Retrieved 9 July 2014.
- ^ R Markdown: The Definitive Guide.
- ^ "Nextcloud Notes App". Nextcloud Apps. Retrieved 2022-02-18.
외부 링크
- 원본 John Gruber 마크업을 위한 공식 웹 사이트
- Markdown Guide: Tools – Markdown을 지원하는 소프트웨어에 대한 독립적인 소스 검토