This text is cheat sheet for Markdown in czech (my native language), for similar cheat sheet for english, you can look on main Markdown cheat-sheet or others github repos like this.
Tento text je shrnutí syntaxe pro jazyk Markdown, jelikož některé věci, které nepoužívám moc často pravidelně zapomínám, tak jsem si je sepsal. Nadpisy označené kurzívou nejsou součástí základní definice Markdownu a mohou tedy na méně pokročilých platformách pro markdown zůstávat v původním tvaru. Bez toho, aby vytvořili požadovanou grafiku. Na závěr souboru jsou ještě zmíněná některá rozšíření, která do markdownu přidává rozšíření markdown preview enhanced, které je dostupné pro Atom VS Code.
TOC
Stejně jako html má i markdown šest úrovní nadpisů.
# Nadpis 1. úrovně
## Nadpis 2. úrovně
### Nadpis 3. úrovně
#### Nadpis 4. úrovně
##### Nadpis 5. úrovně
###### Nadpis 6. úrovně
Pro nadpis první a druhé úrovně je i alternativní zápis.
Nadpis 1. úrovně
=======
Nadpis 2. úrovně
-------
Markdown obsahuje čtyři druhy zvýraznění textu kurzívu, tečné písmo, přeškrtnuté písmo a blokové citace. Nemá však syntaxi pro písmo podtržené.
Je nutné, aby za znakem *
nebo _
nebyla mezera.
*první text kurzivou*
_druhý text kurzivou_
první text kurzivou druhý text kurzivou
Stejně jako u kurzivy je nutné, aby za znakem *
nebo _
nebyla mezera a je nutné aby oba znaky byli stejné.
**první text tučným písmem**
__druhý text tučným písmem__
první text tučným písmem druhý text tučným písmem
Přeškrtnutý text je možno v markdownu udělat pomocí párového tagu ~~
~~Přeškrtnutý text~~
Přeškrtnutý text
Blokové citace se vytváří pomocí znaku >
.
> Bloková citace
Bloková citace
Je také je možné je libovolně zanořovat.
> Bloková citace
> > Zanořená bloková citace
Bloková citace
Zanořená bloková citace
Seznamy jsou uspořádané množiny položek a je možné do sebe jednotlivé položky vnořovat pomocí odsazení jednotlivých položek.
- položka
- položka
1. položka
2. položka
- položka
- položka
- položka
- položka
- položka
- položka
- položka
Číslovaný seznam je možné vytvořit pomocí čísla, tečky a mezery.
1. první položka
2. druhá položka
3. třetí položka
- první položka
- druhá položka
- třetí položka
Je také možné použít libovolná čísla v libovolném pořadí a markdown zachová číslování.
1. první položka
1. druhá položka
123. třetí položka
1. čtvrtá položka
- první položka
- druhá položka
- třetí položka
- čtvrtá položka
Nečíslované seznamy je možné vytvářet pomocí znaků -
, +
, *
a následné mezery.
- položka
+ položka
* položka
- položka
- položka
- položka
Seznam úkolů je možné vytvořit stejným způsobem jako jakýkoliv jiný seznam, jen se za něj přidají hranaté závorky, mez kterými bude mezera pro nesplněnou položku a x
(bez ohledu na velikost) pro položku splněnou.
- [ ] nečíslovaná nesplněná položka
- [x] nečíslovaná splněná položka
1. [ ] číslovaná nesplněná položka
1. [X] číslovaná splněná položka
- nečíslovaná nesplněná položka
- nečíslovaná splněná položka
- číslovaná nesplněná položka
- číslovaná splněná položka
Tabulky je možné vytvářet pomocí |
, které oddělují jednotlivé sloupce a -
, které oddělují hlavičku tabulky od zbytku. Také je možné měnit zarovnání tabulky v oddělení hlavičky pomocí :
tak jak je to vidět v příkladu.
Hlavička | Tabulky | Příkladu |
---|---|---|
první sloupec | je zarovnaný | do leva |
druhý sloupec | má text zarovnaný | na střed |
třetí sloupec | je zarovnaný | v pravo |
Není však nutné držet přísné zarovnání, markdown si s tím i tak poradí.
Horší | Zarovnání | Také funguje |
---|---|---|
do tabulek je samozřejmě | možné vkládat |
i formátovaný text |
3 | 3 | 3 |
Na githubu popřípadě jiných stránkách je možné vkládat do textu odkazy na ostatní uživatele pomocí @nick
. Využívá se toho například diskuzích nebo při hlášení chyb.
Vytvoření tzv. detailu. Jedná se o text, který je nejprve skrytý a je ho možné kliknutím rozblit. Tato vlastnost není obsažena v jazyce markdown, je tedy nutné využít html.
<details>
<summary>Detail</summary>
Informace v detailu.
</details>
Detail
Informace v detailu.Odkazy je možné v markdownu tvořit pomocí kombinace []
obsahujících text, který se zobrazí a ()
obsahujících adresu.
[Odkaz na google](https://www.google.com)
Zároveň je možné možné k odkazům také vkládat poznámky, které se objeví po najetí kurzoru na odkaz. Poznámku je nutné dát do ""
za adresu.
[Duck duck go je taky super](https://duckduckgo.com "A nepersonalizuje data.")
Ještě je možnost použít návěští a mít skutečný odkaz kdekoliv dál. Pak se návěští dává do []
a při jeho pozdějším definování se adresa odděluje pomocí :
.
[Bing][1]
[Yahoo][Dokonce nezalezi na velikosti pismen ani mezerach]
Jakákoliv text meztím.
[1]: https://www.bing.com
[Dokonce Nezalezi Na Velikosti Pismen Ani Mezerach]: https://consent.yahoo.com
V markdownu není funkcionalita pro generování obsahu, je však možné využít odkazování se části souboru. Část na kterou je možné odkazovat se vytvoří pomocí
<a name="links"></a>
Na tuto část je možné se následně odkazovat pomocí běžného odkazu [Odkazy](#links)
, což vytvoží běžný odkaz viz Odkazy.
Obrázky se vkládají podobně jako odkazy, je však nutné před []
dát !
.
Vkládání videí do markdownu není podporováno, je sice možné vložit ho pomocí kombinace odkazu a obrázku.
[![Obrázek se nenačetl](ADRESA_OBRAZKU)](ADRESA_VIDEA)
Je však mnohem spolehlivější vložit ho pomocí html.
<a href="http://www.youtube.com/watch?feature=player_embedded&v=ID_VIDEA_NA_YOUTUBE" target="_blank">
<img src="http://img.youtube.com/vi/ID_VIDEA_NA_YOUTUBE/0.jpg"
alt="Obrázek nenalezen" width="240" height="180" border="3" />
</a>
Stejně jako pro video ani pro audio nemá markdown pro audio podporu. Zde bych však doporučoval html kód
<audio controls="controls">
<source type="audio/mp3" src="filename.mp3"></source>
<source type="audio/ogg" src="filename.ogg"></source>
<p>Your browser does not support the audio element.</p>
</audio>
Markdown umožňuje snadné vkládání kódu programů pomocí ``
.
Pokud chceme mít kód vložený uprostřed řádky, pak mezi direktivu ``
se vloží příslušný kód.
`std::cout << "Hello world." << std::endl;`
Kód std::cout << "Hello world." << std::endl;
nám vypíše do standardního výstupu "Hello world." a odřádkuje.
Místo jednoduchého ``
je tato direktiva vložena třikrát. Navíc je možné nastavit jméno jazyku a tak zajistit správné zvýraznění.
```c++
#include
int main()
{
std::cout << "Hello world." << std::endl;
return 0;
}
```
#include <iostream>
int main()
{
std::cout << "Hello world." << std::endl;
return 0;
}
Markdown umí používat i základní sadu emotikonů a to pomocí kódu emotikonu a :
:smile:
😄
Seznam emotikonů je množné najít zde.
Toto rozšíření má mnoho funkcionalit, zde je popsáno pouze několik mnou využívaných. Kompletní dokumentace je na jejich stránce. Jedná se o rozšíření přidávající funkcionality jako komplexnější zápis tabulek, TOC, LaTeX, plantUML, vykonávání kódu, ... Také umožňuje vygenerování HTML, pdf, epub a dalších z tohoto vytvořeného markdownového souboru.
Jelikož ale není podporován, tak následující čísti budou obsahovat pouze příklady pomocí kódu, nikoliv samotnou vizualizaci.
Toto rozšíření umožňuje vytvořit obsah pomocí přidáním [TOC]
do libovolné části textu. Tento obsah je vygenerován z nadpisů obsažených v souboru.
Rozšíření umožňuje slučovat buňky v tabulkách. Je však tuto možnost nutné možnosti povolit v nastavení, pomocí povolení enableExtendedTableSyntax
. Buňky tabulek se následně dají spojovat pomocí ^
pro propojení buňky spodní s buňkou horní a pro horizontální propojení je možné využít >
nebo mezery.
Dolní index je možné napsat v tomto rozšíření pomocí ~dolní index~
například H~2~O
vypíše chemický vzorec vody.
Naproti tomu horní index je možné napsat pomocí ^horní index^
.
Rozšíření také umožňuje přidávat poznámky pod čarou. To je možné udělat pomocí kombinace [^1]
v textu, který se na poznámku odkazuje a následně [^1]: Text poznámky pod čarou
na konci textu. Číslo 1
označuje číslo poznámky od čarou.
Text je možné zvýraznit pomocí ==zvýrazněný text==
.
Matematika je zpřístupněna pomocí jazyka logiky jazyka LaTeX. Tedy drží i stejnou syntaxi. Možnosti matematického zápisu v tomto jazyce jsou velmi rozsáhlé a nejsou zde popsány, níže je jenom seznam několika užitečných znaků, které je možné využít. Reálná generování je zprostředkování pomocí knihoven KaTeX nebo MathJax.
Matematický zápis je možné zpřístupnit pomocí $matematický zápis$
pro zápisy řádkové nebo pomocí $$matematický zápis$$
pro zápisy blokové.
Znak | Zápis | Znak | Zápis |
---|---|---|---|
α | \alpha |
A | \Alpha |
β | \beta |
B | \Beta |
γ | \gamma |
Γ | \Gamma |
δ | \delta |
Δ | \Delta |
ε | \epsilon |
E | \Epsilon |
ζ | \zeta |
H | \Zeta |
η | \eta |
Θ | \Eta |
θ | \theta |
I | \Theta |
ι | \iota |
K | \Iota |
ϰ | \kappa |
Λ | \Kappa |
λ | \lambda |
M | \Lambda |
μ | \mu |
N | \Mu |
ν | \nu |
Ξ | \Nu |
ξ | \xi |
O | \Xi |
π | \pi |
Π | \Pi |
ρ | \rho |
P | \Rho |
σ | \sigma |
Σ | \Sigma |
τ | \tau |
T | \Tau |
υ | \upsilon |
Υ | \Upsilon |
ϕ | \phi |
Φ | \Phi |
χ | \chi |
X | \Chi |
ψ | \psi |
Ψ | \Psi |
ω | \omega |
Ω | \Omega |
Rozšíření umožňuje spouštět zdrojový kód, je však nutné to povolit v nastavení. Takovéto spouštění kódu je potenciální bezpečnostní riziko, jelikož by poznámky od jiného člověka mohli obsahovat škodlivý kód, který by se tímto způsobem spustil. Používat tuto funkcionalitu je tak vhodné pouze pokud otevíráte jenom vlastní markdownové soubory, a nebo markdownové soubory, lidí, kterým naprosto věříte.
Toto rozšíření umožňuje dále tvorbu prezentací, grafů v různých jazycích jako je PlantUML, FlowChart, WaveDown, ...