Markdown
![]() Markdown-mark | |
Vznik | 25. března 2004[1] |
---|---|
Vývojář | John Gruber |
Poslední verze | 1.0.1 (17. prosince 2004) |
Licence | Ano[2] |
Web | daringfireball |
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í
[editovat | editovat zdroj]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
[editovat | editovat zdroj]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í
[editovat | editovat zdroj]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
[editovat | editovat zdroj]Původní implementace je pro programovací jazyk Perl. Nejznámější jsou tyto implementace:
- MultiMarkdown také pro jazyk Perl[4]
- PHP Markdown pro jazyk PHP[5]
- Python-Markdown pro jazyk Python[6]
Příklad užití
[editovat | editovat zdroj]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
Menší podnadpis
Hlavní nadpis jinakMenší nadpis jinakJeště menší nadpis jinakOdstavce 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ě, 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>
|
|
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 Toto je hyperlink |
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]- ↑ a b c Daring Fireball: Markdown [online]. Web.archive.org [cit. 2014-04-25]. Dostupné v archivu pořízeném z originálu.
- ↑ Markdown: License [online]. Daring Fireball [cit. 2014-04-25]. Dostupné online.
- ↑ http://www.aaronsw.com/weblog/001189
- ↑ https://github.com/fletcher/MultiMarkdown
- ↑ http://michelf.ca/projects/php-markdown/
- ↑ Archivovaná kopie. pythonhosted.org [online]. [cit. 2014-05-27]. Dostupné v archivu pořízeném dne 2014-07-01.
Související články
[editovat | editovat zdroj]- BlueGriffon - HTML editor, který umožňuje vkládat Markdown
Externí odkazy
[editovat | editovat zdroj]Obrázky, zvuky či videa k tématu Markdown na Wikimedia Commons
- https://stackedit.io/app – online editor/tester jazyka Markdown