我使用Octopress生成静态html页面。我尝试使用this指令更改日期的语言(它是德语,但我们只需要代码)。当我将date.rb
从这个德国网站复制到我的octopress / plugins时,我遇到以下错误:Liquid Exception:未定义的方法`deep_merge'用于#在blog / path / to / post / index.html。
如果我在date.rb
注释掉这个部分,我可以生成网站:
def to_liquid
date_format = self.site.config['date_format']
self.data.deep_merge({
"title" => self.data['title'] || self.slug.split('-').select {|w| w.capitalize! || w }.join(' '),
"url" => self.url,
"date" => self.date,
# Monkey patch
"date_formatted" => format_date(self.date, date_format),
"updated_formatted" => self.data.has_key?('updated') ? format_date(self.data['updated'], date_format) : nil,
"id" => self.id,
"categories" => self.categories,
"next" => self.next,
"previous" => self.previous,
"tags" => self.tags,
"content" => self.content })
end
然后更改博客/档案中日期的语言,但不更改帖子中的日期。我找到了一个类似的problem,它已经通过改变deep_merge→Utils.deep_merge_hashes来解决。所以我理解我需要在上面提到的代码中完全相同。我认为它应该很容易,但由于我不了解Ruby,我还没有成功。你能告诉我在这种情况下我应该如何使用Utils.deep_merge_hashes而不是deep_merge?
答案 0 :(得分:0)
这有效(ruby 2.1.1 - Jekyll 2.5.3)
ruby-2.0.0-p451