Získej kód: markdown.md
Markdown byl vytvořen Johnem Gruberem v roce 2004 jako značkovací jazyk, který lze snadno číst a psát a který je možné jednoduše převést do HTML (a dnes i do mnoha dalších formátů).
Implementace markdownu se v různých parserech (syntaktických analyzátorech, které markdown dále zpracovávají) mírně odlišuje. V této příručce se snažíme upozorňovat, kdy se jedná o obecnou vlastnost markdownu a kdy se jedná o specifickou vlastnost daného parseru.
Markdown je nadstavba HTML. To znamená, že každý HTML kód je zároveň validním kódem v Markdownu.
<!-- To znamená, že v Markdownu můžeme používat HTML elementy jako například
komentáře, které nebudou ovlivněny parserem Markdownu. Na druhou stranu to také
znamená, že pokud ve svém Markdown kódu vytvoříte HTML element, už v rámci
tohoto elementu nelze použít Markdown.
Markdown využívá i tato stránka, a tak by tento text, kdyby nebyl obalen v bloku
kódu (viz níže), jako validní HTML komentář vůbec nebyl vidět. -->
HTML elementy <h1>
až <h6>
vytvoříte jednoduše tak, že nadpisu předsadíte
takový počet křížků (#), jaký odpovídá úrovni nadpisu.
# Toto je <h1>
## Toto je <h2>
### Toto je <h3>
#### Toto je <h4>
##### Toto je <h5>
###### Toto je <h6>
Markdown obsahuje ještě dva další způsoby, jak vytvořit h1 a h2:
Toto je h1
==========
Toto je h2
----------
Pomocí markdownu můžete text jednoduše označit jako kurzívu či tučný text.
*Tento text je kurzívou;*
_Stejně jako tento._
**Tento text je tučně**
__Stejně jako tento.__
***Tento text je obojí***
**_Tak jako tento!_**
*__Nebo tento!__*
Ve verzi Markdownu od GitHubu máme k dispozici také přeškrtnutí:
~~Tento text je přeškrtnutý.~~
Odstavce tvoří jeden nebo více řádků textu, oddělených jedním nebo více prázdnými řádky.
Toto je odstavec. Zde jsem napsal odstavec a je to bezva!
Teď jsem v odstavci 2.
A tady jsem pořád v odstavci 2!
Ale tady už je odstavec 3.
Pokud byste chtěli vložit HTML element <br />
, můžete na konec odstavce napsat
dvě nebo více mezer a potom začít nový odstavec.
Tento odstavec končí dvěma mezerami.
Nad tímto odstavcem je <br />!
Blokové citace se dělají jednoduše uvozením řádku znakem >.
> Toto je bloková citace. Můžete dokonce
> manuálně rozdělit řádky, a před každý vložit >, nebo nechat vaše řádky
> jakkoli dlouhé, ať se zarovnají samy.
> Je to jedno, pokud vždy začínají symbolem `>`.
> Použít můžu i více než jednu úroveň
>> odsazení.
> Co vy na to?
Nečíslovaný seznam můžete jednoduše udělat pomocí hvězdiček, plusů nebo pomlček:
* Položka
* Položka
* Jiná položka
nebo
+ Položka
+ Položka
+ Další položka
nebo
- Položka
- Položka
- Další položka
Číslované seznamy se dělají pomocí číslice a .
.
1. Položka jedna
2. Položka dvě
3. Položka tři
<!-- Čísla ani nemusíte psát popořadě. Markdown je umí zobrazit správně, jenom
je třeba vždy překontrolovat, že číslování funguje správně. -->
1. Položka jedna
1. Položka dvě
1. Položka tři
<!-- (Toto zobrazí to samé, jako příklad nad tím.) -->
Můžete také tvořit podseznamy:
1. Položka jedna
2. Položka dvě
3. Položka tři
- Podpoložka
- Podpoložka
4. Položka čtyři
Vytvořit lze i zaškrtávací seznamy. Takto lze vytvořit seznam s HTML checkboxy. (Boxy níže bez 'x' jsou nezaškrtnuté checkboxy.)
- [ ] První úkol, který je třeba dokončit
- [ ] Druhý úkol na dodělání
Tento box bude zaškrtnutý
- [x] Tento úkol byl dokončen
Bloky kódu můžete označit tak, že řádek odsadíte čtyřmi mezerami nebo pomocí
tabu. Pro interpretaci kódu parser používá <code>
element.
Toto je kód
Stejně jako toto
Pro ještě hlubší odsazení můžete přidat další 4 mezery nebo další tab:
moje_pole.each do |i|
puts i
end
Jednořádkový kód můžete zabalit do dvou zpětných apostrofů (`) tak, jako kdybyste text normálně stylovali:
Honza neměl tušení, co dělá funkce `go_to()`!
V Markdownu od GitHubu, můžete použít speciální syntaxi pro kód:
```ruby
def neco
puts "Ahoj světe!"
end
```
Text výše nepotřebuje čtyřmezerové odsazení a parser navíc použije zvýraznění syntaxe pro zvolený jazyk.
<hr />
)Vodorovnou oddělovací čáru lze snadno přidat pomocí 3 nebo více hvězdiček (nebo pomlček), a to buď s mezerami mezi jednotlivými znaky, nebo bez nich.
***
---
- - -
****************
<!-- Jedna z nejlepších vlastností Markdownu je, jak snadno lze s jeho pomocí
vytvářet odkazy. Text odkazu, který chcete zobrazit vložte do [] a hned za něj
v kulatých závorkách () připojte url adresu. -->
[Klikni na mě!](http://test.com/)
<!-- V uvozovkách za url můžete přidat název odkazu -->
[Klikni na mě!](http://test.com/ "Odkaz na Test.com")
<!-- Relativní cesty fungují také -->
[Jdi na hudbu](/hudba/).
<!-- Markdown taktéž podporuje referenční odkazy -->
[Klikni na tento odkaz][link1] pro více informací!
[Taky zkontrolujte tento odkaz][neco], jestli tedy chcete.
[link1]: http://test.com/ "Cool!"
[neco]: http://neco.czz/ "Dobře!"
<!-- Titulek v tomto případě může být v jednoduchých uvozovkách, závorkách, nebo
zcela vynechaný. Reference může být kdekoliv ve vašem dokumentu a identifikátory
mohou být jakékoli, pokud jsou unikátní. -->
<!-- V markdownu existuje rovněž "implicitní pojmenování", které použije text
odkazu jako své id -->
[Toto][] je odkaz..
[toto]: http://totojelink.cz/
<!-- Ale tento způsob se obvykle nepoužívá. -->
Kombinace seznamů, odkazů a nadpisů využívají také některé parsery pro
generování obsahu Markdown souborů. Jako identifikátory slouží jména nadpisů
psané malými písmeny, které jsou uvozené křížkem (#
). Víceslovné nadpisy
bývají propojeny pomlčkou (-
), která někdy nahrazuje i speciální znaky. Jiné
speciální znaky mohou být vynechány.
- [Nadpis](#nadpis)
- [Víceslovný text](#víceslovný-text)
- [Odstavce](#odstavce)
- [Podkapitola <h3 />](#podkapitola-h3-)
V případě obsahů se v každém případě jedná o nadstavbu, která nemusí všude fungovat stejně.
<!-- Obrázky se vytváří stejně jako odkazy, ale s vykřičníkem na začátku -->
![Toto je atribut alt pro obrázek](http://imgur.com/myimage.jpg "Nepovinný titulek")
<!-- Reference fungují tak, jak bychom čekali -->
![Toto je atribut alt][mujobrazek]
[mujobrazek]: relativni/cesta/obrazek.jpg "a toto by byl titulek"
<http://stranka.cz/>
je stejné jako
[http://stranka.cz/](http://stranka.cz/)
Chci napsat *tento text obklopený hvězdičkami*, ale protože nechci, aby to bylo
kurzívou, tak hvězdičky vyescapuji `\`: \*tento text bude obklopený hvězdičkami\*.
<!-- V Markdownu od GitHubu můžete použít tag <kbd> k označení kláves na
počítači -->
Váš počítač přestal pracovat? Zkuste
<kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd>
Tabulky lze využít pouze v Markdownu od GitHubu a jejich syntax je trošku zvláštní. Kdybyste je chtěli použít, vytváří se takto:
| Sloupec1 | Sloupec2 | Sloupec3 |
| :----------- | :------: | ------------: |
| Vlevo zarovn.| Na střed | Vpravo zarovn.|
| blah | blah | blah |
<!-- nebo je jde taky zapsat takto: -->
Sloupec 1 | Sloupec2 | Sloupec3
:-- | :-: | --:
Že se to nedá číst? | No tak to takhle | radši nedělejte.
Pro usnadnění práce s Markdownem a s cílem sjednotit styl psaní jeho kódu vznikl
nástroj Markdownlint
. Tento nástroj je dostupný i jako plugin pro některé
editory kódu (IDE) a lze jej použít jako nástroj pro vytváření a ověřování
validity a čitelnosti Markdownu kódu.
Pro více informací doporučujeme oficiální článek o syntaxi od Johna Grubera zde a skvělý tahák od Adama Pritcharda zde.
Pozn. překladatele: Tento text vznikl jako překlad původního článku, který pochází z roku 2013 a kombinace původního českého překladu z roku 2015. Některé informace v tomto článku, zejména ty, týkající se specifických vlastností parserů markdownu tak již dnes mohou být zastaralé.
Aktuální informace o specifických vlastnostech různých implementací Markdownu můžete nalézt zde (v angličtině):
Máš připomínku, nebo si našel chybu? Otevři tiket v GitHub repozitáři, nebo pošli rovnou svojí úpravu!
Autor původní verze je Dan Turkel a na úpravách se podílelo 5 lidí.