HTML'nin varacağı yer
Markdown yazması keyifli bir formattır, ancak birçok hedef yalnızca HTML kabul eder: bir CMS düzenleyicisinin kaynak görünümü, bir e-posta şablonu, bir online mağazadaki ürün açıklaması alanı, Markdown desteği olmayan bir dokümantasyon portalı veya elle bir araya getirdiğiniz statik bir sayfa. Burada dönüştürmek, bunlardan herhangi birine yapıştırabileceğiniz işaretlemeyi verir; önizleme ise sonucu yayına girmeden önce kontrol etmenizi sağlar.
Dönüştürme GitHub Flavored Markdown lehçesini kullanır; böylece bir README, bir pull request açıklaması veya Obsidian gibi bir not uygulaması için yazılmış metin burada da orada olduğu gibi davranır.
Çıktı nasıl görünür
Dönüştürücü bir gövde parçası üretir: <html>, <head> veya stiller olmadan öğelerin kendisi. Onu bir yere yapıştırmadan önce bilmeye değer birkaç ayrıntı:
- Başlıkların
idöznitelikleri yoktur.## Pricing,<h2>Pricing</h2>olur. İçindekiler tablosu için çapa bağlantılarına ihtiyacınız varsa id'leri kendiniz ekleyin. - Kod blokları bir dil sınıfı taşır.
`pythonile açılan bir çit<pre><code class="language-python">üretir; Prism ve highlight.js gibi vurgulayıcılar bunu otomatik olarak algılar. Kodun içindeki<ve&gibi karakterler kaçışlanır. - Görev listeleri, GitHub'ın gösterdiği şekilde devre dışı onay kutularına sahip liste öğelerine dönüşür.
- Tablolar,
<thead>ve<tbody>içeren düz<table>işaretlemesine dönüşür. Ayırıcı satırında iki nokta ile ayarlanan sütun hizalaması biralignözniteliği olarak yazılır. - Hiçbir stil dahil edilmez. Önizleme, okuyabilmeniz için hafif bir stil sayfası uygular, ancak kopyalanan HTML hedef sayfada hangi CSS varsa onu devralır.
İndirme, parçayı minimal, bağımsız bir sayfaya sarar: <meta charset="utf-8"> içeren ve <title> değeri ilk başlıktan alınan bir <!doctype html> belgesi; böylece dosya diskten açıldığında aksanlı harfler ve diğer ASCII dışı metinler doğru görüntülenir. Hiçbir stil eklemez, bu yüzden sayfa tarayıcı varsayılanlarını kullanır.
Satır sonları ve diğer sürprizler
Markdown ile ilgili kafa karışıklığının çoğu, bir kelime işlemciden farklı olan bir avuç kuraldan kaynaklanır:
- Tek bir satır sonu yeni bir satır değildir. Alt alta yazılmış iki satır tek bir paragrafta birleşir. Yeni bir paragrafa başlamak için boş bir satır bırakın ya da bir
<br>zorlamak için satırı iki boşluk veya bir ters eğik çizgiyle bitirin. GitHub yorumları dahil bazı düzenleyiciler tek satır sonlarını satır sonu olarak ele alır; bu dönüştürücü ise GitHub README dosyalarında ve çoğu statik site üreticisinde kullanılan standart davranışı izler. - Front matter tanınmaz. Bir dosyanın en üstünde
---satırları arasındaki bir YAML bloğu, yatay bir çizgi ve ardından gelen metin olarak işlenir; kapanış---ise üstündeki satırı bir başlığa dönüştürebilir. Dönüştürmeden önce front matter'ı kaldırın. - Dipnotlar, matematik ve diyagramlar lehçenin parçası değildir.
$x^2$düz metin olarak kalır ve bir Mermaid bloğu düz bir kod bloğuna dönüşür. Dipnot sözdiziminin durumu yok sayılmaktan da kötüdür:[^1]: notegibi bir tanım bir bağlantı referansı olarak okunur, böylece işaretnotekelimesine işaret eden bir bağlantıya dönüşür. - Tırnaklar düz kalır. Tipografik tırnaklar ve tireler eklenmez; ne yazarsanız onu alırsınız.
- 1'den başlamayan numaralı bir liste, doğrudan bir paragrafın altında başlayamaz.
3. threegibi satırlar, boş bir satırla ayrılmadıkça paragraf metnine dahil olur. Madde işaretli listelerde ve 1'den başlayan listelerde bu sorun yoktur.
Ham HTML ve güvenlik
Markdown ham HTML'ye izin verir ve bu dönüştürücü onu değiştirmeden geçirir. Elle yazdığınız bir <details> bloğu veya bir <span style> çıktıda tam olarak yazıldığı gibi görünür. Bu kullanışlıdır, ama aynı zamanda çıktının temizlenmediği (sanitize edilmediği) anlamına gelir: kaynaktaki bir <script> etiketi veya bir onerror özniteliği kopyalanan HTML'de de bulunur.
Önizlemenin kendisi betiklerin devre dışı olduğu korumalı (sandbox) bir çerçevede çalışır, bu yüzden güvenilmeyen Markdown'ı burada görüntülemek güvenlidir. Ortaya çıkan HTML'yi kendi sitenize yapıştırmak ise başka bir konudur. Markdown kullanıcılardan veya başka güvenilmeyen bir kaynaktan geldiyse, yayımlamadan önce HTML'yi kendi tarafınızda bir temizleyiciden geçirin.
İlgili dönüştürmeler
Ters yönde, bir web sayfasından veya CMS dışa aktarımından Markdown'a geri dönmek için HTML'yi Markdown'a dönüştür aracını kullanın. Word belgeleri için DOCX'i Markdown'a çevir, daha sonra burada önizleyip dönüştürebileceğiniz Markdown üretir. Her şey siz yazarken tarayıcınızda çalışır, bu yüzden taslaklar ve şirket içi dokümantasyon hiçbir zaman bir sunucuya gönderilmez.