Tarihleri "Türkçe" Görüntülemek

Liquid syntaxı ile tarihleri, eğer ki “19.05.2018” formatında elde etmek istiyorsak işimiz kolay. page.date | date: "%d.%m.%Y" ile sayılarla istediğimiz formatı elde etmemiz mümkün. Eğer istediğimiz format, “19 Mayıs, 1919” şeklinde ise page.date | date: "%d %b, %Y" burada İngilizce “19 May, 1919” dönecektir.

Türkçe’ye çevirmek için, herbir ay için Türkçe karşılıklarını saklayacağımız bir .yml dosyasını oluşturmalıyız. _data/tr.yml locationında açtığımız dosyanın içeriği aşağıdaki gibi olabilir:

months:
  - Ocak
  - Şubat
  - Mart
  - Nisan
  - Mayıs
  - Haziran
  - Temmuz
  - Ağustos
  - Eylül
  - Ekim
  - Kasım
  - Aralık

Artık Türkçe aylara erişebiliriz. Örneğin Mayıs için; site.data.tr.months[4] yazmalıyız. Syntaxı şöyle genelleyebiliriz:

site.data.yml_file_name.array_name[index]
  {% assign d = page.date | date: "%d" %}
  {% assign m = page.date | date: "%m" %}
  {% assign m = page.date | date: "%-m" | minus: 1 %}
  {% assign month = site.data.tr.months[m] %}
  {% assign year = page.date | date: "%Y" %}
  {{d m, Y}} <!--19 Mayıs, 1919-->

Biraz daha zorlaştırıp günleri elde etmeye çalışalım. Burada günü, ayın kaçıncı günü olduğu bilgisiyle elde edemeyeceğimiz için daha farklı bir yöntem uygulamak zorundayız. Bu sefer aşağıdakine benzer bir .yml veri dosyasına ihtiyacımız olacak. Örnekte dosyanın adı date_translation.yml.

en:
  abbr_days: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  days: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

tr:
  abbr_days: ['Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt', 'Pa']
  days: ['Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi', 'Pazar']
  {% assign A = page.date | date: "%A" %}
  {% assign days = site.data.date_translation.en.days %}
  {% for day in days %}
      {% if day == A %}
      {% assign A = site.data.date_translation.tr.days[forloop.index0]%}
      {% break %}
      {% endif %}
  {% endfor %}
  {{A}}

Kod aslında kendini açıklar nitelikte olsa da kısaca açıklayalım. İngilizce gün değeri A değişkenine atanır ve days dizisindeki herbir day’in A’ya eşit olup olmadığı kontrol edilir. A’ya eşit olduğu yerdeki indexi kullanarak Türkçe günlerin tutulduğu diziden ilgili değeri A’ya tekrar atanır. Benzer şekilde, abbr_days dizisi için de bir döngü oluşturulabilir.

İlgili bağlantılar:

Next Episode

published on 21.05.2018

Jekyll’a yeni başlayan biri için, kod bloklarını görüntülemek problemli bir iş olabilir. En azından benim için epey problemli oldu. Bu yazıda, karşılaşabileceğiniz problemlere karşı birkaç ipucu vermeye çalışacağım. […] Eğer, yazılar kod bloğu içeriyorsa ve anasayfada postları …

Previous Episode

published on 20.05.2018

Jekyll’da herhangi bir yerde (aynı ya da farklı dosyalarda) aynı kodu tekrar kullanacaksak bu kodu include.html dosyası içerisinde saklayıp oradan çağırırız. Böylece tekrarın önüne geçeriz. Bir nevi fonksiyon tanımlamak gibi düşünülebilir. Github’daki bloglarda görmüşsünüzdür genelde …

TAG CLOUD