diff --git a/docs/_docs/plugins/tags.md b/docs/_docs/plugins/tags.md index 3681d623..a5a3af57 100644 --- a/docs/_docs/plugins/tags.md +++ b/docs/_docs/plugins/tags.md @@ -70,3 +70,46 @@ And we would get something like this on the page: ```html

page rendered at: Tue June 22 23:38:47 –0500 2010

``` + +## Tag Blocks + +The `render_time` tag seen above can also be rewritten as a tag block by +inheriting the `Liquid::Block` class. Look at the example below: + +```ruby +module Jekyll + class RenderTimeTagBlock < Liquid::Block + + def render(context) + text = super + "

#{text} #{Time.now}

" + end + + end +end + +Liquid::Template.register_tag('render_time', Jekyll::RenderTimeTagBlock) +``` + +We can now use the tag block anywhere: + +{% raw %} +```liquid +{% render_time %} +page rendered at: +{% endrender_time %} +``` +{% endraw %} + +And we would still get the same output as above on the page: + +```html +

page rendered at: Tue June 22 23:38:47 –0500 2010

+``` + +
+

In the above example, the tag block and the tag are both registered with + the name render_time but to register a tag and a tag block using + the same name in the same project is not recommended as this may lead to + conflicts.

+
\ No newline at end of file