我怎样才能在Jekyll获得序数日期?

Chr*_*Orr 5 date liquid jekyll

在Jekyll,我真的希望将日期格式设为"2012年12月2日" - 即使用序数,而不仅仅是"2012年12月2日".

我发现ordinalizeRuby 中有一个函数可以做到这一点,但我没有把它与Liquid和Jekyll结合起来.

如何按照我的意愿格式化日期?

Chr*_*Orr 6

我通过编写以下Jekyll插件解决了这个问题,我将其放在_plugins具有任意名称的目录中,例如date.rb:

require 'date'
require 'facets/integer/ordinal'

module Jekyll
  module DateFilter
    def pretty(date)
      "#{date.strftime('%e').to_i.ordinalize} #{date.strftime('%B')} #{date.strftime('%Y')}"
    end  
  end
end

Liquid::Template.register_filter(Jekyll::DateFilter)
Run Code Online (Sandbox Code Playgroud)

然后 - 安装了facetsRuby gem - 我能够{{ post.date | pretty }}在我的网站上使用,一切都很顺利.


Ana*_*mez 6

在 Jekyll 3.8 或更高版本中(例如使用 GitHub 页面),您可以使用新的date_to_string过滤器选项并编写:

{{ page.date | date: "%I:%M %p on %A" }}
{{ page.date | date_to_string: "ordinal" }}
Run Code Online (Sandbox Code Playgroud)

这将输出:12:23 PM on Friday 16th Jan 2015