Markdown

Markdown
Файлын өргөтгөл .md, .markdown[1][2]
Интернэт файлын төрөл text/markdown[2]
Uniform Type Identifier (UTI) net.daringfireball.markdown
Хөгжүүлэгчид John Gruber and Aaron Swartz
Анхны хувилбар March 9, 2004 (18 years ago) (2004-03-09)[3][4]
Сүүлийн хувилбар
1.0.1

December 17, 2004 (17 years ago) (2004-12-17)[5]
Форматын төрөл Open file format[6]
Extended to pandoc, MultiMarkdown, Markdown Extra, CommonMark,[7] RMarkdown[8]
Вэб хуудас daringfireball.net/projects/markdown/

Markdown бол энгийн текст засварлагч ашиглан форматлагдсан текст үүсгэхэд зориулагдсан хөнгөн тэмдэглэгээний хэл юм. Жон Грубер, Аарон Сварц нар 2004 онд Markdown-ыг эх кодын хэлбэрээр уншигчдын сонирхлыг татдаг тэмдэглэгээний хэл болгон бүтээжээ. Markdown нь блог хөтлөх, шуурхай мессеж бичих, онлайн форум, хамтран ажиллах программ хангамж, баримт бичгийн хуудас, унших файл зэрэгт өргөн хэрэглэгддэг.

Markdown [9] -ийн анхны хувилбар нь хоёрдмол утгатай байсан бөгөөд хариултгүй асуултуудыг үүсгэсэн нь хэрэгжилтийг санаатай болон санамсаргүй байдлаар эх хувилбараас нь салгахад хүргэсэн. 2014 онд Markdown-ын олон жилийн хувь нэмэр оруулагчид CommonMark -ийг гаргасан бөгөөд энэ нь Markdown-д зориулсан хоёрдмол утгагүй тодорхойлолт, туршилтын багц юм. [10]

Түүх[засварлах | кодоор засварлах]

Markdown нь өмнөх тэмдэглэгээний хэл болох setext (1992 он), Textile (2002 он) болон reStructuredText ( 2002 он) зэрэг цахим шуудан болон usenet нийтлэл дэх энгийн текстийг тэмдэглэхэд зориулагдсан урьд өмнө байсан конвенцуудаас санаа авсан.

2002 онд Аарон Сварц atx -ийг бүтээж, үүнийг "жинхэнэ бүтэцтэй текст формат" гэж нэрлэсэн. Дараа нь Сварц, Грубер нар 2004 онд [3] [4] хүмүүст "уншихад хялбар, бичихэд хялбар энгийн текст форматыг ашиглан бичих, сонголтоор XHTML (эсвэл HTML )." [5] формат руу хөрвүүлэх боломжтой Markdown хэлийг бүтээхээр хамтран ажилласан.

Дизайны гол зорилго нь унших боломжтой байх, хэл нь шошго, форматлах заавраар тэмдэглэгдсэн мэт харагдахгүйгээр, [9] Rich Text Format (RTF) гэх мэт "хүнд" тэмдэглэгээний хэлээр форматлагдсан текстээс ялгаатай нь унших боломжтой байх явдал байв. ), HTML, эсвэл бүр викитекст (тус бүр нь тодорхой мөр доторх шошго, форматлах заавартай байдаг нь текстийг уншихад хэцүү болгодог).

Gruber Markdown.pl Perl скриптийг бичсэн бөгөөд энэ нь тэмдэглэсэн текстийн оролтыг хүчинтэй, сайн хэлбэртэй XHTML эсвэл HTML болгон хувиргаж, өнцгийн хаалт ( <, > ) & ) харгалзах тэмдэгтийн нэгжийн лавлагаагаар сольдог. Энэ нь бие даасан скрипт, Blosxom эсвэл Movable Type -д зориулсан залгаас эсвэл BBEdit -д зориулсан текст шүүлтүүрийн үүргийг гүйцэтгэж болно. [5]

Өсөлт ба зөрүү[засварлах | кодоор засварлах]

