Пользовательский помощник с блоком - PullRequest
0 голосов
/ 08 марта 2019

Я использую текущий выпуск 4.3.3 Middleman.

Я бы хотел определить пользовательский помощник, который принимает блок.Для простоты приведем бессмысленный пример wrap_me, который оборачивает содержимое блока указанным тегом.

Должно быть возможно реализовать это с помощью capture_html, предоставленной Padrino (что явно упомянуто в документах Middleman):

module CustomHelpers
  def wrap_me(tag, &block)
    captured = capture_html(&block)
    concat_content "<#{tag}>" + captured + "</#{tag}>"
  end
end

Использовать вERB:

<%= wrap_me('span') do %>
  Hello
<% end %>

Теперь это вызывает ошибку SyntaxError в строке 274 файла tilt-2.0.9 / lib / tilt / template.rb, которая пытается вычислить строку.Похоже, захват выходит за пределы «конца».

Что я здесь не так делаю?Как использовать capture_html и concat_content, если Tilt не позволяет помощникам иметь блоки?

Спасибо за вашу помощь!

(Я задам тот же вопрос в Middlemanфорум .)

1 Ответ

0 голосов
/ 09 марта 2019

Видимо, при использовании блоков знак равенства должен быть сброшен. Следующие работы:

<% wrap_me('span') do %>
  Hello
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...