Markdown İle Yazı Yazma Rehberi

In Makale by Osman Kırpat1 Comment

MS Word gibi kompleks yazı editörleri basit not alma ve yazı yazma işlemleri için fazla kalifiye ve büyük programlar.  İşte bu noktada devreye Markdown giriyor.

Dijital ortamda yazı yazmak istediğimizde en çok başvurduğumuz yöntem MS Word gibi bir yazı işlemcisi kullanmak oluyor. Bunun kötü bir şey olduğunu iddia etmiyorum. Aksine, bazı kullanım senaryolarında bu tür programları kullanmak tek çare olabiliyor. Burada anahtar kelime “bazen“.  Her zaman değil.

Not almak ve basit yazı metinleri hazırlamak için MS Word ya da LibreOffice Writer gibi programları kullanmak, İstanbul trafiğinde işe gidip gelirken her gün römorku ile birlikte tır kullanmaktan farksız. Garip bir benzetme olduğunun farkındayım ama merak etmeyin, ne demek istediğimi yazının devamında anlayacaksınız.

MS Word gibi kompleks yazı editörleri basit not alma ve yazı yazma işlemleri için fazla kalifiye ve büyük programlar. Google amcaya soru sorabilmek için son model bir oyuncu bilgisayarına ihtiyacınız var mı? Yok. Tıpkı İstanbul trafiği için tır motoruna ihtiyacınızın olmaması gibi.

Yazı işlemcilerinde hazırladığınız bir yazıyı kaydettiğiniz zaman, kullandığınız fontlara ait bilgileri, sayfadaki kenar boşluklarının genişliğini, kullanılan görselleri ve sayfa boyutları gibi onlarca veriyi kendine has uzantıya sahip bir dosyanın içine kaydetmiş olursunuz. MS Word kullanıcıları meşhur .docx uzantılı dosyalarla mutlaka çalışmıştır. Bu arkadaşlar aslında sıkıştırılmış birer klasör. Onları 7-Zip ya da Winrar gibi bir programla açmaya kalkarsanız içeriklerini daha rahat görebilirsiniz.

zip-fileSürüsüne bereket .xml uzantılı gereksiz kabarık dosyalara rastlayacaksınız. Basit bir metni kaydetmek için öyle kapsamlı bir operasyona gerek var mı gerçekten? Bu dosyaları tırın römorku olduğunu hayal edin. Her gün işe gidip gelirken mecburi olarak yanınızda taşımak zorunda olduğunuz gereksiz bir yükten bahsediyorum.

Ayrıca, .docx gibi dosyaların sadece yazıldıkları metin editörleri (bu durumda MS Word) için optimize edildiklerini unutmayalım. Onları başka yazı editörlerinde açmaya kalktığınızda görüntüde uyumsuzluklara rastlayabilirsiniz.

Sadece spesifik bir yazı editörü tarafından açılan spesifik bir dosya ile çalışmayı, tır için park yeri aramak gibi düşünün. Onları sadece tırlara ait yerlere park edebilirsiniz. Belki boş bulduğunuz başka yerlere de çekebilirsiniz ama ceza yeme riskiniz var.

O halde önerin ne?

Doğru iş için doğru araç gereçleri kullanılmalı. Not alırken yazı editörlerinden bağımsız dosya formatları ile çalışabiliriz; mesela HTML ile…

Şaka yapmıyorum, HTML de tıpkı sıkıştırılmış .docx klasörlerinin içinde bulunan .xml uzantılı dosyalarda kullanılan XML gibi bir etiketleme dili. Yani yazdığımız yazının nasıl görüneceğine karar veren global bir format. Düşünsenize, HTML ile yazdığınız bir yazı her tarayıcıda çalışıyor. Ekstra herhangi bir program kurmaya gerek yok. HTML’in içeriğini değiştirebilmek için öyle kompleks bir kelime işlemciye de ihtiyaç yok. Notepad dahi işinizi görebilir. Ama hayır, sizden HTML yazmanızı istemiyorum. Hiçbir insan evladı sırf boş bir ekrana “Ali ata bak.” yazdırabilmek için alttaki çılgınlıkla uğraşmak zorunda kalmamalı!

<html>
    <body>
        <div>
            <p>Ali ata bak.</p>
        </div>
    </body>
</html>

Bizim ihtiyacımız olan format daha basit olmalı. Tıpkı HTML gibi geniş bir kitle tarafından kullanılan açık bir format bulmalıyız ama aynı zamanda o format bizi basit bir not almak için bin takla atmak zorunda bırakmamalı. Ayrıca bu formatı da tıpkı HTML’de olduğu gibi istediğimiz yazı editörünü kullanarak modifiye etme lüksüne sahip olmalıyız.

