Typowe powody przejścia z HTML na Markdown
HTML to sposób publikowania treści; Markdown to sposób, w jaki wiele z nich się pisze i przechowuje. Konwersja między nimi pojawia się przy przenoszeniu bloga z WordPressa lub innego CMS na generator stron statycznych, taki jak Hugo, Jekyll czy Astro, przy kopiowaniu dokumentacji ze starej strony intranetu do wiki opartej na Git, przy zapisywaniu artykułu w aplikacji do notatek, jak Obsidian, albo przy przygotowywaniu treści internetowych jako czystego wejścia dla skryptu lub indeksu wyszukiwania. Markdown zachowuje znaczącą strukturę — nagłówki, wyróżnienia, linki i listy — a pomija znaczniki prezentacyjne, które sprawiają, że HTML trudno czytać i edytować.
Na co zamienia się każdy element
Konwersja działa w trakcie pisania i stosuje stały zestaw konwencji, dobranych tak, by odpowiadały oczekiwaniom większości narzędzi Markdown:
<h1>do<h6>stają się nagłówkami#do######.<strong>i<b>stają się**pogrubieniem**;<em>i<i>—_kursywą_.<a href>staje się[tekst](url), z zachowaniem atrybututitle, jeśli istnieje. Linki bezhrefstają się zwykłym tekstem.<img>staje się. Sam plik obrazu nie jest ruszany, więc link wskazuje tam, gdzie wskazywał oryginalnysrc.- Listy
<ul>używają-jako punktora, a listy<ol>są numerowane. <pre><code>staje się blokiem kodu w ogrodzeniu z potrójnych grawisów. Klasa taka jaklanguage-pythonna elemencie kodu jest zachowywana jako znacznik języka ogrodzenia, więc podświetlanie składni nadal działa.<blockquote>staje się liniami zaczynającymi się od>, a<hr>—* * *.<br>staje się dwiema spacjami na końcu linii i jej złamaniem — tak Markdown zapisuje twarde złamanie wiersza.
Elementy bez znaczenia w Markdown, takie jak <div>, <span> i <section>, są rozpakowywane: ich tekst zostaje, a znaczniki znikają. <script>, <style>, <noscript> i <iframe> są usuwane razem z całą zawartością, co załatwia kod śledzący, osadzone widżety i wbudowany CSS.
Znaki, które dostają ukośnik wsteczny
W wyniku możesz zauważyć ukośniki wsteczne, których nie było na stronie, na przykład 1\. Wstęp czy \*ważne\*. To escapowanie i jest ono poprawne. Gdyby akapit w HTML zaczynał się od „1.” i spacji, zapisanie go wprost w Markdown zamieniłoby go w listę numerowaną. Dosłowne gwiazdki, podkreślenia, nawiasy kwadratowe i # na początku linii są escapowane z tego samego powodu — aby wyrenderowany Markdown pokazywał dokładnie ten tekst, który pokazywał HTML.
Jak uzyskać czysty wynik z całej strony internetowej
Konwerter nie zgaduje, która część strony jest artykułem. Menu nawigacyjne, banery cookies, paski boczne i stopki to zwykły tekst HTML, więc wklejenie całego źródła strony przenosi je wszystkie. Dla czystego wyniku podaj tylko treść, której chcesz:
- Otwórz stronę w przeglądarce, kliknij prawym przyciskiem pierwszą linię artykułu i wybierz Zbadaj.
- W narzędziach deweloperskich znajdź element, który obejmuje cały artykuł, często
<article>lub<main>. - Kliknij go prawym przyciskiem, wybierz Kopiuj, a potem Kopiuj outerHTML, i wklej to tutaj.
Kilka innych rzeczy, o których warto pamiętać:
- Linki względne pozostają względne. Link w rodzaju
/blog/post-2czy obrazsrc="img/photo.jpg"jest konwertowany tak, jak został zapisany. Jeśli Markdown ma trafić na inną stronę, zastąp je pełnymi adresami URL. - HTML z e-maili konwertuje się słabo. Newslettery są budowane z zagnieżdżonych tabel układu, a każda
<table>jest konwertowana na tabelę Markdown. Wynikiem jest jedna tabela z całymi sekcjami tekstu wciśniętymi w komórki. Zamiast całego e-maila skopiuj wewnętrzną zawartość jednej komórki. - Tabele zawierają tylko tekst. Każda komórka jest sprowadzana do zwykłego tekstu, więc linki i formatowanie wewnątrz komórek giną, a pierwszy wiersz zawsze staje się wierszem nagłówka.
- Komentarze HTML są pomijane.
Sprawdzanie wyniku
Najszybszy sposób na potwierdzenie konwersji to wyrenderowanie jej z powrotem. Wklej Markdown do narzędzia Markdown na HTML i spójrz na podgląd: nagłówki, listy i bloki kodu powinny odpowiadać strukturze oryginalnej strony. Jeśli konwertujesz plik Word, a nie stronę internetową, użyj narzędzia DOCX na Markdown, które stosuje te same reguły, ale odczytuje plik .docx bezpośrednio. Nic, co tu wkleisz, nie jest wysyłane; HTML jest analizowany i konwertowany przez Twoją przeglądarkę.