Co to jest format pliku MD?
Plik z rozszerzeniem .md zawiera dokument w formacie czystego tekstu utworzony przy użyciu języka Markdown. Istnieje wiele dialektów Markdown, ale wszystkie korzystają z tego samego zestawu konwencji i podobnej składni. Znaczniki Markdown definiują elementy formatowania tekstu, takie jak:
- Atrybuty pogrubienia i kursywy
- Nagłówki
- Format tabeli
- Listy
- Cytaty blokowe
- Osadzanie obrazów i kodu HTML
Pliki .md mogą również używać przyrostka .MARKDOWN. Pliki .md można łatwo przekonwertować na format RTF lub PDF, chociaż początkowo Markdown był używany głównie do generowania dokumentów HTML, zazwyczaj plików pomocy. Ponieważ .md jest plikiem tekstowym, można go otwierać i edytować w dowolnym edytorze tekstu w celu tworzenia sformatowanych dokumentów. Markdown używa prostej i łatwej do odczytania składni.
Markdown został opracowany w 2004 roku przez Johna Grubera, przy współpracy Aarona Swartza. Głównym celem projektantów tego języka było zaoferowanie użytkownikom prostego i intuicyjnego systemu znaczników - w przeciwieństwie na przykład do HTML - do edycji i tworzenia dokumentów. Oryginalny interpreter plików .md, który konwertował pliki .md na dokumenty HTML, został napisany w języku Perl. Od tego czasu opracowano wiele odmian języka Markdown. W 2016 roku RFC 7763 zarejestrował typ MIME text/markdown, a RFC 7764 skatalogował główne warianty Markdown, w tym CommonMark, GFM, Markdown Extra i inne.
Bezpieczeństwo
RYZYKO: LOWPlik .md to czysty tekst i nie może wykonywać kodu, więc otwieranie go jest bezpieczne. Jedyna uwaga: Markdown pozwala na surowy HTML, więc wyrenderowany podgląd może zawierać HTML/JavaScript lub obrazy śledzące - renomowane renderery (GitHub, VS Code) oczyszczają taką zawartość. Jak zawsze, zachowaj nieufność wobec linków wewnątrz dokumentu z nieznanego źródła przed ich kliknięciem.
Szczegóły formatu
w pigułceProgramy otwierające pliki MD
Szczegóły techniczne
specyfikacja| Typ MIME | text/markdown (zarejestrowany przez RFC 7763, 2016) |
| Kodowanie znaków | Czysty tekst UTF-8; brak nagłówka binarnego lub magicznych bajtów - identyfikowany przez rozszerzenie .md i konwencjonalną składnię |
| Styl składni | Lekki język znaczników - źródło jest czytelne dla człowieka bez parsera lub renderera |
| Główny cel wyjściowy | HTML, tworzony przez procesor Markdown; cele drugorzędne obejmują PDF i EPUB za pomocą narzędzi takich jak Pandoc |
| Popularne dialekty | CommonMark, GitHub Flavored Markdown (GFM), Markdown Extra, MultiMarkdown, R Markdown (.Rmd) |
| Obsługa Front Matter | YAML front matter pomiędzy znacznikami --- jest szeroko stosowany przez generatory stron statycznych (Jekyll, Hugo, Eleventy) do przechowywania metadanych strony |
| Składnia nagłówków | Styl ATX (# H1, ## H2) oraz styl Setext (podkreślenie znakami = lub -) są poprawne w specyfikacji bazowej |
| Składnia linków | Liniowe [tekst](url), referencyjne [tekst][id] oraz autolinki <url> - wszystkie trzy formy są częścią rdzenia specyfikacji |
| Składnia bloków kodu | Otoczone (potrójne odwrotne apostrofy lub tyldy) lub wcięte o 4 spacje; identyfikator języka po znaczniku otwierającym umożliwia podświetlanie składni |
| Obsługa tabel | Brak w oryginalnej specyfikacji z 2004 roku; wprowadzone jako rozszerzenie GFM, a później jako opcjonalne rozszerzenie CommonMark |
| Składnia obrazów |  - przechowuje tylko odniesienie URL; obrazy nie są osadzane w samym pliku .md |
| Przekreślenie | ~~tekst~~ - rozszerzenie GFM; nieobecne w bazowej specyfikacji Markdown |
| Obsługa Math / LaTeX | Składnia $liniowa$ i $$blokowa$$ rozpoznawana przez rozszerzenia Obsidian, Jupyter i VS Code, ale poza rdzeniem specyfikacji |
| Zasady łamania linii | Pusta linia oddziela elementy blokowe; twarde łamanie linii wymaga dwóch spacji na końcu lub znaku \ przed nową linią (CommonMark) |
| Konflikty rozszerzeń | .md jest sporadycznie zajmowane przez narzędzia do metadanych lub opisu maszyn; zawartość pliku i kontekst pozwalają odróżnić użycie Markdown |
| Wydano | 2004 (Markdown by John Gruber); CommonMark spec 2014; GitHub Flavored Markdown 2017 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | spec.commonmark.org |