Przejdź do treści

Ściągawka Markdown

Markdown to zbiór konwencji pisania sformatowanego tekstu w zwykłym pliku, a jego atrakcyjność polega na tym, że źródło pozostaje czytelne nawet gdy nic go nie renderuje. Poniższa składnia jest pogrupowana według tego, co próbujesz zrobić, a każdy wiersz pokazuje HTML, który faktycznie produkuje.

Te fragmenty HTML nie są wpisywane ręcznie. Każdy z nich to rzeczywiste wyjście konwertera Markdown tego serwisu, porównane z tabelą przez zestaw testów przy każdej kompilacji — więc jeśli wiersz i narzędzie byłyby niezgodne, kompilacja by się nie powiodła, zamiast że strona cię oszukuje.

Dialekt to CommonMark plus rozszerzenia GitHub, które są niemal uniwersalne: tabele, listy zadań i przekreślenie. Przypisy, listy definicji i dyrektywy są celowo nieobecne, ponieważ dokumentowanie składni, która następnie nic nie robi w konwerterze jeden klik dalej, jest gorsze niż jej pominięcie.

Podkreślenie i kod inline

9

Składnia Inline pracuje wewnątrz akapitów, nagłówków, elementów listy i komórek tabeli.

SkładniaCzego to dotyczyHTML wyprodukowany
*italic*Kursywa<p><em>italic</em></p>
_italic_Kursywa, alternatywna formaIgnorowane wewnątrz słowa, więc snake_case się utrzymuje.<p><em>italic</em></p>
**bold**Pogrubienie<p><strong>bold</strong></p>
__bold__Pogrubienie, alternatywna forma<p><strong>bold</strong></p>
***both***Pogrubienie i kursywa razem<p><em><strong>both</strong></em></p>
~~gone~~Przekreślenie<p><del>gone</del></p>
`code`Kod inline — nic wewnątrz nie jest interpretowane<p><code>code</code></p>
``a ` b``Kod inline zawierający backtickUżyj więcej backticksa na zewnątrz niż pojawiają się wewnątrz.<p><code>a ` b</code></p>
\*not italic\*Dosłowna gwiazdka zamiast podkreślenia<p>*not italic*</p>

Nagłówki

7

Forma hash to ta do użycia; forma podkreślenia osiąga tylko dwa poziomy.

SkładniaCzego to dotyczyHTML wyprodukowany
# HeadingNagłówek poziomu 1<h1>Heading</h1>
## HeadingNagłówek poziomu 2<h2>Heading</h2>
### HeadingNagłówek poziomu 3<h3>Heading</h3>
###### HeadingNagłówek poziomu 6 — najgłębszy, jaki istnieje<h6>Heading</h6>
Heading =======Nagłówek poziomu 1, forma podkreślona<h1>Heading</h1>
Heading -------Nagłówek poziomu 2, forma podkreślona<h2>Heading</h2>
## Heading ##Końcowe hashes są dekoracją i są opuszczaneLiczba po prawej jest ignorowana; tylko lewa ustawia poziom.<h2>Heading</h2>

Listy

7

Wcięcie o dwie spacje do zagnieżdżenia. Pusty wiersz między elementami sprawia, że każdy jest akapitem.

