上次修改日期挂钩

时间:2019-04-22 22:10:51

标签: jekyll

我正在尝试将this hook应用于自定义集合:

挂钩

Jekyll::Hooks.register :docs, :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['last-modified-date'] = modification_time

end

收藏

collections:
  docs:
    output: true

但是目前尚未分配last-modified-date

我看到on this comment可以使用集合名称。

我正在尝试按日期对它们进行排序并列出它们,但现在该字段显示为空。在设置挂钩之前,我在doc上创建的所有字段均已创建,因此也许我需要做一些工作才能使其正常工作。

有什么想法吗? 挂钩何时开始运行? (特别是对于先前存在的文件) 我应该如何设置它以使用收藏夹?

1 个答案:

答案 0 :(得分:1)

尝试一下,当您在本地构建或服务jekyll网站时,应该在控制台中输出一些信息。这可以帮助调试。

_plugins / hook-docs-pre-render.rb

Jekyll::Hooks.register :docs, :pre_render do |post|

  # debug
  puts "Firing :docs, :pre_render from : " + File.basename(__FILE__) + " for : " + post.relative_path

  # get the current post last modified time
  modification_time = File.mtime( post.path )

  # debug
  puts "modification_time = " + modification_time.strftime('%A, %B %dth %Y at %l:%M%p')

  # inject modification_time in post's datas.
  post.data['last-modified-date'] = modification_time

end

请注意,挂钩在github页面上不起作用。