Formater Markdown

Wklej dokument Markdown, a formater przepisze go do spójnego stylu: poprawi przeskoki poziomów nagłówków (żadnego H2 po H4), dopełni kolumny tabel, by wyrównać je w źródle, wymusi pojedynczy pusty wiersz między blokami, ujednolici znaczniki list do -, zwinie ciągi pustych wierszy i posortuje definicje linków referencyjnych na dole. Wyrenderowany HTML się nie zmienia, porządkuje się tylko plik źródłowy, dzięki czemu diffy stają się czytelne.

Jak formater przepisuje Markdown

  1. 1

    Wklej Markdown

    Wrzuć surowy dokument: README, stronę dokumentacji, notatki ze spotkania.

  2. 2

    Wybierz opcje stylu

    Znacznik listy (`-`/`*`), styl nagłówka (ATX/Setext), wyrównanie tabel, kolumna zawijania.

  3. 3

    Sformatuj

    Narzędzie parsuje dokument do AST i ponownie serializuje go w wybranym stylu.

  4. 4

    Porównaj wynik

    Widok obok siebie pokazuje, co się zmieniło, zanim wkleisz to z powrotem.

Co formater poprawia

  • Znaczniki list. *, -, + zostają ujednolicone do jednego spójnego znaku (domyślnie -).
  • Hierarchia nagłówków. Ostrzega (lub podnosi), gdy po H2 następuje H4 bez H3 pomiędzy.
  • Puste wiersze. Dokładnie jeden pusty wiersz między blokami; żadnych ciągów trzech lub więcej.
  • Tabele. Dopełnia każdą kolumnę, by potoki wyrównały się w źródle, mimo że renderery Markdown tego nie wymagają.
  • Końcowe białe znaki. Usuwa końcowe spacje w każdym wierszu z wyjątkiem celowego dwuspacjowego znacznika łamania linii.
  • Linki referencyjne. Zbiera definicje [label]: url na końcu dokumentu, posortowane alfabetycznie.
  • Bloki kodu. Znacznik języka jest ujednolicany do małych liter; bloki kodu oparte na wcięciach stają się blokami ogrodzonymi.

Opcje stylu, które możesz ustawić

Opcja Domyślnie Alternatywy
Znacznik listy - *, +
Styl nagłówka ATX Setext dla H1/H2
Ogranicznik emfazy * _
Ogranicznik pogrubienia ** __
Kolumna zawijania 0 (wył.) 80, 100, 120
Sortuj linki referencyjne wł. wył.

Dlaczego spójny Markdown ma znaczenie

W repozytorium zespołowym niespójny Markdown daje zaszumione diffy: za każdym razem, gdy ktoś zapisze plik w innym edytorze, znaczniki list się zamieniają, a tabele przepływają. Formater wymusza jeden styl, więc recenzenci pull requestów widzą tylko zmiany treści. Potraktuj to jak prettier dla prozy.

Kiedy nie formatować

  • Ogrodzone bloki kodu zostają nienaruszone bajt po bajcie, formater nigdy nie dotknie zawartości bloku kodu. Jeśli formatowanie zmienia kod, to błąd.
  • Celowe twarde łamania o wąskich szerokościach (readme.md w projekcie terminalowym) zostaną przełamane ponownie, jeśli włączysz kolumnę zawijania. Wyłącz zawijanie, jeśli trzymasz ręcznie dostrojone łamania linii.
  • Osadzone bloki HTML przechodzą bez zmian.

Zamienniki gotowe do użycia

Jeśli wolisz lokalne CLI, formater używa tych samych reguł AST co remark-stringify z wtyczką remark-gfm. prettier --parser markdown daje podobny wynik.

Najczęściej zadawane pytania

Nie. Formater przepisuje tylko źródło, wyrenderowany HTML zarówno przed, jak i po powinien być równoważny. Jeśli widzisz zmianę renderowania, zgłoś to jako błąd.

Nie. Front-matter w YAML lub TOML na górze pliku jest wykrywana i przepuszczana bez zmian.

Tak, ustaw kolumnę zawijania na 80, 100 lub 120, a akapity zostaną przełamane. Wiersze wewnątrz ogrodzonych bloków kodu nigdy nie są ruszane.

Nie. Formater zakłada, że Twoje linki działają; reorganizuje jedynie definicje linków referencyjnych. Użyj osobnego narzędzia do sprawdzania linków.

Nie. Parsowanie i formatowanie działają w Twojej przeglądarce; treść nigdy nie opuszcza urządzenia.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach