Skip to content

Instantly share code, notes, and snippets.

@stevecrozz
Created May 3, 2015 20:33
Show Gist options
  • Select an option

  • Save stevecrozz/ca294104609efd8205bb to your computer and use it in GitHub Desktop.

Select an option

Save stevecrozz/ca294104609efd8205bb to your computer and use it in GitHub Desktop.
octopress-hooks-shim
module Octopress
module Hooks
class Site < Jekyll::Plugin
def self.inherited(subclass)
i = subclass.new
if i.respond_to? :reset
# now it's called after_reset
Jekyll::Hooks.register :site, :after_reset, &i.method(:reset)
end
if i.respond_to? :pre_read
# there is no pre_read, so use post_read instead
Jekyll::Hooks.register :site, :post_read, &i.method(:pre_read)
end
if i.respond_to? :post_read
Jekyll::Hooks.register :site, :post_read, &i.method(:post_read)
end
if i.respond_to? :post_read
Jekyll::Hooks.register :site, :post_read, &i.method(:post_read)
end
if i.respond_to? :pre_render
Jekyll::Hooks.register :site, :pre_render, &i.method(:pre_render)
end
if i.respond_to? :merge_payload
Jekyll::Hooks.register :site, :pre_render do |site, payload|
hash = i.merge_payload(payload, site)
payload.merge! hash
end
end
if i.respond_to? :post_write
Jekyll::Hooks.register :site, :post_write, &i.method(:post_write)
end
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment