2016-04-21 25 views
7

Jekyll oluşturma süresindeki her bir gönderi için otomatik olarak son güncellenen zaman damgasını (sayfa için date değişkenini) eklemek istiyorum. Sanırım bir değişken bildirmek zorundayım ama değeri bu değişkene nasıl atayacağımı bilmiyorum. Örneğin, eski bir gönderiyi güncellediğimde, yayın tarihini göstermenin yanında, son güncelleme tarihini de göstermek istiyorum.Jekyll sayfasındaki son güncellenmiş zaman damgasını oluşturma zamanında nasıl eklenir?

{{Time.now}}'u denedim, ancak işe yaramıyor.

+1

{{site.time}} alanını kullanabilirsiniz. –

+0

Teşekkür ederiz! @DavidJacquel ama gerçekten istediğim site güncellemesinin tamamını şimdiki güncelleme zamanı. –

+1

Ben de öyle düşündüm. Şimdi eminim, sana bir cevap vereceğim. –

cevap

12

modified_time olan tek koleksiyon site.static_files. Bizim durumumuzda çok yararlı değil.

Jekyll sitenizdeki mesajlar için last-modified-date'u almanın bir yolu, bir çengel kullanmaktır (documentation).

_plugins/kanca eklenti son değiştirilme date.rb

Jekyll::Hooks.register :posts, :pre_render do |post| 

    # get the current post last modified time 
    modification_time = File.mtime(post.path) 

    # inject modification_time in post's datas. 
    post.data['last-modified-date'] = modification_time 

end 

Sanki Yayınlarınızda artık var: {{ page.last-modified-date }}. Ve bu tarihi {{ page.last-modified-date | date: '%B %d, %Y' }} gibi bir tarih filtresiyle biçimlendirebilirsiniz. Alan W. Smith excellent article on date Jekill Liquid date formating topic'a bakın.

Önemli not: kancalar Github sayfalarında çalışmıyor.

+0

Eklentiyi deneyeceğim ve hatırlattığınız için teşekkür ederim (sayfayı gh-sayfalarına gitmeden önce oluşturacağım). –