Markdown-ийн алдар нэр хурдацтай өсөхийн хэрээр олон Markdown хэрэгжүүлэлтүүд гарч ирсэн бөгөөд үүнд ихэвчлэн хүснэгт, зүүлт тайлбар, тодорхойлолтын жагсаалт, [note 1] болон HTML блок доторх Markdown зэрэг нэмэлт функцууд шаардлагатай болсон.

Markdown нь зөвхөн албан бус тодорхойлолт [11] болон HTML рүү хөрвүүлэхэд зориулсан Perl хэрэгжүүлэлтээр тодорхойлогддог байсан тул тэдгээрийн заримынх нь зан байдал лавлагаа хэрэгжүүлэлтээс ялгаатай байв.

Үүний зэрэгцээ албан бус тодорхойлолтод хэд хэдэн ойлгомжгүй байдал анхаарал татсан. [12] Эдгээр асуудлууд нь Babelmark [13] [14] зэрэг янз бүрийн хэрэгжүүлэлтийн үр дүнг харьцуулах [15] зэрэг хэрэгслүүдийг бий болгоход түлхэц өгч, зарим Markdown задлагчийг стандартчилах оролдлого хийсэн. Гэсэн хэдий ч Грубер бүрэн стандартчилал нь алдаа болно гэж маргаж байна: "Өөр өөр сайтууд (мөн хүмүүс) өөр өөр хэрэгцээтэй байдаг. Хэн ч синтакс бүгдийг аз жаргалтай болгохгүй." [16]

Грубер Markdown-д нуман хаалт ашиглахаас зайлсхийж, тэдгээрийг хэрэгжүүлэхэд зориулагдсан өргөтгөлүүдэд албан бусаар нөөцөлсөн. [17]

Стандартчилал[засварлах | кодоор засварлах]

CommonMark
Файлын өргөтгөл .md, .markdown[1][2]
Интернэт файлын төрөл text/markdown[2]
Uniform Type Identifier (UTI) public.plain-text
Хөгжүүлэгчид John MacForlane open source
Анхны хувилбар есдүгээр сарын 25, 2014  (2004-03-09)
Сүүлийн хувилбар v0.30 зургаан сарын 19 2021
Форматын төрөл Open file format[6]
Extended to GitHub Flavored Markdown
Вэб хуудас spec.commonmark.org

2012 оноос эхлэн Жефф Атвуд, Жон МакФарлейн нарын хэсэг хүмүүс Атвудын стандартчиллын хүчин чармайлт гэж тодорхойлсон зүйлийг эхлүүлсэн. [10] Олон нийтийн вэбсайт нь одоо "зохиогчид болон хөгжүүлэгчид, түүнчлэн Markdown-ийн төрөл бүрийн хэрэгжилтийг хэрэгжүүлэгчдэд зориулсан төрөл бүрийн хэрэгсэл, нөөцийг баримтжуулах" зорилготой. [18] 2014 оны 9-р сард Грубер энэхүү хүчин чармайлтын нэрээр "Markdown"-ыг ашиглахыг эсэргүүцэж, түүнийг CommonMark болгон өөрчилсөн. [19] [20] CommonMark.org нь тодорхойлолт, лавлагааны хэрэгжилт, туршилтын багц болон "2019 онд эцэслэн боловсруулсан 1.0 үзүүлэлт болон туршилтын багцыг зарлахаар төлөвлөж байна" гэсэн хэд хэдэн хувилбарыг нийтэлсэн. [21] Гол асуудлууд шийдэгдээгүй хэвээр байгаа тул үүнээс хойш 1.0 техникийн хувилбар гараагүй байна. [22] Гэсэн хэдий ч дараах вэбсайтууд болон төслүүд CommonMark-ийг нэвтрүүлсэн: Discourse, GitHub, GitLab, Reddit, Qt, Stack Exchange ( Stack Overflow ) болон Swift .

2016 оны 3-р сард холбогдох мэдээллийн хоёр Интернэт RFC нийтлэгдсэн:

  •   introduced MIME type text/markdown.
  •   discussed and registered the variants MultiMarkdown, GitHub Flavored Markdown (GFM), Pandoc, and Markdown Extra among others.[23]

Хувилбарууд[засварлах | кодоор засварлах]