SkładniaCzego to dotyczyHTML wyprodukowany
- one - twoLista punktowana<ul> <li>one</li> <li>two</li> </ul>
* one * twoLista punktowana, alternatywny marker<ul> <li>one</li> <li>two</li> </ul>
1. one 2. twoLista numerowana<ol> <li>one</li> <li>two</li> </ol>
1. one 1. twoTeż lista numerowana, ponumerowana na renderzeTylko pierwszy numer jest używany; reszta może być całą 1.<ol> <li>one</li> <li>two</li> </ol>
- one - nestedZagnieżdżona lista — wcięcie dziecka o dwie spacje<ul> <li>one <ul> <li>nested</li> </ul></li> </ul>
- [ ] todoNiesprawdzony element listy zadań<ul> <li><input type="checkbox" disabled /> todo</li> </ul>
- [x] doneSprawdzony element listy zadań<ul> <li><input type="checkbox" checked disabled /> done</li> </ul>
6
SkładniaCzego to dotyczyHTML wyprodukowany
[text](https://a.co)Łącze<p><a href="https://a.co">text</a></p>
[text](https://a.co "Tip")Łącze z tooltipem tytułu<p><a href="https://a.co" title="Tip">text</a></p>
<https://a.co>Nagi URL zamieniony w łącze<p><a href="https://a.co">https://a.co</a></p>
[mail](mailto:a@b.co)Łącze e-mail<p><a href="mailto:a@b.co">mail</a></p>
![alt](cat.png)Obraz, z tekstem alt<p><img src="cat.png" alt="alt" /></p>
[x](javascript:alert(1))Niebezpieczny schemat — łącze jest upuszczane, tekst pozostajejavascript:, data: i vbscript: adresy URL tracą href.<p>x</p>

Elementy bloku

9

Każdy z nich musi zacząć się na początku linii.

SkładniaCzego to dotyczyHTML wyprodukowany
> quotedBlokowy cytat<blockquote> <p>quoted</p> </blockquote>
> > deeperZagnieżdżony blokowy cytat<blockquote> <blockquote> <p>deeper</p> </blockquote> </blockquote>
``` code ```Blok kodu ogrodzony<pre><code>code </code></pre>
```js let a = 1; ```Blok kodu ogrodzony z klasą języka do podświetlenia<pre><code class="language-js">let a = 1; </code></pre>
codeBlok kodu o cztery spacje wcięcia<pre><code>code </code></pre>
---Reguła pozioma<hr />
***Reguła pozioma, alternatywna forma<hr />
one twoPrzerwanie wiersza wewnątrz akapituDwie końcowe spacje. Niewidoczne w większości edytorów, dlatego tak często się nie powiodło.<p>one<br /> two</p>
one twoPusty wiersz oddziela akapity<p>one</p> <p>two</p>

Tabele

4

Wiersz ogranicznika to to, co czyni go tabelą. Wyrównanie jest ustawiane przez okrężników w tym wierszu.

SkładniaCzego to dotyczyHTML wyprodukowany
| a | b | | - | - | | 1 | 2 |Tabela — nagłówek, wiersz ogranicznika, a następnie wiersze treści
| :--- |Wyrównaj kolumnę do lewej, w wierszu ogranicznika
| :---: |Wyśrodkowuj kolumnę
| ---: |Wyrównaj kolumnę do prawej

Częste pytania

Jaka jest różnica między * i _ dla podkreślenia?
Dla zwykłych przypadków żadna — obie producują kursywę, a podwojenie każdej z nich produkuje pogrubienie. Różnica pojawia się się tylko wewnątrz słowa: snake_case_name zostaje pozostawione w spokoju, ponieważ podkreślniki między znakami słowa nie są traktowane jako podkreślenie, natomiast gwiazdki by je rozdzieliły. Dlatego forma gwiazdki jest bezpieczniejszym nawykiem w pisaniu technicznym.
Jak napisać przerwę wiersza bez rozpoczęcia nowego akapitu?
Zakończ wiersz dwiema spacjami, które stają się <br />. Pusty wiersz zamiast tego rozpoczyna nowy akapit. Zasada dwóch spacji jest niewidoczna w większości edytorów i jest pojedynczą najbardziej powszechną przyczyną, dla której przerwanie wiersza Markdown się nie pojawia.
Jak pokazać dosłowną gwiazdkę lub podkreślnik?
Umieść backslash przed nią: \*nie kursywa\*. Wewnątrz backticks nic nie wymaga escapowania, co jest zwykle lepszą odpowiedzią, gdy tekst to kod.
Czy tabele Markdown potrzebują zewnętrznych potoków?
Nie — wiodące i końcowe potoki są opcjonalne, podobnie jak wyrównanie kolumn w źródle. Co jest obowiązkowe, to wiersz ogranicznika myślników poniżej nagłówka; bez niego blok to akapit zawierający znaki potoku.
Czy cokolwiek, co wkleję do konwertera, zostaje przesłane?
Nie. Każde narzędzie na tym serwisie działa w twojej przeglądarce, a ta strona w ogóle nie ma skryptów — to tabela statyczna. Nic, co napiszesz, nie zostaje wysłane nigdzie, i nie ma serwera, do którego by wysłać.