diff --git a/lib/jekyll/hooks.rb b/lib/jekyll/hooks.rb index 9933337f..a9a5e735 100644 --- a/lib/jekyll/hooks.rb +++ b/lib/jekyll/hooks.rb @@ -15,6 +15,7 @@ module Jekyll after_reset: [], post_read: [], pre_render: [], + post_render: [], post_write: [], }, :pages => { @@ -30,6 +31,7 @@ module Jekyll post_write: [], }, :documents => { + post_init: [], pre_render: [], post_render: [], post_write: [], diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 88c9b0e1..5e9402f4 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -179,6 +179,8 @@ module Jekyll 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 599d4658..9ff4bbe1 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