翻译 Jekyll 日期
Translating Jekyll dates
我正在尝试将我的 Jekyll 日期翻译成法语。
我在另一个 Whosebug 问题上遵循了 this old reply 的建议。
想法是创建一个自定义插件:
- 将月份名称翻译成法语,并且
- 为
<time>
元素创建 html5 友好的日期格式。
这是从另一个问题复制并改编自意大利语的代码:(french_dates.rb
在我的 _plugins
文件夹中)
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
因为日期在我的页面上未定义。
我正在尝试将我的 Jekyll 日期翻译成法语。
我在另一个 Whosebug 问题上遵循了 this old reply 的建议。
想法是创建一个自定义插件:
- 将月份名称翻译成法语,并且
- 为
<time>
元素创建 html5 友好的日期格式。
这是从另一个问题复制并改编自意大利语的代码:(french_dates.rb
在我的 _plugins
文件夹中)
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
因为日期在我的页面上未定义。