【发布时间】:2013-10-06 22:21:31
【问题描述】:
在 Octopress 中,我试图通过扩展 Jekyll:Post 类来获取帖子的完整文件路径(类似于 ~/projects/site/source/_posts/2012-01-01-something.markdown)。
module Jekyll
class Post
alias_method :original_to_liquid, :to_liquid
def to_liquid
# test if this function is actually called
puts "hello"
original_to_liquid.deep_merge({
'full_path' => File.join(@base,@name)
})
end
end
end
我将此文件命名为full_path.rb 并将其放在plugins 文件夹中。奇怪的是,我的 to_liquid 函数从未被调用,因为 hello 消息没有出现。
更奇怪的是,我发现 Octopress 附带的date.rb 还定义了class Post 的to_liquid 方法,所以我在其中添加了full_path => File.join(@base,@name) 行并且它可以工作!我很困惑。
所以我的问题是,为什么我的 to_liquid 方法没有被调用?
更新
将 jekyll 从 0.12.0 升级到 1.2.1 后,它神奇地工作了......
【问题讨论】:
-
问题How to Get the Full Path of Markdown Post中已有您要查找的内容
标签: ruby jekyll liquid octopress