Not: Yazıda fazla ilerlemeden bahsetmem gerek, HTML ve XML gibi etiketleme dillerinin büyük bir dez avantajı var. Onları kullanarak metin yazarken, o metinlerin son hallerini görmüş olmuyoruz. (Kelime işlemcilerin en büyük avantajı size bu özelliği sunması.) Mesela HTML ile önceki örnekte yazdığım metni kalın harfler ile görebilmek için, o metni alttaki gibi yazmalıyım:

<p><b>Ali ata bak.</b></p>

Dosyayı kaydetmeli ve daha sonra onu bir tarayıcıda açıp kontrol etmeliyim. En ufak bir değişiklikte aynı adımları tekrar tekrar yerine getirmeliyim.

aint-nobody-got-time-for-that

Merak etmeyin, kolayı var. Yazının devamında değineceğim.

Ehem! Fazla uzatmayalım; karşınızda Markdown!

Markdown da tıpkı HTML gibi bir etiketleme dili. Yani yazdığınız yazının bir yerlerine özel etiketler bırakıyorsunuz, yazının son halini gördüğünüz program da o etiketlere bakarak yazının nasıl gözükeceğine karar veriyor. Bu program herhangi bir kelime işlemcisi ya da tarayıcı olabilir. Bu dili kullanabilmek için herhangi bir yere .md veya .markdown uzantılı dosya oluşturmanız yeterli. Daha sonra onu dilediğiniz yazı editörü ile açabilirsiniz.

Markdown ilk çıktığında amacı basitleştirilmiş HTML olmaktı. Zira onu bire bir HTML’e dönüştürmek mümkün. HTML’e az çok hakimseniz, Markdown’a kolaylıkla alışabilirsiniz. Örnekler ile nasıl bir şey olduğunu görelim mi?

  • “Ali ata bak.” örneğinin bir benzerini Markdown ile yeniden yazalım.
    Ali ata bak.
    
    Ayşe topu at.
    

    Hiç öyle bodydivp gibi etiketler ile uğraşmaya gerek yok. Her satır bir paragraf oluyor. Satırlardan önce bırakılan boşluklar da onların birer paragraf olduğunu gösteriyor.

  • Ayşe top koleksiyonunu listelemek istediğinde ne yapacak peki?
    - Basketbol
      - Normal
        - Turuncu
      - Özel Üretim
    - Futbol
    - Tenis
    

    Görüntüsü de şöyle oluyor:

    • Basketbol
      • Normal
        • Turuncu
      • Özel Üretim
    • Futbol
    • Tenis
  • İtalikkalınkalın italik ve çizik yazı nasıl yazılıyor bir bakalım.
    *italik*
    **kalın**hazırlanmış
    ***kalın italik***
    ~~çizik~~
    
  • Bu yazının başlığını büyük yazabilmek için kullandığım “H1” etiketini ve diğer “H” etiketlerini görelim.
    # Bu bir H1 etiketi.
    ## Bu bir H2 etiketi.
    ### Bu bir H3 etiketi.
    #### Bu bir H4 etiketi.
    ##### Bu bir H5 etiketi.
    
  • Yukarıdaki örneklerde kullandığım kod bloklarını nasıl oluşturduğumu merak ediyor musunuz? İşte böyle…
    ```markdown
    *italik*
    **kalın**
    ***kalın italik***
    ~~çizik~~
    ```
    
  • Bir web sitesine link vermeniz mi gerekti?
    [Technopat](https://www.technopat.net)'tan herkese merhaba!
    

    Görüntüsü: Technopat‘tan herkese merhaba!

  • Yazınıza resim mi eklemek istediniz?
    Lokaldeki görsel:
    ![görselin alternatif metni](gorselin/lokaldeki/adresi.jpg)
    
    İnternetten görsel:
    ![görselin alternatif metni](https:www.gorselinlinki.com/gorsel.jpg)
    
  • Ne yazık ki Markdown ile yazıyı ortalamak veya rengini değiştirmek için kolay bir yol yok. Neyse ki Markdown dosyasının içine HTML kodu yazmak mümkün. HTML etiketlerine “style” değişkeni yazarsak onların görüntüsü ile oynayabiliyoruz.
    <div style="color: red; text-align: center;">
      
      Paragraf cümlesi.
    
      Bir başka paragraf cümlesi.
    </div>
    

    Görüntüsü:

    Paragraf cümlesi.

    Bir başka paragraf cümlesi.

Not: Bu yazıda Markdown formatının tüm özelliklerine değinmedim. Teknik olarak tablo çizmek veya UML diyagramı hazırlamak da mümkün. Özellikle yazılım projelerine döküman hazırlarken bu özellikler oldukça kullanışlı oluyor. Benim verdiğim örnekler yeterli gelmediyse Markdown Guide adlı web sitesine göz atmanızı tavsiye ederim. Orada daha derli toplu bir döküman mevcut.

İyi, güzel ama ne ile yazacağız bunu?

İstediğiniz metin editörünü kullanabilirsiniz; Notepad bile olur. Markdown, HTML’e dönüştürülüp tarayıcıda açılmadan bile okuması kolay bir etiketleme dili. Ancak yazı yazarken daha başka ihtiyaçlarımız da oluyor:

  • Yazıyı farklı dosya formatlarında kaydedebilmek.
  • İmla hatalarının otomatik olarak ayıklanması.
  • Yazının son halini anlık olarak ön izleme modunda görebilmek.
  • Etiketleme yaparken kullanılan karakterlerin farklı renklerde gösterilmesi. (Anlaşılabilirliği arttırabilmek için.)

O tür işler için birkaç tane ücretsiz ve açık kaynak kodlu seçenek önerebilirim. Hepsi de üç popüler platform olan Windows, Linux ve MacOS ile uyumlu:

  • StackEdit: Google Dökümanlar gibi bulut servisleri üzerinden çalışmayı tercih ediyorsanız, açık kaynak kodlu bir servis olan StackEdit‘i kullanarak tarayıcınız aracılığı ile yazı yazabilirsiniz. Daha sonra bu notları Google Drive hesabınıza kaydetmeniz de mümkün. Eğer benim gibi yazdığınız notların nasıl çalıştığı belli olmayan bulut servislerinde durmasından haz etmiyorsanız, StackEdit’in kaynak kodlarını bilgisayarınıza indirip, onu kendi yerel sunucunuz üzerinden da çalıştırabilirsiniz.stackedit
  • Visual Studio Code: Kullanım kolaylığı, hemen her platformda çalışması, ekosisteminin devasa büyüklüğü ve açık kaynak kodlu olması sebebiyle yazılımcıların gözde editörü Visual Studio Code ve onun eklentileri ile Markdown yazmak da oldukça güçlü bir alternatif. Yeni başlayanlar veya hali hazırda Markdown kullananlar için piyasadaki en ulaşılabilir ve kullanışlı seçenek olduğunu düşünüyorum. Hatta biraz daha ileri giderek Editörün Seçimi diyorum.
    vs-codeTavsiye ettiğim eklentiler:

    • Markdown All in One: Markdown dosyalarını düzenlerken işinizi kolaylaştıracak kısa yollar sunuyor.
    • Markdown Preview Enhanced: Markdown yazınızın HTML formatına dönüştürülmesi halinde tarayıcıda nasıl duracağını yan sekmede gösteriyor. Yaptığınız değişiklikleri otomatik olarak takip ediyor.
    • Markdown PDF: “.md” uzantılı dosyanızı PDF ve HTML gibi popüler formatlara çevirip kaydediyor.
    • Turkish – Code Spell Checker: Türkçe imla hatalarını gösterip çözüm önerileri sunuyor.
  • Mark Text: Bana öyle kompleks programlar ile gelme. Bulutla, Visual Studio ile falan uğraşmak istemiyorum. Hem ne o öyle ekranı ikiye bölüp bir yandan markdown’a bakıp bir yandan da yazının son halini görmek falan… Basit bir program öner, her şey bir arada dursun, işimi görsün yeter mi diyorsunuz? O halde Mark Text tam size göre.
    mark-text
  • Vim: Son kullanıcılar için niş bir seçenek olduğu için bu arkadaşı sona ekledim. Vim sadece bir yazı editörü değil. Adına etkinlikler düzenlenen, fanatikleri olan ve az önce sunduğum seçeneklerden daha da eski olan bir yazı editörü. Şahsen Vim ile Linux bilgisayarımın terminal emülatörü üzerinden not almayı seviyorum. Terminal uygulaması olarak açtığım için hızlı çalışması ve retro arayüze sahip olması hoşuma gidiyor. Bazı eklentilerin yardımıyla yazının son halini herhangi bir tarayıcı üzerinden takip etmek ve o yazıları farklı dosya formatlarına çevirmek de mümkün. Nasıl yapıldığını anlatmayacağım, zira bir bu kadar daha yazı yazmam gerekir. Belki başka bir zaman Vim’e de vakit ayırırız.
    vim