Markdown düzenleyicinin ardındaki hikâye

Markdown, düz metin olarak da doğal okunan biçimli metin yazmanın bir yoludur. Vurgu için yıldızlar, başlıklar için diyez işaretleri ve listeler için tireler, insanların zaten e-posta yazma biçiminden alındı. Bu sayfa, bu basit fikrin README dosyalarının, notların ve belgelerin dili hâline nasıl geldiğini anlatıyor.

Karanlık bir masada açık bir defter ve bir yanında düz metin, diğer yanında biçimli metin olan parlayan bölünmüş bir ekran
Karanlık bir masada açık bir defter ve bir yanında düz metin, diğer yanında biçimli metin olan parlayan bölünmüş bir ekran

E-postadan doğdu

2004'te John Gruber, Aaron Swartz'ın yardımıyla Markdown'ı Daring Fireball adlı sitesinde yayımladı. Amaç, olduğu gibi okunması ve yazılması kolay ama yine de temiz biçimde HTML'ye dönüşen bir metindi. Birçok kural e-postadan ve Setext gibi eski metin biçimlerinden geldi: başlık için bir satırın altını eşittir işaretleriyle çizmek, vurgulamak için bir kelimeyi yıldızlarla çevrelemek ve liste için satırlara tireyle başlamak. İlk dönüştürücü tek bir Perl betiğiydi.

Fazla lehçe

Orijinal açıklama, iç içe bir listenin ne kadar girintilenmesi gerektiği veya boş bir satırın bir bloğu ne zaman bitirdiği gibi pek çok sınır durumunu açık bırakıyordu. Her yeni uygulama farklı karar verdi, bu yüzden aynı metin farklı sitelerde farklı görünebiliyordu. 2014'te John MacFarlane, Jeff Atwood ve diğerleri yüzlerce örnek içeren kesin bir belirtim yayımladı. Önce Standard Markdown adını aldı, Gruber'in itirazları üzerine adı CommonMark olarak değiştirildi.

GitHub Flavored Markdown

GitHub, README dosyaları, kayıtlar ve yorumlarla Markdown'ı programcıların günlük işinin parçası yaptı. 2017'de GitHub Flavored Markdown için CommonMark'ın katı bir üst kümesi olarak resmî bir belirtim yayımladı. Bu belirtim sütun hizalamalı tablolar, onay kutulu görev listeleri, iki tilde ile üstü çizili metin ve otomatik tanınan bağlantılar ekler. Zaten popüler olan, dil adı verilen çitli kod blokları da söz dizimi renklendirmesini mümkün kıldı.

Önizlemeler neden temizlenir

Markdown ham HTML'ye izin verir; bu pratik ama risklidir. Bir sayfa başkasının Markdown'ını gösterirse gizli bir script etiketi, bir görseldeki onerror özniteliği veya bir javascript bağlantısı okuyucunun tarayıcısında kod çalıştırabilir; bu saldırıya siteler arası betik çalıştırma denir. Bu yüzden düzenleyici ham HTML'yi metin olarak gösterir, güvensiz bağlantı şemalarını kaldırır ve sonucu görüntülemeden önce izin verilen öğe ve öznitelik listesinden geçirir.

Sık sorulan sorular

Markdown'ı kim icat etti?

Markdown'ı 2004'te John Gruber yarattı; Aaron Swartz başından beri önemli bir katkıcı ve test eden kişiydi.

CommonMark ile GFM arasındaki fark nedir?

CommonMark, Markdown çekirdeğinin kesin bir belirtimidir. GitHub Flavored Markdown onun üzerine kurulur ve tablolar, görev listeleri, üstü çizili metin ve otomatik bağlantılar ekler.

HTML'm neden metin olarak gösteriliyor?

Güvenlik için. Ham HTML betik taşıyabilir, bu yüzden düzenleyici onu metne çevirir ve yalnızca zararsız olduğunu bildiği öğeleri üretir.

Bunu denemeye hazır mısın?

Pencere PictorX tarayıcınızda - yükleme yok, başlamak için gerekli kredi kartı yok.

Markdown düzenleyiciyi aç