Markdown

Markdown
Markdown-mark
Markdown-mark
Vznikl v25. března 2004[1]
VývojářJohn Gruber
Poslední verze1.0.1 (17. prosince 2004)
LicenceAno[2]
Webdaringfireball.net/projects/markdown

Markdown je odlehčený značkovací jazyk, který slouží pro úpravu prostého textu a jeho následný převod na formátovaný text publikovatelný na webu, zejména ve formátu HTML. Umožňuje pomocí jednoduchých formátovacích značek vyznačit v textu nadpisy a seznamy, doplnit odkazy, obrázky atd. Cílem jazyka je, aby byl text dobře čitelný a publikovatelný i v původním formátu prostého textu.[1]

Markdown vytvořil John Gruber s pomocí Aarona Swartze,[3] hlavní inspirací byl formát prostého textu e-mailu.[1]

Historie a použití

Jazyk byl původně vytvořen v roce 2004 Johnem Gruberem, jako jednoduchý značkovací jazyk pro převod textu do validního XHTML nebo HTML. Jazyk byl původně implementován v programovacím jazyku Perl, ale postupně se rozšířil a je znám a používán i v jiných jazycích jako jsou například PHP nebo Python. Používá se i u popisu dokumentace nebo jiných poznámek na GitHubu (přípona .md; implicitním popisem každého projektu na Gitu je obsah souboru README.md).

Markdown je velice oblíbeným nástrojem pro blogování, protože umožňuje velice jednoduše vytvářet odkazy a vkládat obrázky. Některé redakční systémy umožňují vkládat obsah právě pomocí Markdown. Lze ho použít také jako nástroj pro psaní knih nebo poznámek. Protože se jedná o prostý text je možné pro vytváření dokumentů použít libovolný editor.

Vlastnosti

Jazyk je jednoduchý, přehledný a jeho syntax se chová očekávaně. Jazyk umožňuje kombinovat text a (X)HTML, takže tam, kde není určitá vlastnost implementovaná, může uživatel použít přímý zápis v HTML.

Porovnání s WYSIWYG editory – velká část z nich pro online editaci HTML jednotlivá formátování implementují vkládáním značek <span> s inline CSS stylováním navzájem do sebe a při zrušení formátování mají problémy při odstranění prázdných „spanů“, čímž ve výsledném kódu vzniká balast, který nabírá velikost a přispívá k nečitelnosti a potenciálně dalším problémům. Tyto přebytky HTML mají tendenci narůstat s každou editací. V Markdownu toto nehrozí, protože HTML se generuje ze zdrojového textu/kódu. Rozhraní WYSIWYG editorů navíc běžné uživatele (včetně těch bez estetického cítění) láká k přehnané „výtvarné realizaci“, kdy své statě nadměrně formátují a kombinují více formátů dohromady, přehnaně vybarvují text nekonzistentními barvami, které např. nemusejí korespondovat s korporátní identitou nebo barevnou koncepcí stránky. Empiricky vzato, práce s Markdownem tyto problémy nemívá.

Markdown také rozpozná a automaticky vkládá HTML entity; zvládne i inteligentně vložit typografické uvozovky a delší pomlčky (ze dvou nebo tří pomlček v ASCII).

Na rozdíl od HTML má Markdown vyšší čitelnost lidským okem a menší pravděpodobnost udělání chyby např. opomenutím nějaké koncové značky apod.

Rozšíření

Existuje rozšířená syntaxe, které implementuje vlastnosti, které původní Markdown nezahrnoval. Obecně se tato rozšíření označují jako Markdown Extra. Ten umožňuje oproti původnímu Markdown například:

  • Vkládat Markdown do HTML bloků (původní Markdown umožňoval pouze vkládání HTML bloků do Markdown-u).
  • Elementy s id/class atributy
  • Definiční seznamy
  • Poznámky pod čarou
  • Tabulky
  • KaTeX pro vzorce
  • mermaid pro UML, sekvenční diagramy, vývojové diagramy, Ganttovy diagramy
  • …atd.

Implementace

Původní implementace je pro programovací jazyk Perl. Nejznámější jsou tyto implementace:

Příklad užití

Zdrojový text ve formátu jazyka MarkdownZdrojový text ve formátu HTMLText zobrazený v prohlížeči
Hlavní nadpis
=============

