Markdown Cheat Sheet: składnia Markdown
Ostatnia aktualizacja
Nagłówki
Po znakach # wstaw spację. Liczba znaków ustala poziom, od 1 do 6.
| Element | Markdown | Wynik |
|---|---|---|
| Nagłówek 1 | # Page title | Nagłówek najwyższego poziomu, <h1> |
| Nagłówek 2 | ## Section | Nagłówek sekcji, <h2> |
| Nagłówek 3 | ### Subsection | Nagłówek podsekcji, <h3> |
| Nagłówki od 4 do 6 | #### Level 4
##### Level 5
###### Level 6 | <h4>, <h5> i <h6> |
| Nagłówek 1, wersja alternatywna | Page title
========== | <h1>, to samo co # Page title |
| Nagłówek 2, wersja alternatywna | Section
------- | <h2>, to samo co ## Section |
| Zamykające krzyżyki | ## Section ## | <h2>Section</h2>; końcowe znaki # są pomijane |
| Brak spacji | #Not a heading | Zwykły akapit. Spacja po # jest wymagana |
Pogrubienie, kursywa i przekreślenie
Gwiazdki działają wszędzie, nawet wewnątrz słowa. Podkreślniki działają tylko na granicach słów, więc snake_case zostaje bez zmian.
| Element | Markdown | Wynik |
|---|---|---|
| Pogrubienie | **bold text** | Pogrubienie, <strong>bold text</strong> |
| Pogrubienie, podkreślniki | __bold text__ | Pogrubienie, to samo co wyżej |
| Kursywa | *italic text* | Kursywa, <em>italic text</em> |
| Kursywa, podkreślniki | _italic text_ | Kursywa, to samo co wyżej |
| Pogrubienie i kursywa | ***bold and italic*** | <em><strong>bold and italic</strong></em> |
| Pogrubienie wewnątrz słowa | un**believ**able | Pogrubiony jest tylko środek słowa |
| Podkreślniki w słowie | snake_case_name | Zwykły tekst, bez kursywy |
| Przekreślenie (GFM) | ~~no longer true~~ | Przekreślony tekst, <del>no longer true</del> |
| Podkreślenie | <ins>underlined</ins> | Podkreślony tekst. Markdown nie ma składni podkreślenia, więc to jest HTML |
| Wyróżnienie kolorem | <mark>highlighted</mark> | Wyróżniony tekst tam, gdzie strona pozwala na znacznik <mark>. Markdown nie ma składni wyróżniania |
Łamanie wierszy i akapity
Jednokrotne naciśnięcie Enter w akapicie nie zaczyna nowej linii w wyniku. Zamiast tego użyj jednego z poniższych sposobów.
| Element | Markdown | Wynik |
|---|---|---|
| Nowy akapit | First paragraph.
Second paragraph. | Dwa akapity. Oddziela je pusta linia |
| Łamanie: dwie spacje | Roses are red,
Violets are blue. | Jeden akapit z <br> po red,. Pierwsza linia kończy się dwiema spacjami, których nie widać |
| Łamanie: ukośnik wsteczny | Roses are red,\
Violets are blue. | To samo <br>, ale z widocznym znacznikiem. Działa w CommonMark i na GitHubie |
| Łamanie: HTML | Roses are red,<br>Violets are blue. | To samo <br>. Działa też w komórce tabeli |
| Pojedynczy znak nowej linii | Roses are red,
Violets are blue. | Jedna linia: Roses are red, Violets are blue. Zgłoszenia i komentarze na GitHubie zachowują łamanie; pliki .md nie |
| Dodatkowe puste linie | One.
Two. | To samo co jedna pusta linia. Aby uzyskać więcej miejsca, wstaw <br> w osobnej linii |
Listy
Wcięcie zagnieżdżonego elementu powinno zrównać go z tekstem elementu powyżej: 2 spacje pod - , 3 spacje pod 1. .
| Element | Markdown | Wynik |
|---|---|---|
| Lista punktowana | - Apples
- Pears
- Plums | Lista punktowana, <ul> z trzema <li> |
| Inne punktory | * Apples
+ Pears | * i + również tworzą punktory. Zmiana znaku zaczyna nową listę |
| Lista numerowana | 1. Install
2. Configure
3. Run | Lista numerowana, <ol> |
| Leniwa numeracja | 1. Install
1. Configure
1. Run | Nadal numerowana 1, 2, 3. Liczy się tylko pierwszy numer |
| Start od wybranego numeru | 7. Seventh
8. Eighth | <ol start="7">, numeracja od 7 |
| Lista zagnieżdżona | - Fruit
- Apple
- Pear
- Vegetables | Lista wewnątrz pierwszego elementu |
| Zagnieżdżona, numerowana | 1. Download
- Windows
- macOS
2. Install | Punkty wewnątrz kroku 1, z wcięciem 3 spacji |
| Akapit w elemencie | - First item
More about the first item.
- Second item | Dwa akapity wewnątrz pierwszego elementu |
| Kod w elemencie | 1. Run this:
```bash
npm install
```
2. Start the app | Blok kodu wewnątrz kroku 1, wcięty do tekstu elementu |
Listy zadań (pola wyboru)
Rozszerzenie GitHub Flavored Markdown: element listy zaczynający się od [ ] lub [x] staje się polem wyboru.
| Element | Markdown | Wynik |
|---|---|---|
| Puste pole wyboru | - [ ] Write tests | Niezaznaczone pole wyboru |
| Zaznaczone pole wyboru | - [x] Write tests | Zaznaczone pole wyboru. [X] też działa |
| Lista kontrolna | - [x] Draft
- [ ] Review
- [ ] Publish | Jedno zaznaczone pole i dwa puste. W zgłoszeniach i pull requestach na GitHubie można je zaznaczać kliknięciem |
| Zagnieżdżone zadania | - [ ] Release
- [x] Tag the commit
- [ ] Write the notes | Dwa podzadania pod pierwszym polem |
| Brak spacji | - [] Write tests | Zwykły punkt z tekstem [] Write tests. W nawiasach musi być spacja albo x |
Linki
Tekst linku wpisujesz w nawiasy kwadratowe, a adres w nawiasy okrągłe tuż za nim, bez spacji pomiędzy.
| Element | Markdown | Wynik |
|---|---|---|
| Link w linii | [Coddy](https://coddy.tech) | <a href="https://coddy.tech">Coddy</a> |
| Link z tytułem | [Coddy](https://coddy.tech "Learn to code") | Ten sam link. Tytuł pojawia się jako podpowiedź po najechaniu kursorem |
| URL w nawiasach ostrych | <https://coddy.tech> | Sam adres URL jako link |
| Goły URL (GFM) | https://coddy.tech | Link na GitHubie i innych stronach GFM, które linkują też adresy www.. W ścisłym CommonMark zwykły tekst |
| Link e-mail | <hello@example.com> | Link mailto: |
| Link referencyjny | Read the [docs][1].
[1]: https://example.com/docs | docs prowadzi do adresu URL. Linia [1]: nie jest wyświetlana |
| Skrócona referencja | See [GitHub].
[GitHub]: https://github.com | GitHub prowadzi do adresu URL |
| Link względny | [Install guide](docs/install.md) | Link do pliku względem bieżącego. Na GitHubie otwiera plik w repozytorium |
| Link do nagłówka | [Jump to setup](#getting-started) | Przewija do ## Getting Started na tej samej stronie |
| Identyfikatory nagłówków | ## Getting Started! | Na GitHubie dostaje ID getting-started: małe litery, spacje zamieniają się w łączniki, a interpunkcja inna niż - i _ jest usuwana |
| Nagłówek w innym pliku | [Requirements](docs/install.md#requirements) | Otwiera plik w miejscu tego nagłówka |
| Spacje w adresie URL | [Report](my%20report.pdf) | Zapisz każdą spację jako %20 albo otocz adres URL nawiasami ostrymi: [Report](<my report.pdf>) |
| Otwarcie w nowej karcie | <a href="https://coddy.tech" target="_blank">Coddy</a> | Markdown nie ma na to składni. HTML działa tam, gdzie strona zachowuje atrybut target |
Obrazy
Obraz to link poprzedzony znakiem !. Tekst w nawiasach staje się tekstem alternatywnym, który czytniki ekranu odczytują na głos.
| Element | Markdown | Wynik |
|---|---|---|
| Obraz |  | <img src="cat.png" alt="A cat asleep on a sofa"> |
| Obraz z tytułem |  | Ten sam obraz z podpowiedzią po najechaniu kursorem |
| Obraz z adresu URL |  | Wczytuje obraz z internetu |
| Obraz jako link | [](https://coddy.tech) | Obraz, który po kliknięciu otwiera link |
| Obraz referencyjny | ![Logo][logo]
[logo]: images/logo.png | To samo co obraz w linii, z adresem URL zdefiniowanym raz poniżej |
| Rozmiar obrazu | <img src="logo.png" alt="Logo" width="200"> | Obraz o szerokości 200 pikseli. Zwykły Markdown nie ma składni rozmiaru, więc to znacznik HTML <img> |
| Wyśrodkowany obraz | <p align="center">
<img src="logo.png" alt="Logo" width="200">
</p> | Wyśrodkowany obraz, jak w wielu plikach README na GitHubie |
Kod i bloki kodu
Odwrotne apostrofy oznaczają kod w linii; ogrodzenie z trzech odwrotnych apostrofów oznacza blok. Nic wewnątrz kodu nie jest formatowane.
| Element | Markdown | Wynik |
|---|---|---|
| Kod w linii | Run `npm install` first. | npm install czcionką o stałej szerokości, jako <code> |
| Odwrotny apostrof wewnątrz kodu | ``Use `git` here`` | Kod Use `git` here. Otocz go większą liczbą odwrotnych apostrofów, niż zawiera |
| Blok kodu | ```
npm install
npm run dev
``` | Blok, <pre><code>, z zachowanymi podziałami linii |
| Podświetlanie składni | ```python
def greet(name):
return f"Hello, {name}"
``` | Blok Pythona z kolorowaną składnią. Popularne nazwy: js, ts, python, bash, json, html, css, sql |
| Ogrodzenie z tyld | ~~~js
console.log("hi");
~~~ | To samo co ogrodzenie z odwrotnych apostrofów |
| Kod z wcięciem | const total = 42; | Blok kodu utworzony wcięciem 4 spacji, po pustej linii |
| Blok diff | ```diff
- const x = 1;
+ const x = 2;
``` | Na GitHubie usunięte linie na czerwono, a dodane na zielono |
| Ogrodzenie wewnątrz bloku | ````markdown
```js
let a = 1;
```
```` | Blok, który pokazuje wewnętrzne ogrodzenie jako tekst. Zewnętrzne ogrodzenie potrzebuje więcej odwrotnych apostrofów niż wewnętrzne |
Tabele
Rozszerzenie GitHub Flavored Markdown. Druga linia, czyli wiersz separatora, zamienia pierwszą linię w nagłówek. Musi mieć tyle samo komórek co nagłówek, inaczej tabela nie powstanie.
| Element | Markdown | Wynik |
|---|---|---|
| Tabela | | Name | Role |
| ----- | ------ |
| Ada | Admin |
| Linus | Editor | | Tabela z wierszem nagłówka i dwoma wierszami |
| Wyrównanie kolumn | | Left | Center | Right |
| :--- | :----: | ----: |
| a | b | c | | Dwukropki ustalają wyrównanie: do lewej, do środka, do prawej |
| Bez zewnętrznych kresek | Name | Role
--- | ---
Ada | Admin | Ta sama tabela. Kreski pionowe na początku i końcu linii są opcjonalne |
| Szerokość kolumn | | a | b |
|---|---|
| 1 | 2 | | Szerokości wynikają z zawartości. Liczba łączników nie ma znaczenia, a kreski pionowe nie muszą być wyrównane |
| Formatowanie w komórkach | | Command | Does |
| --- | --- |
| `git status` | Shows **changed** files | | Kod, pogrubienie, linki i obrazy działają wewnątrz komórek |
| Kreska pionowa w komórce | | Operator | Meaning |
| --- | --- |
| `a \| b` | a or b | | Komórka pokazuje a | b. Escapuj kreskę jako \|, nawet wewnątrz kodu |
| Łamanie wiersza w komórce | | Step | Notes |
| --- | --- |
| 1 | First line<br>Second line | | Dwie linie w jednej komórce. Prawdziwy znak nowej linii zakończyłby wiersz |
| Scalone komórki | <td colspan="2">Both columns</td> | Tabele Markdown nie potrafią scalać komórek. Napisz tabelę w HTML z colspan lub rowspan |
Cytaty blokowe
Zacznij każdą linię od >. Cytat blokowy może zawierać dowolny inny Markdown.
| Element | Markdown | Wynik |
|---|---|---|
| Cytat blokowy | > Simple is better than complex. | Wcięty cytat, <blockquote> |
| Kilka akapitów | > First paragraph.
>
> Second paragraph. | Jeden cytat z dwoma akapitami. Linia z samym > utrzymuje je razem |
| Cytat zagnieżdżony | > The reply
>> The original message | Cytat wewnątrz cytatu |
| Inne elementy wewnątrz | > #### Note
> - Back up first
> - Then upgrade | Nagłówek i lista wewnątrz cytatu |
| Alert (GitHub) | > [!NOTE]
> Requires Node 20 or later. | Kolorowe pole Note na GitHubie. Pozostałe typy to [!TIP], [!IMPORTANT], [!WARNING] i [!CAUTION] |
Linie poziome
Trzy lub więcej łączników, gwiazdek albo podkreślników w osobnej linii rysuje linię przez całą stronę.
| Element | Markdown | Wynik |
|---|---|---|
| Linia | --- | Linia pozioma, <hr> |
| Inne formy | ***
___ | Dwie kolejne linie |
| Linia po tekście | Some text
--- | Akapit, a potem linia. Zachowaj pustą linię |
| Brak pustej linii | Some text
--- | Nagłówek 2. poziomu, a nie linia: --- pod linią tekstu ją podkreśla |
Przypisy
Obsługiwane na GitHubie, GitLabie i w wielu generatorach stron statycznych. Ścisły CommonMark nie ma przypisów.
| Element | Markdown | Wynik |
|---|---|---|
| Przypis | Markdown dates from 2004.[^1]
[^1]: John Gruber created it, with Aaron Swartz. | Indeks górny 1 z linkiem do przypisu, wyświetlonego na dole strony |
| Przypis nazwany | See the spec.[^spec]
[^spec]: https://spec.commonmark.org | Etykiety mogą być słowami, ale przypisy i tak są numerowane 1, 2, 3 w kolejności użycia |
| Gdzie go zdefiniować | [^1]: The text of the note. | Definicja może być w dowolnym miejscu pliku. Zawsze renderuje się na końcu |
Escapowanie znaków
Ukośnik wsteczny przed znakiem interpunkcyjnym wypisuje sam znak zamiast formatowania.
| Element | Markdown | Wynik |
|---|---|---|
| Dosłowne gwiazdki | \*not italic\* | Zwykły tekst z gwiazdkami: *not italic* |
| Dosłowny krzyżyk | \# Not a heading | Akapit, który zaczyna się od # |
| Liczba i kropka | 2024\. A good year. | Akapit, a nie lista zaczynająca się od 2024 |
| Dosłowne nawiasy | \[not a link\](page.md) | Nawiasy kwadratowe i okrągłe tak, jak wpisano |
| Dosłowny odwrotny apostrof | \` | Jeden odwrotny apostrof |
| Dosłowny ukośnik wsteczny | \\ | Jeden ukośnik wsteczny |
| Co można escapować | \ ` * _ {} [] () <> # + - . ! | | Dowolną interpunkcję ASCII. Ukośnik wsteczny przed literą lub cyfrą pozostaje ukośnikiem |
| Encje HTML | © 2026 & <div> | © 2026 & <div> jako tekst |
| Brak escapowania w kodzie | `*stars*` | Kod *stars* tak, jak wpisano. W kodzie ukośnik wsteczny jest zwykłym znakiem |
HTML w Markdownie
Większość rendererów przepuszcza HTML, więc znacznik załatwia to, czego nie da się zapisać składnią Markdown. GitHub usuwa niebezpieczny HTML, taki jak <script>, <style>, <iframe> i atrybuty style.
| Element | Markdown | Wynik |
|---|---|---|
| Klawisze | Press <kbd>Ctrl</kbd> + <kbd>C</kbd> | Ctrl i C narysowane jako klawisze |
| Indeks dolny i górny | H<sub>2</sub>O and x<sup>2</sup> | H₂O i x² |
| Sekcja zwijana | <details>
<summary>Show the answer</summary>
The answer is **42**.
</details> | Sekcja, która otwiera się po kliknięciu. Puste linie pozwalają wyrenderować Markdown w środku |
| Markdown w bloku HTML | <div>
**not bold**
</div> | **not bold** tak, jak wpisano. Markdown nie jest odczytywany w bloku HTML, dopóki pusta linia nie zakończy bloku |
| Kolorowy tekst | <span style="color: red">red</span> | Czerwony tekst na stronach, które pozwalają na style w linii. GitHub usuwa atrybut style |
Komentarze
Markdown nie ma składni komentarzy. Dwie sztuczki ukrywają tekst na wyrenderowanej stronie.
| Element | Markdown | Wynik |
|---|---|---|
| Ukryty komentarz | [//]: # (This line is never shown) | Nic. Linia jest definicją linku, której nie używa żaden link, więc nigdy nie trafia do HTML |
| Forma alternatywna | [comment]: <> (Also hidden) | Nic, dzięki tej samej sztuczce |
| Komentarz HTML | <!-- TODO: add screenshots --> | Nic na stronie, ale komentarz zostaje w źródle HTML |
| Komentarz wieloliniowy | <!--
This whole block
is hidden
--> | Nic na stronie |
| Umiejscowienie | Some text.
[//]: # (comment)
More text. | Dwa akapity. Przed linią komentarza musi być pusta linia, inaczej wyświetli się jako tekst |
GitHub Flavored Markdown i dodatki GitHuba
GitHub Flavored Markdown (GFM) to CommonMark z tabelami, listami zadań, przekreśleniem i linkami z gołych adresów URL. GitHub dodaje do tego jeszcze więcej.
| Funkcja | Markdown | Gdzie działa |
|---|---|---|
| Tabele | | a | b |
| --- | --- |
| 1 | 2 | | GFM: GitHub, GitLab i większość narzędzi do dokumentacji |
| Listy zadań | - [x] Done | GFM |
| Przekreślenie | ~~text~~ | GFM |
| Linki z gołych adresów URL | www.coddy.tech | GFM |
| Kod z językiem | ```js
let a = 1;
``` | CommonMark i GFM. Kolory zależą od strony |
| Przypisy | Text.[^1]
[^1]: Note. | GitHub i GitLab, choć nie ma tego w specyfikacji GFM |
| Emoji | :rocket: :tada: | GitHub i GitLab zamieniają skróty w emoji |
| Wzmianki | @octocat | GitHub: linkuje użytkownika i wysyła mu powiadomienie |
| Linki do zgłoszeń | #123 | GitHub: linkuje zgłoszenie lub pull request 123 w tym samym repozytorium |
| Diagramy | ```mermaid
graph LR
A --> B
``` | GitHub i GitLab rysują diagram Mermaid |
| Matematyka | $E = mc^2$
$$
\sum_{i=1}^{n} i
$$ | GitHub renderuje wzory LaTeX: w linii między znakami $ i jako blok między liniami $$ |
Cała składnia Markdown na jednej stronie, obok tego, w co się zamienia. Ten Markdown cheat sheet obejmuje podstawową składnię (nagłówki, wyróżnienia, łamanie wierszy, listy, linki, obrazy, kod, cytaty blokowe) oraz dodatki GitHub Flavored Markdown: tabele z wyrównaniem, listy zadań, przekreślenie, linki z gołych adresów URL i przypisy, a do tego escapowanie, HTML i komentarze.
Przykłady są zgodne z CommonMark i GitHub Flavored Markdown, czyli regułami, na których opierają się GitHub, GitLab i większość narzędzi do dokumentacji. Gdy jakaś strona zachowuje się inaczej, informuje o tym dany wiersz. Aby zobaczyć, jak dowolny przykład renderuje się podczas pisania, wklej go do edytora Markdown.
Markdown cheat sheet: najczęstsze pytania
Jak zrobić tabelę w Markdownie?
| Name | Role |, | --- | --- |, | Ada | Admin |. Dwukropki w wierszu separatora wyrównują kolumnę: :--- do lewej, :---: do środka, ---: do prawej. Tabele to funkcja GitHub Flavored Markdown, więc działają na GitHubie, GitLabie i w większości narzędzi do dokumentacji, ale nie w ścisłym CommonMark.Jak dodać nową linię w Markdownie?
\) albo napisz <br>. Aby zacząć nowy akapit, zostaw pustą linię. Wyjątkiem są zgłoszenia i komentarze na GitHubie: tam pojedynczy znak nowej linii już działa jak łamanie wiersza.Jak napisać komentarz w Markdownie?
[//]: # (your comment) w osobnej linii, poprzedzonej pustą linią, to definicja linku, której nic nie używa, więc nigdy nie trafia na stronę ani do HTML. Komentarz HTML, <!-- your comment -->, też jest ukryty na stronie, ale zostaje w źródle HTML, gdzie może go przeczytać każdy, kto podejrzy źródło.Jak zrobić blok kodu w Markdownie?
```python, aby włączyć podświetlanie składni. Kod wewnątrz zdania otocz pojedynczymi odwrotnymi apostrofami: `npm install`.Jak dodać pole wyboru (checkbox) w Markdownie?
[ ] dla pustego pola albo [x] dla zaznaczonego: - [ ] Review lub - [x] Draft. Zachowaj spację w pustych nawiasach. Pola wyboru są częścią GitHub Flavored Markdown, a w zgłoszeniach i pull requestach na GitHubie można je zaznaczać kliknięciem.Jak zmienić rozmiar obrazu w Markdownie?
 zawsze pokazuje obraz w jego własnym rozmiarze. Zamiast tego użyj znacznika HTML, np. <img src="image.png" alt="alt text" width="300">, który akceptuje GitHub i większość rendererów. Ustaw tylko szerokość albo tylko wysokość, aby zachować proporcje.Jak zrobić link do nagłówka w Markdownie?
#: [Setup](#getting-started) przenosi do ## Getting Started. GitHub tworzy ID z tekstu nagłówka małymi literami, zamieniając spacje na łączniki i usuwając interpunkcję inną niż łączniki i podkreślniki. Dla nagłówka w innym pliku wpisz ID po nazwie pliku: [Setup](docs/install.md#getting-started).Czym jest plik .md?
.md i .markdown, a README.md to plik, który GitHub pokazuje na stronie głównej repozytorium. Otworzy go każdy edytor tekstu; GitHub, strony z dokumentacją i przeglądarki Markdown renderują go jako sformatowany tekst. Aby zobaczyć plik wyrenderowany podczas edycji, wklej go do edytora Markdown.