GitHub, [24] Bitbucket, Reddit, [25] Diaspora, Stack Exchange, [26] OpenStreetMap болон SourceForge [27] зэрэг вэб сайтууд нь Markdown-ын хувилбаруудыг ашиглан хэрэглэгчдийн хоорондын хэлэлцүүлгийг хөнгөвчилдөг. Markdown нь Microsoft Teams чат [28] болон Discord мессеж зэрэг олон төрлийн програм, үйлчилгээнд дэмжигддэг. [29]

Хэрэгжилтээс хамааран үндсэн доторлогоотой HTML хаягуудыг дэмжиж болно. [30] Налуу текстийг _underscores_ ба/эсвэл *single-asterisks* хийж болно. [31]

GitHub Flavored Markdown[засварлах | кодоор засварлах]

GitHub нь Markdown-ын өөрийн хувилбарыг 2009 оноос хойш ашиглаж ирсэн бөгөөд [32] жагсаалтын элементүүдийн доторх хүснэгт, блокийн агуулгыг үүрлэх, түүнчлэн GitHub-д хамаарах функцууд, тухайлбал амлалтуудыг автоматаар холбох, асуудал, хэрэглэгчийн нэр гэх мэт. 2017 онд GitHub нь CommonMark дээр суурилсан GitHub Flavored Markdown (GFM)-ийн албан ёсны тодорхойлолтыг гаргасан. [24] Энэ нь GFM-ийн өргөтгөл болгон нэмдэг хүснэгт, зураас, автомат холбоос, даалгаврын жагсаалтаас бусад тохиолдолд CommonMark-ын хатуу дээд багц юм. [33] GitHub мөн сайтууддаа ашигласан задлан шинжлэгчийг өөрчилсөн тул зарим баримт бичгийг өөрчлөх шаардлагатай болсон. Жишээлбэл, GFM одоо гарчгийг үүсгэдэг хэш тэмдгийг гарчгийн текстээс зай тэмдэгтээр тусгаарлахыг шаарддаг.

Markdown Extra[засварлах | кодоор засварлах]

Markdown Extra нь PHP (анх), Python болон Ruby дээр хэрэгжсэн Markdown дээр суурилсан хөнгөн хэлбэрийн тэмдэглэгээний хэл юм. [34] Энэ нь энгийн Markdown синтакс дээр байхгүй функцуудыг нэмдэг. Markdown Extra нь Drupal [35] болон TYPO3 зэрэг контентын удирдлагын зарим системд дэмжигддэг. [36]

Markdown Extra нь Markdown-д дараах боломжуудыг нэмдэг:

  • HTML блок доторх тэмдэглэгээ
  • ID/class шинж чанартай элементүүд
  • Кодын олон мөрийг хамарсан "хашаалагдсан кодын блокууд"
  • Хүснэгт [37]
  • Тодорхойлолтын жагсаалтууд
  • Зүүлт тайлбар
  • Товчлол

LiaScript[засварлах | кодоор засварлах]

LiaScript [38] нь интерактив боловсролын контент бүтээхэд зориулагдсан Markdown хувилбар юм. Энэ нь Elm болон Typescript дээр хөгжүүлэгдсэн бөгөөд дараах шинж чанаруудыг тодорхойлохын тулд нэмэлт синтаксийн элементүүдийг нэмдэг:

  • Анимацууд
  • Автомат ярианы гаралт
  • Математикийн томьёо ( KaTeX ашиглан)
  • ASCII урлагийн диаграммууд
  • Төрөл бүрийн асуулт хариулт, санал асуулга
  • JavaScript нь үндсэндээ дэмжигддэг бөгөөд янз бүрийн элементүүдэд хавсаргах боломжтой бөгөөд ингэснээр кодын хэсгүүдийг гүйцэтгэх, засварлах боломжтой болгодог.

Жишээ[засварлах | кодоор засварлах]

Markdown синтакс ашиглан текст Markdown нд харгалзах HTML Текст хөтөч дээр харагдах байдал
Heading
=======

Sub-heading
-----------

# Alternative heading #

Paragraphs are separated 
by a blank line.

