I’m using the current release 4.3.3 of Middleman.
I’d like to define a custom helper which accepts a block. For the sake of simplicity, here’s a nonsensical example of wrap_me
which wraps the block content with the given tag.
It should be possible to implement this with capture_html
provided by Padrino (which is explicitly mentioned in the Middleman docs):
module CustomHelpers
def wrap_me(tag, &block)
captured = capture_html(&block)
concat_content "<#{tag}>" + captured + "</#{tag}>"
end
end
Put to use in ERB:
<%= wrap_me('span') do %>
Hello
<% end %>
Now this raises a SyntaxError on line 274 of tilt-2.0.9/lib/tilt/template.rb which tries to eval a string. It appears, the capture is going beyond the “end”.
What am I doing wrong here? How to use capture_html
and concat_content
if Tilt is preventing helpers from having blocks?
Thanks for your help!
(I’ll ask the same question on Stackoverflow.)