class Jekyll::Site
Attributes
Instance variable to store the various page_hook plugins that are loaded.
Instance variable to store the various page_hook plugins that are loaded.
Instance variable to store the various page_hook plugins that are loaded.
Instance variable to store the various page_hook plugins that are loaded.
Instance variable to store the various page_hook plugins that are loaded.
Public Instance Methods
Instantiates all of the hook plugins. This is basically a duplication of the other loaders in Site#setup.
# File lib/octopress-hooks.rb, line 151 def load_hooks self.site_hooks = instantiate_subclasses(Octopress::Hooks::Site) || [] self.page_hooks = instantiate_subclasses(Octopress::Hooks::Page) || [] self.post_hooks = instantiate_subclasses(Octopress::Hooks::Post) || [] self.doc_hooks = instantiate_subclasses(Octopress::Hooks::Document) || [] self.all_hooks = instantiate_subclasses(Octopress::Hooks::All) || [] end
# File lib/octopress-hooks.rb, line 176 def read site_hooks.each do |hook| hook.pre_read(self) end old_read site_hooks.each do |hook| hook.post_read(self) end end
Allows site hooks to get access to the site before the render method is called
Returns nothing
# File lib/octopress-hooks.rb, line 192 def render site_hooks.each do |hook| hook.pre_render(self) end old_render end
Load hooks before read to ensure that Post
and Page
hooks can be triggered during initialization
# File lib/octopress-hooks.rb, line 168 def reset old_reset load_hooks site_hooks.each do |hook| hook.reset(self) end end
Allows site hooks to merge data into the site payload
Returns the patched site payload
# File lib/octopress-hooks.rb, line 203 def site_payload @cached_payload = begin payload = old_site_payload site_hooks.each do |hook| p = hook.merge_payload(payload, self) next unless p && p.is_a?(Hash) payload = Jekyll::Utils.deep_merge_hashes(payload, p) end payload end end
Trigger site hooks after site has been written
Returns nothing
# File lib/octopress-hooks.rb, line 219 def write old_write site_hooks.each do |hook| hook.post_write(self) end end