   Link: manifest
   Link: license
   Link: canonical
   [ ] Open main menu
     * Home
     * Random
     * Nearby
     * Log in
     * Donate
     * About Wikipedia
     * Disclaimers
   Wikipedia
   _____________________
   Search

                                    Markdown

   Article Talk
     * Language
     * Watch
     * Edit
   For the marketing term, see Price markdown.

   Markdown is a lightweight markup language for creating formatted text
   using a plain-text editor. John Gruber and Aaron Swartz created Markdown
   in 2004 as a markup language that is appealing to human readers in its
   source code form.^[9] Markdown is widely used in blogging, instant
   messaging, online forums, collaborative software, documentation pages, and
   readme files.

                                    Markdown
   Markdown-mark.svg   
   Filename extensions .md, .markdown^[1]^[2]                                 
   Internet media type text/markdown^[2]                                      
   Uniform Type        net.daringfireball.markdown                            
   Identifier (UTI)    
   Developed by        John Gruber and Aaron Swartz                           
   Initial release     March 19, 2004 (18 years ago)^[3]^[4]                  
   Latest release      1.0.1                                                  
                       December 17, 2004 (17 years ago)^[5]                   
   Type of format      Open file format^[6]                                   
   Extended to         pandoc, MultiMarkdown, Markdown Extra, CommonMark,^[7] 
                       RMarkdown^[8]                                          
   Website             daringfireball.net/projects/markdown/                  

   The initial description of Markdown^[10] contained ambiguities and raised
   unanswered questions, causing implementations to both intentionally and
   accidentally diverge from the original version. This was addressed in
   2014, when long-standing Markdown contributors released CommonMark, an
   unambiguous specification and test suite for Markdown.^[11]

Contents

     * 1 History
     * 2 Rise and divergence
     * 3 Standardization
     * 4 Variants
          * 4.1 GitHub Flavored Markdown
          * 4.2 Markdown Extra
          * 4.3 LiaScript
     * 5 Examples
     * 6 Implementations
     * 7 See also
     * 8 Notes
     * 9 References
     * 10 External links

HistoryEdit

   In 2002 Aaron Swartz created atx, "the true structured text format".
   Swartz and Gruber then worked together to create the Markdown language in
   2004,^[3]^[4] with the goal of enabling people "to write using an
   easy-to-read and easy-to-write plain text format, optionally convert it to
   structurally valid XHTML (or HTML)".^[5]

   Its key design goal was readability, that the language be readable as-is,
   without looking like it has been marked up with tags or formatting
   instructions,^[9] unlike text formatted with a markup language, such as
   Rich Text Format (RTF) or HTML, which have obvious tags and formatting
   instructions. To this end, its main inspiration is the existing
   conventions for marking up plain text in email, though it also draws from
   earlier markup languages, notably setext, Textile, and
   reStructuredText.^[9]

   Gruber wrote a Perl script, Markdown.pl, which converts marked-up text
   input to valid, well-formed XHTML or HTML and replaces angle brackets (<,
   >) and ampersands (&) with their corresponding character entity
   references. It can take the role of a standalone script, a plugin for
   Blosxom or a Movable Type, or of a text filter for BBEdit.^[5]

Rise and divergenceEdit

   As Markdown's popularity grew rapidly, many Markdown implementations
   appeared, driven mostly by the need for additional features such as
   tables, footnotes, definition lists,^[note 1] and Markdown inside HTML
   blocks.

   The behavior of some of these diverged from the reference implementation,
   as Markdown was only characterised by an informal specification^[12] and a
   Perl implementation for conversion to HTML.

   At the same time, a number of ambiguities in the informal specification
   had attracted attention.^[13] These issues spurred the creation of tools
   such as Babelmark^[14]^[15] to compare the output of various
   implementations,^[16] and an effort by some developers of Markdown parsers
   for standardisation. However, Gruber has argued that complete
   standardization would be a mistake: "Different sites (and people) have
   different needs. No one syntax would make all happy."^[17]

