2004 yılında John Gruber ve Aaron Swartz tarafından geliştirilen Markdown, text-to-HTML mantığıyla çalışan bir işaretleme dilidir. (.md) uzantısıyla birlikte kullanılan markdown dosyalarıyla hepimiz mutlaka karşılaşmışızdır. Bu işaretleme dilinin özelliği, klavyeden elimizi kaldırmadan etkili bir şekilde yazı yazabilmeyi sağlamasıdır. GitHub üzerinden proje paylaşımı yapanların sıklıkla karşılaştığı README.md dosyası da markdown özellikleri kullanarak yazılmış bir örnek dosyadır diyebiliriz. 

Yazılımcılar için mouse kullanmak zaman kaybıyla eşdeğerdir diyebiliriz. Klavye üzerinden sürekli elimizi kaldırıp mousela bir yerlere tıklayarak metin üzerinde düzenleme yapmak yerine klavye üzerinde elimizi kaldırmadan daha hızlı nasıl yazabileceğimizi düşünmemiz gerekir. İşte markdown dosyaları ile word dosyaları arasındaki temel fark da burada başlar. Bir word dosyasında başlıkları, tabloları ve hatta yazı tiplerini belirlerken sık sık mouse ile panel üzerinden çeşitli kontroller yapmamız gerekir. Markdown dosyalarda ise belirlenen standartları kullanarak elimizi klavyeden kaldırmadan tablolar oluşturabilir ve yazı stillerini değiştirebiliriz. Yalnızca kod yazdığımıza kendimizi açıklamak için değil, kitap yazmak gibi daha geniş işlemlerde dahi bu dilin standartlarından faydalanabiliriz. 

Markdown dosyası oluşturmak için kullandığınız IDE üzerinde yeni bir dosya açarak uzantısını .md olarak belirlemeniz yeterli olacaktır. Eğer IDE'niz bu standartı destekliyor ise, dosyayı oluşturduktan sonra kolaylıkla yazmaya başlayabilirsiniz. Eğer online olarak markdown dosyalarını kullanmak isterseniz typora.io üzerinden de istediğiniz özelliklere ulaşarak standarlar dahilinde yazı yazabilirsiniz. 

Markdown Yazı Standartları Nelerdir? 

Markdown işaretleme dilinin ne olduğunu öğrendikten sonra nasıl kullanıldığını öğrenmeye başlayabiliriz. Bu standart içerisinde çeşitli noktalama işaretleriyle farklı yazı stilleri yakalayabilmek mümkündür. 

1. İlk olarak başlıklardan başlayalım. HTML dilinde <h1>, <h2> şeklinde verilen başlık taglerini burada işareti kullanarak tanımlayabilirsiniz. h ifadesinin sayısal değeri, # işaretininde sayısını etkilediği için kısaca şöyle diyebiliriz;

# -> <h1> </h1>

## -> <h2> </h2>

##### -> <h5> </h5> 

####### -> <h7> </h7> 

Yukarıdaki örnekte bir # işaretiyle, HTML dilinde <h1> değerine karşılık gelen büyük başlık türünü elde etmiş olursunuz. Yani textlerinize # işareti eklediğiniz zaman markdown sayesinde yazı HTML formatında h1 özellikleriyle gösterilmiş olur. 

NOT: Daha kısa ve hızlı bir kullanım isterseniz başlıktan önce h1 için =, h2 için ise - kullanmak markdown tarafından desteklenen kısa yollardan biridir. 

2. HTML dilinde başlıklardan sonra en çok kullanılan tag paragraf <p> </p> tagıdır. Markdown formatında paragraf oluşturmak istediğiniz zaman herhangi bir işaret kullanmanıza gerek yoktur. Alt satıra geçtiğiniz takdirde işaret koymadan oluşturacağınız her şey paragraf yapısı ile gösterilecektir. 

3. Markdown ile birlikte yazı stillerinde değişiklik yapmak istediğiniz zaman * işaretini kullanmanız gerekir. 

**...** -> kalın yazı

*...* -> eğik yazı

***...*** -> hem eğik hem kalın yazı oluşturabilirsiniz. 

