HAML создан для генерации HTML различных форм, но вы можете обмануть его, чтобы создавать другие вещи, проявляя творческий подход.Ввод того, что вы хотите получить обратно:
<text>
<text.resource>...
</text.resource>
<text>
будет работать, потому что, если HAML видит строку, которая не начинается с одного из его зарезервированных символов, он будет выводить ее как есть.Вы не можете сделать отступ, иначе он разозлится.
От документы :
Обратите внимание, что теги HTML также передаются через неизмененные.Если у вас есть какой-то HTML, который вы не хотите конвертировать в Haml, или вы конвертируете файл построчно, вы можете просто включить его как есть.Например:
%p
<div id="blah">Blah!</div>
компилируется в:
<p>
<div id="blah">Blah!</div>
</p>
Вы можете сделать:
<text>
= " <text.resource>..."
= " </text.resource>"
<text>
, если вы настаиваете на отступе:
>> <text>
>> <text.resource>...
>> </text.resource>
>> <text>
РЕДАКТИРОВАТЬ:
ОП говорит:
проблема у меня заключается в том, что элипсис (...) означает, что я должен добавить большехамл-код там (куча тегов xml, которые будут «потомками», и поэтому мне нужно «сделать отступ» для строк после комментариев ...
XML не заботится об отступе; отступЭто эстетика, предназначенная только для человеческого глаза. Я бы больше беспокоился о функциональной и синтаксической корректности. Если вам абсолютно необходим «красивый» XML, подумайте о том, чтобы запустить вывод HAML через xmllint
или tidy
сустановлены флаги xml.
Или откажитесь от HAML, потому что вы начинаете злоупотреблять им, и используйте что-то вроде ERB и / или Erubis, что является более свободной формой и менее заботящимся о синтаксисе, или переходите к старой школе игенерировать XML с помощью операторов print
и puts
. Если вы настаиваете на использовании HAML и использовании своего iТогда я бы посоветовал проконсультироваться с разработчиками HAML и посмотреть, есть ли у них рекомендации.Это может быть HAML-фильтр, который будет полезен, или какой-то другой способ принудительно встроить уровень отступа.
Мой совет, как кто-то, кто делал это долгое время и бывал там слишком много раз:Как разработчики программного обеспечения, они могут потерять из виду конечную цель - быть функциональными и перейти к какому-нибудь упражнению по бритью, волнующемуся о мелочах, которые не достигают ничего реального.Если только не указано, что каждое пространство отступа является священным, я бы больше беспокоился о получении правильного XML и продолжении, а затем вернусь к нему и посмотрю, можно ли его откорректировать до совершенства.