StandardizationEdit

   Link: mw-deduplicated-inline-style

                                   CommonMark
   Markdown-mark.svg             
   Filename extensions           .md, .markdown^[2]                    
   Internet media type           text/markdown; variant=CommonMark^[7] 
   Uniform Type Identifier (UTI) uncertain^[18]                        
   UTI conformation              public.plain-text                     
   Developed by                  John MacFarlane, open source          
   Initial release               October 25, 2014 (7 years ago)        
   Latest release                0.30                                  
                                 June 19, 2021 (9 months ago)^[19]     
   Type of format                Open file format                      
   Extended from                 Markdown                              
   Extended to                   GitHub Flavored Markdown              
   Website                       spec.commonmark.org                   

   From 2012, a group of people, including Jeff Atwood and John MacFarlane,
   launched what Atwood characterised as a standardisation effort.^[11] A
   community website now aims to "document various tools and resources
   available to document authors and developers, as well as implementors of
   the various Markdown implementations".^[20] In September 2014, Gruber
   objected to the usage of "Markdown" in the name of this effort and it was
   rebranded as CommonMark.^[21]^[22] CommonMark.org published several
   versions of a specification, reference implementation, test suite, and
   "[plans] to announce a finalized 1.0 spec and test suite in 2019."^[23] No
   1.0 spec has since been released as major issues still remain
   unsolved.^[24] Nonetheless, the following sites and projects have adopted
   CommonMark: Discourse, GitHub, GitLab, Reddit, Qt, Stack Exchange (Stack
   Overflow), and Swift.

   In March 2016 two relevant informational Internet RFCs were published:

     * RFC 7763 introduced MIME type text/markdown.
     * Link: mw-deduplicated-inline-style
       RFC 7764 discussed and registered the variants MultiMarkdown, GitHub
       Flavored Markdown (GFM), Pandoc, and Markdown Extra among others.^[25]

VariantsEdit

   Sites like GitHub,^[26] Bitbucket, Reddit,^[27] Diaspora, Stack
   Exchange,^[28] OpenStreetMap and SourceForge^[29] use variants of Markdown
   to facilitate discussion between users. Markdown is also supported in a
   wide variety of apps and services, like Microsoft Teams chat^[30] and
   Discord messages.^[31]

   Depending on implementation, basic inline HTML tags may be supported.^[32]
   Italic text may be implemented by _underscores_ and/or
   *single-asterisks*.^[33]

  GitHub Flavored MarkdownEdit

   GitHub had been using its own variant of Markdown since as early as
   2009,^[34] adding support for additional formatting such as tables and
   nesting block content inside list elements, as well as GitHub-specific
   features such as auto-linking references to commits, issues, usernames,
   etc. In 2017, GitHub released a formal specification of its GitHub
   Flavored Markdown (GFM) that is based on CommonMark.^[26] It is a strict
   superset of CommonMark, following its specification exactly except for
   tables, strikethrough, autolinks and task lists, which GFM adds as
   extensions.^[35] GitHub also changed the parser used on their sites
   accordingly, which required that some documents be changed. For instance,
   GFM now requires that the hash symbol that creates a heading be separated
   from the heading text by a space character.

  Markdown ExtraEdit

   Markdown Extra is a lightweight markup language based on Markdown
   implemented in PHP (originally), Python and Ruby.^[36] It adds features
   not available with plain Markdown syntax. Markdown Extra is supported in
   some content management systems such as, for example, Drupal^[37] and
   TYPO3.^[38]

   Markdown Extra adds the following features to Markdown:

     * Markdown markup inside HTML blocks
     * Elements with id/class attribute
     * "Fenced code blocks" that span multiple lines of code
     * Tables^[39]
     * Definition lists
     * Footnotes
     * Abbreviations

  LiaScriptEdit

   LiaScript^[40] is a Markdown dialect that was designed to create
   interactive educational content. It is implemented in Elm and Typescript
   and adds additional syntax elements to define features like:

     * Animations
     * Automatic speech output
     * Mathematical formulas (using KaTeX)
     * ASCII art diagrams
     * Various types of quizzes and surveys
     * JavaScript is natively supported and can be attached to various
       elements, this way code fragments can be made executable and editable

ExamplesEdit

Text using Markdown syntax                                                    Corresponding HTML produced by a Markdown processor                                    Text viewed in a  
                                                                                                                                                                     browser           
Heading                                                                       <h1>Heading</h1>                                                                       Heading           
=======                                                                                                                                                              Sub-heading       
                                                                              <h2>Sub-heading</h2>                                                                   Alternative       