Two spaces at the end of a line 
produce a line break.
<h1>Heading</h1>

<h2>Sub-heading</h2>

<h1>Alternative heading</h1>

<p>Paragraphs are separated
by a blank line.</p>

<p>Two spaces at the end of a line<br>
produce a line break.</p>
Heading
Sub-heading
Alternative heading
Paragraphs are separated by a blank line.


Two spaces at the end of a line

produce a line break.

Text attributes _italic_, **bold**, `monospace`.

Хэвтээ дүрэм:

---
Текстийн шинж чанарууд налуу, тод, monospace .


Хэвтээ дүрэм:


Дугаарлагдсан жагсаалтын дотор байрлуулсан сумны жагсаалт:


 1. жимс жимсгэнэ
   * алим
   * банан
 2. хүнсний ногоо
   - лууван
   - брокколи
<p>Дугаарлагдсан жагсаалтын дотор байрлуулсан сумны жагсаалт:
</p>

<ol>
 <li>жимс жимсгэнэ<ul>
   <li>алим</li>
   <li>банан</li>
 </ul></li>
 <li>хүнсний ногоо<ul>
   <li>лууван</li>
   <li>брокколи</li>
 </ul></li>
</ol>
Дугаарлагдсан жагсаалтын дотор байрлуулсан сумны жагсаалт:
  1. жимс жимсгэнэ
    • алим
    • банан
  2. хүнсний ногоо
    • лууван
    • брокколи
