Markdown, John Gruber tarafından 2004 yılında oluşturulan hafif bir işaretleme dilidir. Yıldız işareti, diyez ve tire gibi düz metin biçimlendirme sembollerini kullanarak başlık, kalın, italik, liste, bağlantı ve kod bloğu gibi yapıları ifade eder. Bir Markdown önizleyici bu düz metni biçimlendirilmiş HTML'ye dönüştürerek belgenin yayımlanmadan önce nasıl görüneceğini gösterir. Özgün Markdown belirtimi Gruber'ın Daring Fireball belgelerinde tanımlanmış olup format o tarihten bu yana CommonMark olarak resmileştirilmiştir.
Markdown, geliştirici belgeleri, README dosyaları, statik site oluşturucular (Jekyll, Hugo, Astro), wikiler ve bilgi tabanları için standart yazım formatı haline gelmiştir. GitHub, GitLab, Bitbucket, Stack Overflow, Reddit ve Notion Markdown'ı doğrudan destekler. Kaynak dosyaları düz metin olduğundan Markdown dosyalarını Git ile sürüm denetimi altında tutmak, dallar arasında fark almak ve çakışmayan bölümlerde birleştirmek son derece kolaydır.
Bir Markdown önizleme aracı girdinizi ayrıştırarak gerçek zamanlı olarak HTML'ye dönüştürür. Bu sayede bir dosyayı kaydetmeden veya bir sayfa yayımlamadan önce biçimlendirme hatalarını, bozuk bağlantıları ve beklenmedik iç içe geçmeleri fark edebilirsiniz. Bu önizleyici tamamen tarayıcınızda çalışır; sunucuya gidiş-dönüş yoktur, dolayısıyla özel veya hassas belgeler üzerinde içeriği ağ üzerinden göndermeden çalışabilirsiniz.
Neden Çevrimiçi Markdown Önizleyici Kullanmalısınız?
Önizleme olmadan düz bir düzenleyicide Markdown yazmak, çıktıyı tahmin etmeye çalışmak demektir. Canlı önizleyici bu geri bildirim döngüsünü anında kapatır.
⚡
Gerçek zamanlı işleme
Yazarken biçimlendirilmiş çıktıyı görün. Her başlık, liste, kod bloğu ve bağlantı anında işlenir; hatalar oluşur oluşmaz fark edilir.
🔒
Gizlilik odaklı işleme
Tüm ayrıştırma tarayıcınızda gerçekleşir. Markdown metniniz hiçbir zaman sunucuya yüklenmez; bu da iç belgeler, örneklerdeki API anahtarları veya taslak blog yazıları için güvenli hale getirir.
📝
Hesap veya kurulum gerekmez
Sayfayı açın ve yazmaya başlayın. Kayıt formu, indirmeniz gereken masaüstü uygulaması veya yapılandırmanız gereken VS Code eklentisi yoktur. Tarayıcısı olan her cihazda çalışır.
🌐
Tam CommonMark desteği
Başlıklar, kalın, italik, üstü çizili, satır içi kod, çitli kod blokları, sıralı ve sırasız listeler, bağlantılar, alıntılar ve yatay çizgiler desteklenir.
Markdown Önizleme Kullanım Senaryoları
Bileşen belgeleri yazan frontend geliştirici
README dosyalarını ve bileşen belgelerini GitHub'a göndermeden önce önizleyin. Kod örneklerinin çitli bloklarda doğru görünüp görünmediğini ve göreli bağlantıların doğru dosyalara işaret edip etmediğini doğrulayın.
API belgesi hazırlayan backend mühendisi
Endpoint açıklamalarını, istek/yanıt örneklerini ve kimlik doğrulama kılavuzlarını Markdown ile yazın. JSON kod bloklarının, tabloların ve iç içe listelerin istendiği gibi görünüp görünmediğini onaylamak için işlenmiş çıktıyı önizleyin.
Operasyon kılavuzları yöneten DevOps mühendisi
Git deposunda Markdown olarak saklanan operasyon kılavuzları ve olay playbook'ları doğru biçimlendirme gerektirir. Birleştirmeden önce numaralı listeler ve kod parçacıkları içeren adım adım talimatları önizleyin.
Test planı yazan QA mühendisi
Test senaryolarını, kabul kriterlerini ve hata raporlarını Markdown ile belgeleyin. Kontrol listelerinin, başlıkların ve çapraz referansların düzgün işlendiğinden emin olmak için önizleyiciyi kullanın.
Pipeline'ları belgeleyen veri mühendisi
Pipeline README'leri şemaları, DAG bağımlılıklarını ve yapılandırmayı açıklar. Satır içi kodun, çitli SQL bloklarının ve numaralı kurulum adımlarının doğru biçimlendirilip biçimlendirilmediğini kontrol etmek için bu belgeleri önizleyin.
Markdown söz dizimi öğrenen öğrenci
Sol tarafa Markdown yazın, sağda HTML sonucunu görün. Söz dizimini pekiştirmek için başlıklar, listeler, kalın, italik ve kod blokları ile deneyler yapın.
Markdown Söz Dizimi Başvuru Tablosu
Aşağıdaki tablo yaygın Markdown söz dizimini işlenmiş sonucuyla ve karşılık gelen HTML etiketiyle eşleştirir. Bu, hemen her Markdown ayrıştırıcısının desteklediği CommonMark temelini kapsar.
Markdown
Görünüm
HTML etiketi
# Heading
Heading 1
<h1>
## Heading
Heading 2
<h2>
**bold**
Bold text
<strong>
*italic*
Italic text
<em>
~~strike~~
Strikethrough
<del>
`code`
Inline code
<code>
```lang\n...\n```
Fenced code block
<pre><code>
- item
Unordered list
<ul><li>
1. item
Ordered list
<ol><li>
[text](url)
Hyperlink
<a href>
> quote
Blockquote
<blockquote>
---
Horizontal rule
<hr>
Markdown Türleri Karşılaştırması
Farklı platformlar özgün Markdown belirtimine ek özellikler ekler. Hangi türü hedeflediğinizi bilmek, başka bir işleyicide sessizce başarısız olan söz diziminden kaçınmanıza yardımcı olur.
GitHub Flavored Markdown (GFM)
Görev listelerini (- [ ] / - [x]), pipe söz dizimiyle tabloları, üstü çiziliyi (~~metin~~) ve otomatik bağlantılı URL'leri ekler. GitHub sorunlarında, pull request'lerde ve README dosyalarında kullanılan türdür. CommonMark üzerine inşa edilmiş GitHub Flavored Markdown Spec ile belgelenmiştir.
CommonMark
Özgün Markdown söz diziminin katı ve belirsizliğe yer vermeyen bir belirtimidir. CommonMark, iç içe listeler, tembel devam satırları ve blok alıntıların içindeki boş satırlar gibi uç durumlar için kesin kurallar tanımlar. Günümüzdeki çoğu ayrıştırıcı (marked, markdown-it, goldmark) varsayılan olarak CommonMark kullanır.
MultiMarkdown (MMD)
Markdown'ı dipnotlar, atıf anahtarları, matematik (LaTeX), tanım listeleri ve belge meta verileriyle genişletir. Öncelikli olarak akademik yazımda ve PDF veya LaTeX'e aktarılan uzun biçimli belgelerde kullanılır.
MDX
JSX bileşenlerini doğrudan Markdown dosyalarına gömer. Docusaurus, Nextra ve Astro içerik koleksiyonları gibi belgeleme çerçeveleri tarafından kullanılır. MDX dosyaları derleme zamanında React bileşenlerine dönüştürülür.
Kod Örnekleri: Markdown'ı Programatik Olarak İşleme
Bir tarayıcı aracı yerine uygulama içinde Markdown işlemeniz gerektiğinde aşağıdaki kitaplıklardan birini kullanın. Her örnek bir Markdown dizesini HTML dizesine dönüştürür.
JavaScript (marked)
import { marked } from 'marked'
const md = '# Hello\n\nThis is **Markdown**.'
const html = marked(md)
// → "<h1>Hello</h1>\n<p>This is <strong>Markdown</strong>.</p>\n"
// With options
marked.setOptions({ gfm: true, breaks: true })
const gfmHtml = marked('Line one\nLine two')
// → "<p>Line one<br>Line two</p>\n"
Python (markdown)
import markdown
md = '# Hello\n\nThis is **Markdown**.'
html = markdown.markdown(md)
# → '<h1>Hello</h1>\n<p>This is <strong>Markdown</strong>.</p>'
# With extensions
html = markdown.markdown(md, extensions=['fenced_code', 'tables'])
# Convert a file
with open('README.md') as f:
html = markdown.markdown(f.read(), extensions=['extra'])
Go (goldmark)
package main
import (
"bytes"
"fmt"
"github.com/yuin/goldmark"
)
func main() {
source := []byte("# Hello\n\nThis is **Markdown**.")
var buf bytes.Buffer
if err := goldmark.Convert(source, &buf); err != nil {
panic(err)
}
fmt.Println(buf.String())
// → <h1>Hello</h1>
// → <p>This is <strong>Markdown</strong>.</p>
}
CLI (pandoc)
# Convert Markdown file to HTML
pandoc README.md -f markdown -t html -o output.html
# Convert with GitHub Flavored Markdown
pandoc README.md -f gfm -t html --standalone -o output.html
# Pipe from stdin
echo '# Hello **world**' | pandoc -f markdown -t html
# → <h1>Hello <strong>world</strong></h1>
Sıkça Sorulan Sorular
Markdown ile HTML arasındaki fark nedir?
Markdown, HTML'ye dönüşen düz metin bir kısaltmadır. <h1>Başlık</h1> yerine # Başlık yazarsınız. Markdown daha hızlı yazılır ve kaynak biçiminde daha kolay okunur; ancak HTML her öğe ve öznitelik üzerinde tam denetim sağlar. Çoğu Markdown işleyicisi standart HTML çıktısı üretir.
Markdown ile GitHub Flavored Markdown aynı şey midir?
Hayır. GitHub Flavored Markdown (GFM), tablolar, görev listeleri, üstü çizili ve otomatik bağlantılar ekleyen bir CommonMark üst kümesidir. Düz Markdown (CommonMark) bu özellikleri içermez. Markdown'ınız GitHub'da görüntülenecekse GFM söz dizimini kullanın. Farklı bir işleyici hedefliyorsanız o işleyicinin desteklediği uzantıları kontrol edin.
Markdown'a resim eklenebilir mi?
Evet. Söz dizimi şu şekildedir: . Alternatif metin köşeli parantez içine, resim URL'si ise parantez içine yazılır. İsteğe bağlı başlık da ekleyebilirsiniz: . Çoğu işleyici bunu src, alt ve title öznitelikleriyle bir <img> etiketine dönüştürür.
Markdown'da nasıl tablo oluştururum?
Tablolar özgün Markdown belirtiminin parçası değildir; ancak GFM ve çoğu modern ayrıştırıcı bunları destekler. Sütunları ayırmak için pipe (|), başlık satırı için tire (---) kullanın: | Ad | Yaş |\n|---|---|\n| Ahmet Yılmaz | 30 |. Hizalama, ayırıcı satırındaki iki nokta üst üste ile denetlenir: :--- sola, :---: ortaya, ---: sağa hizalar.
Bu önizleyiciyi kullanırken metnim sunucuya gönderiliyor mu?
Hayır. Markdown ayrıştırıcı, JavaScript kullanılarak tamamen tarayıcınızda çalışır. Metniniz cihazınızda kalır ve ağ üzerinden hiçbir zaman iletilmez. Bunu, aracı kullanırken tarayıcınızın Ağ sekmesini açarak doğrulayabilirsiniz.
Bu önizleyici hangi Markdown öğelerini destekler?
Bu önizleyici başlıkları (h1'den h6'ya), kalın, italik, üstü çizili, satır içi kod, dil ipuçlu çitli kod blokları, sıralı ve sırasız listeler, bağlantılar, alıntılar ve yatay çizgileri destekler. Bu öğeler için CommonMark ayrıştırma kurallarını izler.
Matematik veya şemalı Markdown'ı nasıl önizleyebilirim?
Matematik (LaTeX) ve şemalar (Mermaid), CommonMark veya GFM'ye dahil olmayan uzantılardır. Bunları işlemek için bu uzantıları destekleyen bir ayrıştırıcıya ihtiyaç duyarsınız; örneğin matematik için markdown-it-katex eklentisiyle markdown-it ya da Mermaid bloklarını doğrudan destekleyen GitHub gibi bir platform. Bu önizleyici standart Markdown öğelerine odaklanır.