翻译Jekyll日期



我正在试着把我的Jekyll约会翻译成法语。

我遵循了关于另一个StackOverflow问题的旧回复的建议。

其想法是创建一个自定义插件,该插件:

  1. 将月份名称翻译为法语,并且
  2. <time>元素创建一个html5友好的日期格式

这是从另一个问题中复制并改编自意大利语的代码:(我的_plugins文件夹中的french_dates.rb(

module Jekyll
module FrenchDates
MONTHS = {"01" => "janvier", "02" => "février", "03" => "mars",
"04" => "avril", "05" => "mai", "06" => "juin",
"07" => "juillet", "08" => "août", "09" => "septembre",
"10" => "octobre", "11" => "novembre", "12" => "décembre"}
# http://man7.org/linux/man-pages/man3/strftime.3.html
def frenchDate(date)
day = time(date).strftime("%e") # leading zero is replaced by a space
month = time(date).strftime("%m")
year = time(date).strftime("%Y")
day+' '+MONTHS[month]+' '+year
end
def html5date(date)
day = time(date).strftime("%d")
month = time(date).strftime("%m")
year = time(date).strftime("%Y")
year+'-'+month+'-'+day
end
end
end
Liquid::Template.register_filter(Jekyll::FrenchDates)

在Jekyll中,这样调用插件:(在我的_layouts/blog.html中(

<time datetime="{{ page.date | html5date }}">{{ page.date | frenchDate }}</time>

我的问题是,当我试图在我的Jekyll网站上实现这一点时,我得到了以下错误消息:

Liquid Exception: Invalid Date: 'nil' is not a valid datetime. in /_layouts/blog.html

我如何使这个插件工作?

我想通了!

尽管我正在编辑一个页面,但日期是在我帖子的首页设置的

因此,这就是我必须调用插件的方式:

<time datetime="{{ post.date | html5date }}">{{ post.date | frenchDate }}</time>

我的代码返回nil,因为我的页面本身没有定义日期。

最新更新