A [link](http://example.com).

![Image](Icon-pictures.png "icon")

> Markdown uses email-style
characters for blockquoting.
>
> Олон догол мөрийг тус тусад нь оруулах шаардлагатай.

Ихэнх inline <abbr title="Hypertext Markup Language">HTML</abbr> хаягуудыг дэмждэг.
Холбоос . Image</img>

Markdown нь иш татахдаа имэйл маягийн тэмдэгтүүдийг ашигладаг. Олон догол мөрийг тус тусад нь оруулах шаардлагатай.

Ихэнх inline HTML хаягуудыг дэмждэг.

Хөгжүүлэлт[засварлах | кодоор засварлах]

Markdown-ийн хөгжүүлэлтэд арав гаруй програмчлалын хэлийг ашиглах боломжтой; Үүнээс гадна олон платформууд болон фреймворкууд Markdown-ыг дэмждэг. [39] Жишээлбэл, Markdown блог хөтлөх томоохон платформ бүрт байдаг. [40]

Markdown нь хамгийн бага тэмдэглэгээний хэл бөгөөд ердийн текст засварлагчаар уншиж, засварладаг боловч бүх томоохон платформд ашиглах боломжтой загвар бүхий файлуудыг урьдчилан харах тусгайлан боловсруулсан редакторууд байдаг. Олон ерөнхий зориулалтын текст болон код засварлагчид Markdown-д зориулсан синтакс тодотгох плагинтай эсвэл нэмэлтээр татаж авах боломжтой байдаг. Засварлагч нар хажуугийн урьдчилан харах цонхыг харуулах эсвэл кодыг WYSIWYG маягаар шууд гаргаж болно.

  • JotterPad : Markdown дэмждэг онлайн WYSIWYG засварлагч [41]
  • Doxygen : Markdown-ийг нэмэлт функцээр дэмждэг эх кодын баримтжуулалт үүсгэгч [42]
  • RStudio : R -д зориулсан IDE . Энэ нь sundown [43] гэж нэрлэгддэг тэмдэглэгээний хувилбарт зориулсан C++ боодлын функцээр хангадаг.
  • GitHub Flavored Markdown (GFM) нь үгийн доогуур зураасыг үл тоомсорлож, синтакс тодотгол, ажлын жагсаалт, [44] болон хүснэгт [24] нэмдэг.
  • RMarkdown [45]
  • Nextcloud Notes : Nextcloud платформ дээр тэмдэглэл хөтлөх үндсэн програм нь Markdown [46] ашиглан форматлахыг дэмждэг.
  • Joplin : тэмдэглэгээний форматыг дэмждэг тэмдэглэл хөтлөх програм [47]
  • Simplenote [48]
  • Obsidian.md [49]

Ном зүй[засварлах | кодоор засварлах]

  1. Technically HTML description lists.
  1. 1.0 1.1 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. 2.0 2.1 2.2 2.3 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. 3.0 3.1 Swartz, Aaron (2004-03-19). "Markdown". Aaron Swartz: The Weblog.
  4. 4.0 4.1 Gruber, John. "Markdown". Daring Fireball. Archived from the original on 2004-03-11. Retrieved 2022-08-20.
  5. 5.0 5.1 5.2 Markdown 1.0.1 readme source code "Daring Fireball – Markdown". 2004-12-17. Archived from the original on 2004-04-02.
  6. 6.0 6.1 "Markdown: License". Daring Fireball. Retrieved 2014-04-25.
  7. 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. "RMarkdown Reference site".
  9. "Daring Fireball: Introducing Markdown".
  10. 10.0 10.1 "The Future of Markdown". Archived from the original on 2014-02-11. Retrieved 2022-09-04.
  11. "Markdown Syntax Documentation". Daring Fireball.
  12. "GitHub Flavored Markdown Spec – Why is a spec needed?".
  13. "Babelmark 2 – Compare markdown implementations".
  14. "Babelmark 3 – Compare Markdown Implementations".
  15. "Babelmark 2 – FAQ".
  16. @ (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. {{cite web}}: Cite has empty unknown parameter: |dead-url= (help)CS1 maint: numeric names: authors list (link) Missing or empty |user= (help); Missing or empty |number= (help)
  17. Gruber, John (19 May 2022). "Markdoc". I love their syntax extensions — very true to the spirit of Markdown. They use curly braces for their extensions; I'm not sure I ever made this clear, publicly, but I avoided using curly braces in Markdown itself — even though they are very tempting characters — to unofficially reserve them for implementation-specific extensions. Markdoc's extensive use of curly braces for its syntax is exactly the sort of thing I was thinking about.
  18. "Markdown Community Page". GitHub.
  19. "Standard Markdown is now Common Markdown". Jeff Atwood.
  20. "Standard Markdown Becomes Common Markdown then CommonMark".
  21. "CommonMark".
  22. "Issues we MUST resolve before 1.0 release [6 remaining]".
  23. "Markdown Variants". IANA. 2016-03-28.
  24. 24.0 24.1 24.2 "GitHub Flavored Markdown Spec". GitHub.
  25. "Reddit markdown primer. Or, how do you do all that fancy formatting in your comments, anyway?". Reddit.com.
  26. "Markdown Editing Help". StackOverflow.com.
  27. "SourceForge: Markdown Syntax Guide". SourceForge.net.
  28. "Use Markdown formatting in Teams".
  29. "Markdown Text 101 (Chat Formatting: Bold, Italic, Underline)".
  30. "Markdown Syntax Documentation".
  31. "Basic Syntax: Italic".
  32. Tom Preston-Werner. "GitHub Flavored Markdown Examples". Retrieved 2021-04-02.
  33. "A formal spec for GitHub Flavored Markdown". Retrieved 16 Mar 2017.
  34. Fortin, Michel (2018). "PHP Markdown Extra".
  35. "Markdown editor for BUEditor". 4 December 2008.
  36. "Markdown for TYPO3 (markdown_content)".
  37. "PHP Markdown Extra".
  38. "LiaScript".
  39. "W3C Community Page of Markdown Implementations".
  40. "Markdown THrowdown – What happens when FOSS software gets corporate backing". 2014-10-05.
  41. "Why You Need a WYSIWYG Editor When Writing in Markdown and Fountain".
  42. "Doxygen Manual: Markdown support".
  43. "Markdown.cpp". GitHub project RStudio.
  44. "Writing on GitHub". GitHub, Inc.
  45. R Markdown: The Definitive Guide.
  46. "Nextcloud Notes * App".
  47. "Markdown Guide". Archived from the original on 2022-09-23. Retrieved 2022-09-04.
  48. "Help".
  49. "Obsidian".

Гадаад холбоосууд[засварлах | кодоор засварлах]

https://daringfireball.net/projects/markdown/ for original John Gruber markup