From 1bfe5a6f953b885732d8efd60f0c61fcdff9f5f7 Mon Sep 17 00:00:00 2001 From: Will Norris Date: Tue, 3 Nov 2015 07:18:14 -0800 Subject: [PATCH] align hooks documentation and implementation - add site post_render hook, which was documented but wasn't being called - define documents post_init hook, which was documented but caused an error when called (fixes #4102) - add docs for site post_read hook, which was being called but wasn't documented - fix container name in example: s/post/posts/ --- lib/jekyll/hooks.rb | 2 ++ lib/jekyll/site.rb | 2 ++ site/_docs/plugins.md | 13 ++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/hooks.rb b/lib/jekyll/hooks.rb index 9933337ff58..a9a5e73529c 100644 --- a/lib/jekyll/hooks.rb +++ b/lib/jekyll/hooks.rb @@ -15,6 +15,7 @@ module Hooks after_reset: [], post_read: [], pre_render: [], + post_render: [], post_write: [], }, :pages => { @@ -30,6 +31,7 @@ module Hooks post_write: [], }, :documents => { + post_init: [], pre_render: [], post_render: [], post_write: [], diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 88c9b0e17a3..5e9402f4dbb 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -179,6 +179,8 @@ def render page.render(layouts, payload) end end + + Jekyll::Hooks.trigger :site, :post_render, self, payload rescue Errno::ENOENT # ignore missing layout dir end diff --git a/site/_docs/plugins.md b/site/_docs/plugins.md index 599d4658cd5..9ff4bbe1587 100644 --- a/site/_docs/plugins.md +++ b/site/_docs/plugins.md @@ -491,7 +491,7 @@ custom functionality every time Jekyll renders a post, you could register a hook like this: {% highlight ruby %} -Jekyll::Hooks.register :post, :post_render do |post| +Jekyll::Hooks.register :posts, :post_render do |post| # code to call after Jekyll renders a post end {% endhighlight %} @@ -526,6 +526,17 @@ The complete list of available hooks is below:

Just after site reset

+ + +

:site

+ + +

:post_read

+ + +

After site data has been read and loaded from disk

+ +

:site