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
폴더에 넣어. 이상하게도 hello
메시지가 나타나지 않아서 내 to_liquid
함수가 호출되지 않습니다.
은 더욱 이상한, 나는 또한 to_liquid
방법 class Post
의 정의 Octopress와 함께 제공된 date.rb
을 발견, 그래서 나는 거기에 full_path => File.join(@base,@name)
줄을 추가하고 작동! 나는 너무 혼란 스럽다.
이 그래서 제 질문은, 왜 내 to_liquid
방법이 를 호출되지 않았다입니까?
UPDATE
1.2.1에 0.12.0에서 지킬를 업그레이드 한 후, 그것은 마술
은 무엇 당신이 찾고있는 것은 질문에 이미있는 (내가 당신을 오해하는 경우, 어쩌면 containing_dir 당신이 찾고있는 방법입니다) [마크 다운 포스트의 전체 경로를 얻는 방법 (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