Markdown[9] is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber created Markdown in 2004 as an easy-to-read markup language.[9] Markdown is widely used for blogging, instant messaging, and large language models,[10] and also used elsewhere in online forums, collaborative software, documentation pages, and readme files.
The initial description of Markdown[11] 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.[12][better source needed]
Markdown was inspired by pre-existing conventions for marking up plain text in email and usenet posts,[13] such as the earlier markup languages setext (c. 1992), Textile (c. 2002), and reStructuredText (c. 2002).[9]
In 2002 Aaron Swartz created atx and referred to it as "the true structured text format". Gruber created the Markdown language in 2004 with Swartz as his "sounding board".[14] The goal of the language was to enable 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]
Another 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 "heavier" markup languages, such as Rich Text Format (RTF), HTML, or even wikitext (each of which have obvious in-line tags and formatting instructions which can make the text more difficult for humans to read).[citation needed]
Gruber wrote a Perl script, Markdown.pl, which converts marked-up text input to valid, well-formed XHTML or HTML, encoding angle brackets (<, >) and ampersands (&), which would be misinterpreted as special characters in those languages. 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]
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.[citation needed]
The behavior of some of these diverged from the reference implementation, as Markdown was only characterised by an informal specification[17] and a Perl implementation for conversion to HTML.[citation needed]
At the same time, a number of ambiguities in the informal specification had attracted attention.[18] These issues spurred the creation of tools such as Babelmark[19][20] to compare the output of various implementations,[21] and an effort by some developers of Markdown parsers for standardization. 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."[22]
Gruber avoided using curly braces in Markdown to unofficially reserve them for implementation-specific extensions.[23]
CommonMarkFilename extensions.md, .markdown[2]Internet media typetext/markdown; variant=CommonMark[7]Uniform Type Identifier (UTI)uncertain[24]UTI conformationpublic.plain-textDeveloped byJohn MacFarlane, open sourceInitial releaseOctober 25, 2014 (11 years ago) (2014-10-25)Latest releaseType of formatOpen file formatExtended fromMarkdownExtended toGitHub Flavored MarkdownWebsitecommonmark.org spec.commonmark.orgIn 2012, a group of people, including Jeff Atwood and John MacFarlane, launched what Atwood characterised as a standardization effort.[12]
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".[26]
In September 2014, Gruber objected to the usage of "Markdown" in the name of this effort and it was rebranded as "CommonMark".[13][27][28] 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".[29]
The finalized 1.0 spec has not been released, as major issues still remain unsolved.[30]
Nonetheless, the following websites and projects have adopted CommonMark: Codeberg, Discourse, GitHub, GitLab, Reddit, Qt, Stack Exchange (Stack Overflow), and Swift.
In March 2016, two relevant informational Internet RFCs were published:
Websites like Bitbucket, Diaspora, Discord,[32] GitHub,[33] OpenStreetMap, Reddit,[34] SourceForge[35] and Stack Exchange[36] use variants of Markdown to make discussions between users easier.
Depending on implementation, basic inline HTML tags may be supported.[37]
Italic text may be implemented by _underscores_ or *single-asterisks*.[38]
GitHub had been using its own variant of Markdown since as early as 2009,[39] which added 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.[33] It is a strict superset of CommonMark, following its specification exactly except for tables, strikethrough, autolinks and task lists, which GFM adds as extensions.[40]
Accordingly, GitHub also changed the parser used on their sites, 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 Extra is a lightweight markup language based on Markdown implemented in PHP (originally), Python and Ruby.[41] It adds the following features that are not available with regular Markdown:
Markdown Extra is supported in some content management systems such as Drupal,[43] Grav (CMS), Textpattern CMS[44] and TYPO3.[45]
Text using Markdown syntax Corresponding HTML produced by a Markdown processor Text viewed in a browserParagraphs are separated by a blank line.
Two spaces at the end of a line produce a line break.
Text attributes italic, bold, monospace.Horizontal rule:
Bullet lists nested within numbered list:Markdown uses email-style characters for blockquoting.
Multiple paragraphs need to be prepended individually.
Most inline HTML tags are supported.
Implementations of Markdown are available for over a dozen programming languages; in addition, many applications, platforms and frameworks support Markdown.[46] For example, Markdown plugins exist for every major blogging platform.[13]
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.
Program Platform(s) License Source code editor Shows images View(s) Additional features Markdown.UWP Windows 10 ≥ version 10240.0[47] ? syntax highlighting; Search & Replace[47](also with wildcards and regular expressions[48]; no column number shown) loaded from HTTP source code editor, live HTML preview optionally concurrently [47] auto-detect file encoding (Including GB1213 & BIG5) [47] MarkText (version 0.17.1) Windows: IA-32, x86-64, Linux:x86-64, macOS:ARM64,x86-64 [49][50] open source[51], MIT[52] syntax highlighting; changeable font size [53], line number only every 10th line, no line column from HTTP table of contents[54](generated from headings), either(not concurrently) WYSIWYG realtime preview[55] or source code[56] supports CommonMark spec, GitHub Flavored Markdown spec [55] Scratch (version 0.7.1) macOS ≥ 10.15, Windows 10/11:x64, Linux(Ubuntu 22.04+):AMD64 .deb, .AppImage, .rpm[57] open source no syntax highlighting can't load images originally from HTTP, adds local file system images with prefix "http://asset.localhost/" into source code WYSIWYG [58] or(not concurrently) source code editor Edit with AI, Git integration [58]; change/add:text style, heading(type), list, blockquote, code, horizontal rule link, image, table in "formatted view"(preview)
Link nội dung: https://www.sachhayonline.com/mark-down-a57257.html