Chr*_*Orr 5 date liquid jekyll
在Jekyll,我真的希望将日期格式设为"2012年12月2日" - 即使用序数,而不仅仅是"2012年12月2日".
我发现ordinalizeRuby 中有一个函数可以做到这一点,但我没有把它与Liquid和Jekyll结合起来.
如何按照我的意愿格式化日期?
我通过编写以下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 }}在我的网站上使用,一切都很顺利.
在 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