Markdown Rehberi

Markdown Nedir?

Markdown, düz metin belgelerine biçimlendirme öğeleri eklemek için kullanabileceğiniz hafif bir biçimlendirme dilidir. HTML ve diğer formatlara dönüştürülebilen basit, okunması kolay bir sözdizimi kullanarak biçimlendirilmiş metin oluşturmanıza olanak tanır.

Markdown'ı karmaşık kelime işlemcilerine ihtiyaç duymadan biçimlendirilmiş belgeler yazmanın bir yolu olarak düşünün. Kalın, italik veya kod gibi biçimlendirmeyi belirtmek için düz metne basit özel karakterler eklersiniz.

Neden Markdown Kullanılır?

Markdown inanılmaz derecede basit ve öğrenmesi kolaydır. Temelleri sadece 10 dakikada kavrayabilirsiniz. Biçimlendirme sembolleri sezgiseldir - vurgu için yıldız işaretleri, başlıklar için diyez işaretleri. Sadece yazarsınız ve metninizi biçimlendirmek için basit semboller eklersiniz.

Markdown her platformda ve her metin düzenleyicide çalışır. Dosyalar düz metin olduğu için, onlarca yıl sonra bile her zaman okunabilir olacaktır. Dosyalar hafiftir ve hızlı yüklenir.

Markdown platformlar arası geniş destek sağlar. GitHub, Reddit, Discord ve Slack'in hepsi Markdown kullanır. Obsidian, Notion ve VS Code gibi popüler uygulamalar doğal olarak destekler. Bu da onu dokümantasyon, not alma ve web içeriği için mükemmel kılar.

Markdown, Git gibi sürüm kontrol sistemleriyle mükemmel çalışır. Biçimlendirme dikkat dağıtıcılığı olmadan içeriğe odaklanabilirsiniz. Özel yazılıma ihtiyaç duymadan herkes dosyaları düzenleyebileceği için takım işbirliği daha kolaydır.

Markdown Geliştirme Tarihi

Başlangıç: Vanilla Markdown (2004)

Markdown başlangıçta 2004 yılında John Gruber tarafından, Aaron Swartz'ın önemli katkılarıyla oluşturuldu. Gruber, yapısal olarak geçerli HTML'ye dönüştürülebilen, okunması ve yazılması kolay düz metin formatı kullanarak yazmanın basit bir yolunu tasarladı. Bu, John Gruber'in başlangıçta tasarlayıp uyguladığı "çekirdek" - en temel biçimlendirme sözdizimini içeren ve "temel vanilla tadı" dediğimiz şeydir.

Temel Sözdizimi (Vanilla Markdown içerir):

  • Başlıklar: # sembolünü kullan (# Başlık)
  • Vurgu:
  • İtalik: Metni sarmak için * veya _ kullan (*italik* veya _italik_)
  • Kalın: Metni sarmak için ** veya __ kullan (**kalın** veya __kalın__)
  • Listeler:
  • Sırasız listeler: *, - veya + kullan (- öğe)
  • Sıralı listeler: Noktalarla sayılar kullan (1. öğe)
  • Bağlantılar: [bağlantı metni](bağlantı adresi) kullan
  • Resimler: ![resim açıklaması](resim adresi) kullan
  • Kod blokları: Boşluklarla girintile (genellikle 4 boşluk veya 1 Tab)
  • Alıntılar: > sembolünü kullan (> Bu bir alıntıdır)
  • Yatay çizgiler: --- veya *** kullan

Problem: Tutarsız Uygulamalar

Ancak, Vanilla Markdown katı, resmi bir spesifikasyondan yoksundu. Bu, farklı Markdown ayrıştırıcılarının sınır durumları ele alırken tutarsız davranmasına yol açtı.

Boşluk işleme: Örneğin, liste öğelerinde, kaç boşluk girintisi alt liste olarak sayılır? 2 boşluk, 3 boşluk veya 4 boşluk mu? Farklı ayrıştırıcılar farklı kararlar verebilir.

Satır sonu işleme: Belirli durumlarda, normal bir satır sonu(\n) <br> (satır sonu) etiketi olarak mı ayrıştırılmalı, yoksa sadece metindeki bir boşluk olarak mı değerlendirilmeli? Bu da ayrıştırıcıya bağlı olarak değişebilir.

HTML karışık kullanımı: Markdown gömülü HTML'ye izin verir. Ancak, bazı karmaşık HTML yapılarında, Markdown ayrıştırıcılarının bunların içindeki Markdown sözdizimini nasıl işlediği de belirsiz alanlar sunar.

Çözüm: CommonMark (2014)

Eylül 2014'te, bu tutarsızlık sorunlarını çözmek için CommonMark tanıtıldı. John MacFarlane liderliğinde, Markdown için titiz bir spesifikasyon sağlar.

