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/
This commit is contained in:
Will Norris 2015-11-03 07:18:14 -08:00
parent a64a5b9571
commit 1bfe5a6f95
3 changed files with 16 additions and 1 deletions

View File

@ -15,6 +15,7 @@ module Jekyll
after_reset: [], after_reset: [],
post_read: [], post_read: [],
pre_render: [], pre_render: [],
post_render: [],
post_write: [], post_write: [],
}, },
:pages => { :pages => {
@ -30,6 +31,7 @@ module Jekyll
post_write: [], post_write: [],
}, },
:documents => { :documents => {
post_init: [],
pre_render: [], pre_render: [],
post_render: [], post_render: [],
post_write: [], post_write: [],

View File

@ -179,6 +179,8 @@ module Jekyll
page.render(layouts, payload) page.render(layouts, payload)
end end
end end
Jekyll::Hooks.trigger :site, :post_render, self, payload
rescue Errno::ENOENT rescue Errno::ENOENT
# ignore missing layout dir # ignore missing layout dir
end end

View File

@ -491,7 +491,7 @@ custom functionality every time Jekyll renders a post, you could register a
hook like this: hook like this:
{% highlight ruby %} {% 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 # code to call after Jekyll renders a post
end end
{% endhighlight %} {% endhighlight %}
@ -526,6 +526,17 @@ The complete list of available hooks is below:
<p>Just after site reset</p> <p>Just after site reset</p>
</td> </td>
</tr> </tr>
<tr>
<td>
<p><code>:site</code></p>
</td>
<td>
<p><code>:post_read</code></p>
</td>
<td>
<p>After site data has been read and loaded from disk</p>
</td>
</tr>
<tr> <tr>
<td> <td>
<p><code>:site</code></p> <p><code>:site</code></p>