4. Bu tür dosyalarda linkler için de belirlenen bir standart bulunmaktadır. Markdown özellikli dosyanıza link eklemek isterseniz;

[]() -> kullanabilirsiniz. Buradaki [] linke ait açıklamaları yani üzerine tıklarken göreceğimiz ifadeyi içerir. () ise link bağlantısının koyulacağı yerdir. İki işaret arasında boşluk bırakmamaya da dikkat etmek gerekir. 

5. Yapısı linklerin kuruluşuna oldukça benzeyen bir diğer özellik ise imagelardır. Markdown dosyamıza bir image eklemek istediğimiz zaman;

![]() -> ifadesi içerisine aynı linkte olduğu kurallarla eklemeler yaparak görselimizin HTML dökümanında gözükmesini sağlayabiliriz. 

6. Markdown dosyalarımıza kod satırları eklemek istediğimiz durumlarda olabilir. Bu durumda backtick adı verilen ``` işareti arasında kodumuzu yazabiliriz. Örneğin, 

``` javascript            (hangi dil olduğunu söylerseniz onu tanır.)

console.log(".....")

```

şeklinde kod bloklarını doğru şekilde text dosyasınıza işaretleyerek ekleyebilirsiniz. 

7. Bir diğer özellik ise tablolar üzerine tanımlanmış standartlardır. Markdown dosyalarında tablo oluşturmak istediğimiz zaman |....| arasına gelecek olan ifadelerle doğru görünümü elde edebiliriz. Örneğin;

|Başlık1|  |Başlık2|  |Başlık3| 

şeklinde tablonun bir satırını oluşturabilir ve bu yapı üzerinden daha büyük tabloları şekillendirebiliriz. Tıpkı word dosyalarında olduğu gibi yazıları sağa, sola ya da ortaya hizalamak istersek; 

|: .... |  -> sağa hizalama

|: .... :| -> ortaya hizalama 

| .... : | -> sola hizalama 

kullanımları ile tablolarımızın içerisindeki verilerin görünüşünü düzenleyebiliriz. 

8. Eğer yazdığımız textler arasında ince bir çizgi halinde boşluk bırakmak istersek, yazı satırından sonra bir satır aşağıya inerek --- şeklinde yazabiliriz. Bu çizgilerden sonra tekrar bir satır aşağıya inip yazmak istediğimiz şeye devam edebilir ve HTML dosyası üzerinde bu iki satır arasında ince bir çizgiyle ayrılmış bir alan oluştuğunu görebiliriz. 

9. Tablolardan daha sık kullandığımız bir diğer özellik ise listelerdir. HTML dilinde <ul> </ul> ile oluşturulan listeleri eğer burada da oluşturmak istersek liste elemanlarından önce - (tire) koymamız yeterlidir. Bu sayede Unordered list yapısındaki kalın nokta yapıları ile birlikte bir liste oluşturmuş oluruz. 

Eğer sıralı bir liste oluşturmak istersek liste elemanlarından önce 1. / 2. ... şeklinde sayılarını vermek yeterli olacaktır. Ayrıca eğer biz sayıları verirken bir hata yapar ve sıralı devam etmezsek markdown bunu bizim için düzeltecek ve doğru sıraya koyacaktır. 

10. Son özelliğimiz ise alıntılar. Markdown dosyalarımız içerisinde alıntı yapmak istediğimiz zaman yazının başında > kullanmak yeterlidir. Bu sayede dosya o kısmın alıntı olduğunu işaretler ve diğer metin yapılarından daha farklı bir şekilde görünmesini sağlar. 

Yazılım ve teknoloji dünyasında Markdown işaretleme dili büyük kolaylık sağlayan ve sıklıkla kullanılan bir standarttır. Basit işaretlemeleri öğrenerek görsel açıdan daha gelişmiş yazılar ortaya koymanın ve bunu en hızlı şekilde yapmanın sektörümüz açısından oldukça önemli olduğunu söyleyebiliriz. README.md dosyaları üzerinde yukarıda öğrendiğimiz standartlarla geliştirmeler yaparak projenizi daha dikkat çekici hale getirebilir ve profilinize girenleri şaşırtabilirsiniz!