CommonMark, her sınır durumunun açıkça tanımlandığı kesin bir spesifikasyon sağlar. Uygulamalar arasında tutarlılığı sağlamak için 600'den fazla test durumu içeren kapsamlı bir test paketi içerir. Spesifikasyon, diğer ayrıştırıcıların takip edebileceği standart olarak hizmet eden bir referans uygulama sağlar. Aynı girdi her zaman tüm uyumlu ayrıştırıcılarda aynı çıktıyı üretecek şekilde belirsiz ayrıştırma sağlarken, mevcut Markdown belgelerinin çoğuyla geriye dönük uyumluluğu korur.

Genişletilmiş Çeşitler ve Ek Özellikler

Kullanıcıların farklı ihtiyaçları olduğu için, belirli gereksinimleri karşılamak için çeşitli genişletilmiş Markdown çeşitleri ortaya çıktı.

GitHub Flavored Markdown (GFM) Ek Sözdizimi:

  • Tablolar: Tablo oluşturmak için boru sözdizimi kullan
  | Başlık 1 | Başlık 2 | Başlık 3 |
|----------|----------|----------|
| Hücre 1 | Hücre 2 | Hücre 3 |
| Hücre 4 | Hücre 5 | Hücre 6 |
  • Üstü çizili: Metni sarmak için ~~ kullan (~~silinmiş metin~~)
  • Görev Listeleri: Etkileşimli onay kutuları oluştur
  - [x] Tamamlanan görev
- [ ] Tamamlanmamış görev
  • Çerçeveli Kod Blokları: Dil belirtimi ile üçlü ters tik kullan
  ```javascript
function hello() {
console.log("Merhaba Dünya!");
}
```
  • Otomatik Bağlantı: URL'ler ve e-posta adresleri otomatik olarak tıklanabilir hale gelir
Diğer Popüler Uzantılar:

  • Dipnotlar: Akademik yazım için [^1] sözdizimi kullan
  Bu dipnotlu bir cümledir[^1].
[^1]: Bu dipnot içeriğidir.

Sonuç: Bu dipnotlu bir cümledir¹.

  • Matematik İfadeleri: Bilimsel belgeler için $E=mc^2$ kullan
  • Emoji Kısayolları: :smile: kullanımı 😊 olur
  • Tanım Listeleri: Sözlükler ve teknik dokümantasyon için
  Terim 1
: Terim 1 için tanım

Terim 2
: Terim 2 için tanım
: Terim 2 için başka bir tanım

Sonuç: Vurgulanan terimler ve girintili tanımlarla biçimlendirilmiş listeler oluşturur

Nasıl Çalışır?

Markdown basit bir üç adımlı iş akışı izler:

Adım 1: Markdown Dosyası Oluştur

İlk olarak, herhangi bir metin düzenleyici kullanarak .md veya .markdown uzantılı düz metin dosyası oluşturursunuz. İçeriğinizi basit biçimlendirme sembolleri kullanarak yazarsınız:

Adım 2: Markdown Araçlarıyla İşle

.md dosyanız daha sonra Markdown dönüştürme araçları veya işlemcileri tarafından işlenir. Bu araçlar Markdown dosyanızı okur ve istenen çıktı formatına dönüştürür.

Adım 3: Çeşitli Formatlara Çıktı Al

Markdown işlemcisi dosyanızı birden fazla formata dönüştürebilir:

Web Görüntüleme İçin:

  • Web siteleri, bloglar ve web uygulamaları için HTML'ye dönüştürür
  • Uygun stil ile tarayıcılarda biçimlendirilmiş içerik görüntüler
Belgeler İçin:

  • Yazdırılabilir belgeler ve raporlar için PDF'ye dönüştürür
  • Ofis kullanımı için Word belgeleri (.docx) oluşturur
  • Akademik makaleler ve yayınlar için LaTeX oluşturur
Yayıncılık İçin:

  • e-Kitaplar (EPUB formatı) oluşturur
  • Sunum slaytları oluşturur
  • Dokümantasyon web siteleri üretir
Bu iş akışı, Markdown'da bir kez yazıp, daha sonra farklı araçlar kullanarak içeriğinizi ihtiyacınız olan her formata dönüştürebileceğiniz anlamına gelir - ister bir web sitesinde görüntüleme, ister PDF olarak yazdırma veya belge olarak paylaşma olsun.

Ek Kaynaklar

Temel Dokümantasyon

  • John Gruber'in Markdown dokümantasyonu :Markdown'ın yaratıcısı tarafından yazılan orijinal rehber. Felsefe ve temel sözdizimini anlamak için temel okuma.
  • Wikipedia - Markdown :Markdown'ın tarihi, çeşitleri ve teknik detaylarının kapsamlı genel bakışı.
  • Markdown Guide :Her seviye için örnekler ve en iyi uygulamalarla kapsamlı, yeni başlayanlar için rehber.