포스터의 생성 시간, 마지막 수정 시간 구하기
Ruby Jekyll
🎯 포스트의 생성 시간, 마지막 수정 시간 구하기
기록
Ruby의 File
클래스를 이용한다.
수정 시간을 구하는 코드
Jekyll::Hooks.register :posts, :pre_render do |post|
# get the current post last modified time
modification_time = File.mtime( post.path )
# inject modification_time in post's datas.
post.data['updated'] = modification_time
end
생성 시간을 구하는 코드
Jekyll::Hooks.register :posts, :pre_render do |post|
# get the current post created time
create_time = File.birthtime( post.path )
# inject create_time in post's datas.
post.data['created'] = create_time
end
각 코드를 _plugins/적당한_이름.rb
로 만들고 빌드하면, post.created
/ post.updated
변수로 접근해서 사용할 수 있다. 이렇게 만들어두면 포스트마다 일일이 frontMatter에 명시할 필요가 없다.
반전
두둥
Github Page는 Jekyll의 Plugin을 사용할 수 없다. 보안 문제 때문에 불가능하다는 것이 요인이다.
결국 해결책으로 이미 만들어진 플러그인을 사용했다. ~해피엔딩~
참고 자료
-
[File Ruby API (v3.1)](https://rubyapi.org/3.1/o/file#class-File-label-Creating) - How to insert the last updated time-stamp in Jekyll page at build time? - Stack Overflow
- Github Pages에 Jekyll custom plugin 적용하기