Low priority hooks are being run before higher priority hooks. This is easy to demonstrate with the following plugin: 1.upto(10).each do |n| Jekyll::Hooks.register :site, :after_reset, priority: Jekyll::Hooks::PRIORITY_MAP[:low] do puts "Low #{n}" end Jekyll::Hooks.register :site, :after_reset, priority: Jekyll::Hooks::PRIORITY_MAP[:normal] do puts "Normal #{n}" end Jekyll::Hooks.register :site, :after_reset, priority: Jekyll::Hooks::PRIORITY_MAP[:high] do puts "High #{n}" end end Sorting by the negative of the priority and then by the order the hook was added does the right thing. |
||
---|---|---|
.. | ||
jekyll | ||
site_template | ||
theme_template | ||
jekyll.rb |