* toto
* je
* seznam

Menší podnadpis
---------------

1. toto
2. se čísluje
1. ale na číslech nezáleží

# Hlavní nadpis jinak

## Menší nadpis jinak

### Ještě menší nadpis jinak

Odstavce se oddělují
prázdným řádkem. Na délce řádků nezáleží

Udělám nový odstavec. Ještě odkaz na 
[dokumentaci](http://daringfireball.net/projects/markdown/syntax)

Horizontální oddělovač:
---

Vlastnosti textu _kurzíva_, *kurzíva*, __tučně__, **tučně**, `neproporcionální`.

<p>Dle libosti ''můžu používat'' html</p>

<h1>Hlavní nadpis</h1>

<ul>
<li>toto</li>
<li>je</li>
<li>seznam</li>
</ul>

<h2>Menší podnadpis</h2>

<ol>
<li>toto </li>
<li>se čísluje</li>
<li>ale na číslech nezáleží</li>
</ol>

<h1>Hlavní nadpis jinak</h1>

<h2>Menší nadpis jinak</h2>

<h3>Ještě menší nadpis jinak</h3>

<p>Odstavce se oddělují
prázdným řádkem. Na délce řádků nezáleží</p>

<p>Udělám nový odstavec. Ještě odkaz na 
<a href="http://daringfireball.net/projects/markdown/syntax">dokumentaci</a></p>

Horizontální oddělovač:
<hr>

Vlastnosti textu <i>kurzíva</i>, <i>kurzíva</i>, <b>tučně</b>, <b>tučně</b>, <code>neproporcionální</code>.

<p>Dle libosti <em>můžu používat</em> html</p>

Hlavní nadpis

  • toto
  • je
  • seznam

Menší podnadpis

  1. toto
  2. se čísluje
  3. ale na číslech nezáleží

Hlavní nadpis jinak

Menší nadpis jinak

Ještě menší nadpis jinak

Odstavce se oddělují prázdným řádkem. Na délce řádků nezáleží

Udělám nový odstavec. Ještě odkaz na dokumentaci

Horizontální oddělovač:


Vlastnosti textu kurzíva, kurzíva, tučně, tučně, neproporcionální.

Dle libosti můžu používat html

Nebo obrázek 
![Alt text](https://commons.wikimedia.org/wiki/File:Markdown-mark.svg)

<p>Nebo obrázek 
<img alt="Alt text" src="https://commons.wikimedia.org/wiki/File:Markdown-mark.svg" /></p>

Nebo obrázek Markdown-mark.svg

Konec řádku uprostřed odstavce      
se udělá  
pomocí několika mezer na konci řádku.

Toto je [hyperlink](https://cs.wikipedia.org/wiki/Hyperlink)

nebo <http://cs.wikipedia.org>

<p>Konec řádku uprostřed odstavce  <br />
se udělá<br />
pomocí několika mezer na konci řádku.</p>

<p>Toto je <a href="https://cs.wikipedia.org/wiki/Hyperlink">hyperlink</a></p>

<p>nebo <a href="http://cs.wikipedia.org">http://cs.wikipedia.org</a></p>

Konec řádku uprostřed odstavce
se udělá
pomocí několika mezer na konci řádku.

Toto je hyperlink

nebo http://cs.wikipedia.org

Odkazy

Reference

  1. a b c Daring Fireball: Markdown [online]. Web.archive.org [cit. 2014-04-25]. Dostupné v archivu pořízeném z originálu. (anglicky) 
  2. Markdown: License [online]. Daring Fireball [cit. 2014-04-25]. Dostupné online. (anglicky) 
  3. http://www.aaronsw.com/weblog/001189
  4. https://github.com/fletcher/MultiMarkdown
  5. http://michelf.ca/projects/php-markdown/
  6. Archivovaná kopie. pythonhosted.org [online]. [cit. 2014-05-27]. Dostupné v archivu pořízeném dne 2014-07-01. 

Související články

  • BlueGriffon - HTML editor, který umožňuje vkládat Markdown

Externí odkazy

Média použitá na této stránce

Markdown-mark.svg
Autor: Dustin Curtis, Licence: CC0
Markdown logo