Sub-heading                                                                                                                                                          heading           
-----------                                                                   <h1>Alternative heading</h1>                                                                             
                                                                                                                                                                     Paragraphs are    
# Alternative heading #                                                       <p>Paragraphs are separated                                                            separated by a    
                                                                              by a blank line.</p>                                                                   blank line.       
Paragraphs are separated                                                                                                                                                               
by a blank line.                                                              <p>Two spaces at the end of a line<br />                                               Two spaces at the 
                                                                              produce a line break.</p>                                                              end of a line     
Two spaces at the end of a line                                                                                                                                      produce a line    
produce a line break.                                                                                                                                                break.            
                                                                                                                                                                     Text attributes   
Text attributes _italic_, **bold**, `monospace`.                              <p>Text attributes <em>italic</em>, <strong>bold</strong>, <code>monospace</code>.</p> italic, bold,     
                                                                                                                                                                     monospace.        
Horizontal rule:                                                              <p>Horizontal rule:</p>                                                                                  
                                                                                                                                                                     Horizontal rule:  
---                                                                           <hr />                                                                                                   
                                                                                                                                                                       -------------   
                                                                              <p>Bullet lists nested within numbered list:</p>                                                         
                                                                                                                                                                     Bullet lists      
Bullet lists nested within numbered list:                                     <ol>                                                                                   nested within     
                                                                                <li>fruits <ul>                                                                      numbered list:    
  1. fruits                                                                         <li>apple</li>                                                                    1. fruits        
     * apple                                                                        <li>banana</li>                                                                         * apple    
     * banana                                                                   </ul></li>                                                                                  * banana   
  2. vegetables                                                                 <li>vegetables <ul>                                                                   2. vegetables    
     - carrot                                                                       <li>carrot</li>                                                                         * carrot   
     - broccoli                                                                     <li>broccoli</li>                                                                       * broccoli
                                                                                </ul></li>                                                                           
                                                                              </ol>                                                                                  
                                                                                                                                                                     A link.           
                                                                                                                                                                                       
                                                                                                                                                                     Image             
