在Octopress中,我試圖通過擴展Jekyll:Post
類來獲得帖子的完整文件路徑(如~/projects/site/source/_posts/2012-01-01-something.markdown
)。在Jekyll/Octopress中獲取發佈完整路徑
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
還定義的to_liquid
方法class Post
,所以我添加了full_path => File.join(@base,@name)
線存在和它的作品!我很困惑。
所以我的問題是,爲什麼我的to_liquid
方法沒有被調用?
UPDATE
從0.12.0升級傑基爾到1.2.1後,神奇地運行......
什麼你要找的是已經存在的問題[如何獲得降價後的完整路徑(HTTP:/ /stackoverflow.com/questions/38406314/is-there-a-way-to-get-the-full-path-of-the-markdown-post-in-jekyll?s=2|1.2782) – SACn