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.
Markdown vytvořil John Gruber s pomocí Aarona Swartze,http://www.aaronsw.com/weblog/001189 hlavní inspirací byl formát prostého textu e-mailu.
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:
MultiMarkdown také pro jazyk Perlhttps://github.com/fletcher/MultiMarkdown PHP Markdown pro jazyk PHPhttp://michelf.ca/projects/php-markdown/ Python-Markdown pro jazyk Python
Příklad užití Zdrojový text ve formátu jazyka Markdown Zdrojový text ve formátu HTML Text 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 toto se čísluje 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 <p>Nebo obrázek <img alt="Alt text" src="https://commons.wikimedia.org/wiki/File:Markdown-mark.svg" /></p> Nebo obrázek Soubor: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
Související články BlueGriffon – HTML editor, který umožňuje vkládat Markdown
Externí odkazy
https://stackedit.io/app – online editor/tester jazyka Markdown
Kategorie:Značkovací jazyky