A [link](http://example.com).                                                 <p>A <a href="http://example.com">link</a>.</p>                                                          
                                                                                                                                                                       Markdown uses   
![Image](Icon-pictures.png "icon")                                            <p><img alt="Image" title="icon" src="Icon-pictures.png" /></p>                          email-style     
                                                                                                                                                                       characters for  
> Markdown uses email-style                                                   <blockquote>                                                                             blockquoting.   
characters for blockquoting.                                                  <p>Markdown uses email-style characters for blockquoting.</p>                                            
>                                                                             <p>Multiple paragraphs need to be prepended individually.</p>                            Multiple        
> Multiple paragraphs need to be prepended individually.                      </blockquote>                                                                            paragraphs need 
                                                                                                                                                                       to be prepended 
Most inline <abbr title="Hypertext Markup Language">HTML</abbr> is supported. <p>Most inline <abbr title="Hypertext Markup Language">HTML</abbr> is supported.</p>     individually.   
                                                                                                                                                                                       
                                                                                                                                                                     Most inline HTML  
                                                                                                                                                                     is supported.     

ImplementationsEdit

   Implementations of Markdown are available for over a dozen programming
   languages; in addition, many platforms and frameworks support
   Markdown.^[41] For example, Markdown plugins exist for every major
   blogging platform.^[42]

   While Markdown is a minimal markup language and is read and edited with a
   normal text editor, there are specially designed editors that preview the
   files with styles, which are available for all major platforms. Many
   general purpose text and code editors have syntax highlighting plugins for
   Markdown built into them or available as optional download. Editors may
   feature a side-by-side preview window or render the code directly in a
   WYSIWYG fashion.

     * JotterPad – an online WYSIWYG editor that supports Markdown and
       fountain^[43]
     * Doxygen – a source code documentation generator which supports
       Markdown with extra features^[44]
     * RStudio – an IDE for R. It provides a C++ wrapper function for a
       markdown variant called sundown^[45]
     * GitHub Flavored Markdown (GFM) ignores underscores in words, and adds
       syntax highlighting, task lists,^[46] and tables^[26]
     * RMarkdown^[47]
     * Nextcloud Notes - the default app for taking notes on the Nextcloud
       platform supports formatting using Markdown^[48]

See alsoEdit

     * Comparison of document markup languages
     * Comparison of documentation generators
     * Lightweight markup language
     * Wiki markup

NotesEdit

    1. ^ technically HTML description lists

ReferencesEdit

   Link: mw-deduplicated-inline-style
    1. ^
       Link: mw-deduplicated-inline-style
       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.
    2. ^ ^a ^b ^c
       Link: mw-deduplicated-inline-style
       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.
    3. ^ ^a ^b
       Link: mw-deduplicated-inline-style
       Swartz, Aaron (2004-03-19). "Markdown". Aaron Swartz: The Weblog.
    4. ^ ^a ^b
       Link: mw-deduplicated-inline-style
       Gruber, John. "Markdown". Daring Fireball. Archived from the original
       on 2004-04-02. Retrieved 2014-04-25.
    5. ^ ^a ^b ^c Markdown 1.0.1 readme source code
       Link: mw-deduplicated-inline-style
       "Daring Fireball – Markdown". 2004-12-17. Archived from the original
       on 2004-04-02.
    6. ^
       Link: mw-deduplicated-inline-style
       "Markdown: License". Daring Fireball. Retrieved 2014-04-25.
    7. ^ ^a ^b
       Link: mw-deduplicated-inline-style
       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.
    8. ^
       Link: mw-deduplicated-inline-style
       "RMarkdown Reference site".
    9. ^ ^a ^b ^c Markdown Syntax
       Link: mw-deduplicated-inline-style
       "Daring Fireball – Markdown – Syntax". 2013-06-13. Readability,
       however, is emphasized above all else. A Markdown-formatted document
       should be publishable as-is, as plain text, without looking like it’s
       been marked up with tags or formatting instructions. While Markdown’s
       syntax has been influenced by several existing text-to-HTML filters —
       including Setext, atx, Textile, reStructuredText, Grutatext, and
       EtText — the single biggest source of inspiration for Markdown’s
       syntax is the format of plain text email.
   10. ^
       Link: mw-deduplicated-inline-style
       "Daring Fireball: Introducing Markdown". daringfireball.net. Retrieved
       2020-09-23.
   11. ^ ^a ^b
       Link: mw-deduplicated-inline-style
       Atwood, Jeff (2012-10-25). "The Future of Markdown". CodingHorror.com.
       Retrieved 2014-04-25.
   12. ^
       Link: mw-deduplicated-inline-style
       "Markdown Syntax Documentation". Daring Fireball.
   13. ^
       Link: mw-deduplicated-inline-style
       "GitHub Flavored Markdown Spec – Why is a spec needed?".
       github.github.com.
   14. ^
       Link: mw-deduplicated-inline-style
       "Babelmark 2 – Compare markdown implementations". Johnmacfarlane.net.
       Retrieved 2014-04-25.
   15. ^
       Link: mw-deduplicated-inline-style
       "Babelmark 3 – Compare Markdown Implementations". github.io. Retrieved
       2017-12-10.
   16. ^
       Link: mw-deduplicated-inline-style
       "Babelmark 2 – FAQ". Johnmacfarlane.net. Retrieved 2014-04-25.
   17. ^
       Link: mw-deduplicated-inline-style
       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.
   18. ^
       Link: mw-deduplicated-inline-style
       "UTI of a CommonMark document". 12 April 2017.
   19. ^
       Link: mw-deduplicated-inline-style
       "CommonMark specification".
   20. ^
       Link: mw-deduplicated-inline-style
       "Markdown Community Page". GitHub. Retrieved 2014-04-25.
   21. ^
       Link: mw-deduplicated-inline-style
       "Standard Markdown is now Common Markdown". Jeff Atwood. 4 September
       2014. Retrieved 2014-10-07.
   22. ^
       Link: mw-deduplicated-inline-style
       "Standard Markdown Becomes Common Markdown then CommonMark". InfoQ.
       Retrieved 2014-10-07.
   23. ^
       Link: mw-deduplicated-inline-style
       "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.
   24. ^
       Link: mw-deduplicated-inline-style
       "Issues we MUST resolve before 1.0 release [6 remaining]". CommonMark
       Discussion. 2015-07-26. Retrieved 2020-10-02.
   25. ^
       Link: mw-deduplicated-inline-style
       "Markdown Variants". IANA. 2016-03-28. Retrieved 2016-07-06.
   26. ^ ^a ^b ^c
       Link: mw-deduplicated-inline-style
       "GitHub Flavored Markdown Spec". GitHub. Retrieved 2020-06-11.
   27. ^
       Link: mw-deduplicated-inline-style
       "Reddit markdown primer. Or, how do you do all that fancy formatting
       in your comments, anyway?". Reddit.com. Retrieved 2013-03-29.
   28. ^
       Link: mw-deduplicated-inline-style
       "Markdown Editing Help". StackOverflow.com. Retrieved 2014-04-11.
   29. ^
       Link: mw-deduplicated-inline-style
       "SourceForge: Markdown Syntax Guide". SourceForge.net. Retrieved
       2013-05-10.
   30. ^
       Link: mw-deduplicated-inline-style
       "Use Markdown formatting in Teams". Microsoft. Retrieved 2022-01-13.
   31. ^
       Link: mw-deduplicated-inline-style
       "Markdown Text 101 (Chat Formatting: Bold, Italic, Underline)".
       discord.com. Archived from the original on June 26, 2020.
   32. ^
       Link: mw-deduplicated-inline-style
       "Markdown Syntax Documentation". daringfireball.net.
   33. ^
       Link: mw-deduplicated-inline-style
       "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.
   34. ^
       Link: mw-deduplicated-inline-style
       Tom Preston-Werner. "GitHub Flavored Markdown Examples". GitHub.
       Retrieved 2021-04-02.
   35. ^
       Link: mw-deduplicated-inline-style
       "A formal spec for GitHub Flavored Markdown". GitHub Engineering. 14
       March 2017. Retrieved 16 Mar 2017.
   36. ^
       Link: mw-deduplicated-inline-style
       Fortin, Michel (2018). "PHP Markdown Extra". Michel Fortin website.
       Retrieved 2018-12-26.
   37. ^
       Link: mw-deduplicated-inline-style
       "Markdown editor for BUEditor". 4 December 2008.
   38. ^
       Link: mw-deduplicated-inline-style
       "Markdown for TYPO3 (markdown_content)". extensions.typo3.org.
   39. ^
       Link: mw-deduplicated-inline-style
       "PHP Markdown Extra". Michel Fortin.
   40. ^
       Link: mw-deduplicated-inline-style
       Dietrich, André. "LiaScript". liascript.github.io. Retrieved
       2022-01-17.
   41. ^
       Link: mw-deduplicated-inline-style
       "W3C Community Page of Markdown Implementations". W3C Markdown Wiki.
       Retrieved 24 March 2016.
   42. ^
       Link: mw-deduplicated-inline-style
       "Markdown THrowdown – What happens when FOSS software gets corporate
       backing". Ars Technica. 2014-10-05.
   43. ^
       Link: mw-deduplicated-inline-style
       "Why You Need a WYSIWYG Editor When Writing in Markdown and Fountain".
       JotterPad Blog. 2020-11-17. Retrieved 2020-12-06.
   44. ^
       Link: mw-deduplicated-inline-style
       "Doxygen Manual: Markdown support".
   45. ^
       Link: mw-deduplicated-inline-style
       Allaire, J.J.; e.a. (2015-06-30). "Markdown.cpp". GitHub project
       RStudio. Retrieved 2016-07-07.
   46. ^
       Link: mw-deduplicated-inline-style
       "Writing on GitHub". help.github.com. GitHub, Inc. Retrieved 9 July
       2014.
   47. ^
       Link: mw-deduplicated-inline-style
       R Markdown: The Definitive Guide.
   48. ^
       Link: mw-deduplicated-inline-style
       "Nextcloud Notes App". Nextcloud Apps. Retrieved 2022-02-18.

External linksEdit

     * Official website for original John Gruber markup
     * Markdown Guide: Tools – an independent source review of software that
       support Markdown
   Retrieved from
   "https://en.wikipedia.org/w/index.php?title=Markdown&oldid=1080038222"
   Last edited on 30 March 2022, at 00:13
   Wikipedia
     * This page was last edited on 30 March 2022, at 00:13 (UTC).
     * Content is available under CC BY-SA 3.0 unless otherwise noted.
     * Privacy policy
     * About Wikipedia
     * Disclaimers
     * Contact Wikipedia
     * Terms of Use
     * Desktop
     * Developers
     * Statistics
     * Cookie statement
