Class: Liquid::Capture
Overview
Capture stores the result of a block into a variable without rendering it inplace.
{% capture heading %}
Monkeys!
{% endcapture %}
...
<h1>{{ heading }}</h1>
Capture is useful for saving content for use later in your template, such as in a sidebar or footer.
Constant Summary collapse
- Syntax =
/(#{VariableSignature}+)/o
Constants inherited from Block
Instance Attribute Summary
Attributes inherited from Tag
#line_number, #nodelist, #parse_context, #tag_name
Instance Method Summary collapse
- #blank? ⇒ Boolean
-
#initialize(tag_name, markup, options) ⇒ Capture
constructor
A new instance of Capture.
- #render_to_output_buffer(context, output) ⇒ Object
Methods inherited from Block
#block_delimiter, #block_name, #nodelist, #parse, #raise_tag_never_closed, raise_unknown_tag, #render, #unknown_tag
Methods inherited from Tag
disable_tags, #name, parse, #parse, #raw, #render
Methods included from ParserSwitching
#parse_with_selected_parser, #strict_parse_with_error_mode_fallback
Constructor Details
#initialize(tag_name, markup, options) ⇒ Capture
Returns a new instance of Capture.
18 19 20 21 22 23 24 25 |
# File 'lib/liquid/tags/capture.rb', line 18 def initialize(tag_name, markup, ) super if markup =~ Syntax @to = Regexp.last_match(1) else raise SyntaxError, [:locale].t("errors.syntax.capture") end end |
Instance Method Details
#blank? ⇒ Boolean
35 36 37 |
# File 'lib/liquid/tags/capture.rb', line 35 def blank? true end |
#render_to_output_buffer(context, output) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/liquid/tags/capture.rb', line 27 def render_to_output_buffer(context, output) context.resource_limits.with_capture do capture_output = render(context) context.scopes.last[@to] = capture_output end output end |