Markdown – język znaczników służący do formatowania tekstu. Został zaprojektowany tak, by umożliwić konwersję z czystego tekstu sformatowanego przy jego użyciu na inne wyjściowe formaty (głównie HTML). Pliki Markdown posiadają najczęściej rozszerzenie .markdown, .md, ale mogą występować także w zwykłym .txt.

Markdown jest często używany w celu formatowania plików readme bądź przy formatowaniu tekstu na forach internetowych. Jest także m.in. używany podczas formatowania tekstu w Discordzie.

Do konwersji z Markdowna najlepiej korzystać z gangsterskiego programu pandoc.

Przykład

  Osobny artykuł: Markdown/Przykład

Zalety korzystania z Markdowna

Markdown w porównaniu do innych formatów zdecydowanie ma wiele zalet:

  • Dostępność – aby korzystać czy pisać w Markdownie, nie trzeba specjalnych programów, wystarczy zwykły edytor tekstowy, na przykład windowsowy Notatnik. Można też korzystać z bardziej zaawansowanych edytorów, jak Notepad++ czy Atom, które zadbają o podkreślanie składni i mogą automatycznie poformatować listy czy tabele.
  • Ponadczasowość – w przeciwieństwie do formatów tekstowych jak .doc czy .docx Markdown jest zwykłym plikiem tekstowym i jego wygląd i struktura będzie identyczna, niezależna od wersji oprogramowania. Przykładowo przestarzałe formaty .doc często mają problem z zachowaniem oryginalnego wyglądu dokumentu po przekonwertowaniu na nowsze .docx, a i nowszy format czasem sprawia problemy w zależności od pakietu biurowego, w jakim go otworzymy.
  • Czytelność – Markdown w przeciwieństwie do HTML pozostaje czytelny nawet w formacie źródłowym, w postaci nieprzetworzonego tekstu.
  • Lekkość – nieprzetworzony Markdown to zwykły tekst. Zawsze będzie zajmował mniej zasobów niż dokument w już przetworzonym formacie np. .docx. Z tego względu znacznie ułatwia pracę w przypadku większych plików, zapewniając znacznie lepszą optymalizację i płynność pracy (dla przykładu: Dokumenty Google w przypadku długich plików znacznie tracą na płynności).
  • Jednolitość – w przypadku kolaboracji np. poprzez GitHuba znacznie ułatwia kontrolę wersji i/lub dokonywanych zmian z tego względu że Markdown operuje na zwykłym tekście.
  • Uniwersalność – tekst napisany przy użyciu Markdowna można potem przekonwertować do dowolnego formatu wyjściowego, np. HTML, .docx, LaTeX czy MediaWiki.

Problemy wynikające z Markdowna

Dla osób niezaznajomionych z tym systemem formatowania tekstu Markdown może rodzić następujące problemy:

  • Zarezerwowane znaki – wiele znaków w Markdownie pełni określoną funkcję, na przykład określa początek listy numerowanej, pogrubienie, pochylenie, link, itd. Stąd też znaki *, _, #, { }, [ ], ( ) mogą być przeróżnie parsowane w zależności od kontekstu. Jest to szczególnie zauważalne w niektórych bardziej wymyślnych emotikonkach korzystających z tych zastrzeżonych znaków.
    • Zazwyczaj pomaga użycie backslasha przed znakiem, który chcemy by został zachowany. Chcąc np. napisać *niemożliwe* bez emfazy (pochylenia), zapiszemy \*niemożliwe\*.
  • Brak jednego standardu – oryginalna wersja Markdowna została co prawda ustandaryzowana, nie mniej jednak występuje wiele nieoficjalnych rozszerzeń dla tego formatu, stosowanych na przeróżnych stronach, których implementacja zależy od danego oprogramowania. Przykładowo: Markdown używany na GitHubie (GFM, GitHub Flavored Markdown) pozwala na tworzenie tabel, przekreśleń, automatycznych linków czy listy zadań z checkboxami. Markdown Extra zaś pozwala na tworzenie listy definicji, skrótów (abbreviations) czy przypisów.
    • Wersja Markdown domyślnie wspierana przez pandoc (Pandoc’s Markdown) wspiera m.in. tabele GFM, listy definicji, przypisy, tworzenie bibliografii (np. BibTeX), wzory matematyczne (LaTeX, MathJax).
    • Pandoc ponadto wspiera pozostałe wersje Markdown, przy określeniu formatu źródłowego np. na commonmark, gfm, markdown_mmd czy markdown_phpextra.
  • Chęć użycia niestandardowego stylu – chcąc zastosować bardziej „niekonwencjonalny” styl, na przykład centrując jakiś akapit czy opływając tekst wokół zdjęcia, musimy się posłużyć HTML-em, na przykład poprzez użycie <p style="text-align: center;">wycentrowany akapit</p> czy <img style="float: right;" src="kot2.jpg"> w drugim przypadku. I o ile to działa, to psuje to czytelność i estetykę. W przypadku bardziej skomplikowanych layoutów zdarzyć się może częstsze uciekanie się do HTML-a, co kompletnie mija się z sensem pisania w Markdownie.
    • Markdown Extra pozwala na używanie id i klasy, w celu późniejszego wystylizowania określonego elementu przy użyciu CSS, np. # Nagłówek wycentrowany {.centre #heading} będzie elementem h1 z klasą centre o id heading. Wadą tego rozwiązania jest to, że działa ona jedynie na określonych elementach oraz nie jest ona ustandaryzowana – w różnych wersjach i systemach składnia może wyglądać inaczej od wyżej przedstawionej.

Markdown nie jest narzędziem idealnym, które ma zastąpić wszelkie inne formaty tekstu. Markdown – jak każde narzędzie – powstał dla określonych celów i samemu trzeba sobie odpowiedzieć, czy w danej sytuacji pomoże, czy przysporzy więcej problemów z konwersją i ewentualnym czyszczeniem kodu. Teoretycznie można używać Markdowna do pisania artykułów na MruczekWiki, ale w praktyce jest to średnia opcja – lepiej nauczyć się natywnego wikikodu, aby móc korzystać z charakterystycznych dla wiki elementów jak tabele, szablony, wewnętrzne odnośniki czy przypisy.

Zobacz też