我正在使用Octopress生成静态html页面。我试着用这指令改变日期的语言(它是德语的,但我们只需要代码)。当我将date.rb从这个德国网站复制到我的octopress/plugins时,我有以下错误:液态异常: blog/path/ to /post/index.html中#的未定义方法`deep_merge‘。
如果我在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然后,对博客/档案中的日期进行语言修改,而不是在帖子中更改日期。我发现了一个类似的问题,它已经通过更改deep_merge→Utils.deep_merge_hashes来解决。因此,我理解我需要在我前面介绍的代码中做同样的事情。我认为这应该很容易,但是由于我不知道Ruby,所以我还没有成功。在这种情况下,你能告诉我如何使用Utils.deep_merge_hashes而不是deep_merge吗?
发布于 2015-04-28 14:35:51
这项工作(ruby 2.1.1 - Jekyll 2.5.3)
def to_liquid(attrs = nil)
date_format = self.site.config['date_format']
new_datas = {
"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 }
Utils.deep_merge_hashes(self.data, new_datas)
endhttps://stackoverflow.com/questions/29915880
复制相似问题