Wszystkie artykuły

Markdown: dlaczego prosta składnia tekstowa pokonała rozbudowane edytory

Nagłówek ## Łódź po zamianie na kotwicę linku może stracić polskie znaki diakrytyczne — ą ć ę ł ń ó ś ź ż — bo wiele generatorów slugów usuwa znaki spoza podstawowego alfabetu łacińskiego, więc ta sama nazwa miasta i nazwa pliku mogą się rozjechać.

Podstawowa składnia

  • # Nagłówek — nagłówki różnych poziomów według liczby znaków #.
  • **pogrubienie** i *kursywa* — wyróżnienie tekstu.
  • [tekst](url) — link.
  • - punkt lub 1. punkt — listy wypunktowane i numerowane.
  • ``` — bloki kodu z podświetlaniem składni według nazwy języka.

Dlaczego polskie znaki diakrytyczne komplikują kotwice

Gdy nagłówek zamienia się w link wewnętrzny, generator tworzy z niego "slug": małe litery, spacje zamienione na myślniki. Część implementacji dodatkowo usuwa ogonki i kreski, więc ## Łódź może dać kotwicę #lodz w jednym rendererze i #łódź w innym. Ta rozbieżność ma znaczenie zwłaszcza przy ręcznym linkowaniu do sekcji dokumentu — link działający lokalnie może przestać działać po zmianie parsera.

Oryginalny Markdown nie definiował tabel ani nie istniał CommonMark

Markdown opublikowany przez Johna Grubera w 2004 roku był opisem w prozie, a nie formalną gramatyką, i nie obejmował tabel, przekreślonego tekstu ani bloków kodu z podświetlonym językiem. Przez dekadę każda implementacja interpretowała po swojemu niejednoznaczne fragmenty oryginalnego tekstu, aż w 2014 roku powstał CommonMark, który ustalił precyzyjną gramatykę — a GitHub Flavored Markdown (GFM) dodał na tej podstawie tabele i listy zadań, dziś oczywiste w każdym README.

Konwersja na HTML i z powrotem

Konwersja Markdown → HTML jest bezpośrednia: parser rozpoznaje konstrukcje składniowe i generuje odpowiednie znaczniki. Konwersja odwrotna, HTML → Markdown, jest trudniejsza, ponieważ HTML obsługuje znacznie więcej możliwości formatowania niż podstawowy Markdown, więc część znaczników (złożone tabele, zagnieżdżone style) może zostać uproszczona lub utracona.

Do czego się przydaje

  • Szybkie sprawdzenie, jak plik Markdown będzie wyglądał po wyrenderowaniu, bez publikowania go.
  • Konwersja zawartości strony lub dokumentu na Markdown w celu przechowywania w systemie kontroli wersji.
  • Przygotowanie treści HTML do wstawienia w aplikacji akceptującej tylko Markdown.
Wypróbuj narzędzie