Если вы, как и я, искали решение, но нашли хор скептиков в хоре. Вы будете рады узнать, что HAML полностью способен и в равной степени готов выполнить это требование.
В центре внимания сообщения об ошибке лежат слова в той же строке , так как haml требует, чтобы все содержимое тега было вставлено с отступом под его родителем.
Если мы хотели, чтобы пример разметки из этого вопроса работал как указано, мы изменим его следующим образом, чтобы получить желаемые результаты без дальнейших жалоб.
#index-header
%h1 title
%p motto
%h1
Our Software
%p motto
.third-column
%h2 Product 1
%p foo
.third-column
%h2 Product 2
%p foo
.third-column
%h2 Product 3
%p foo
Возможно, вы заметили, нам нужно было изменить только одно определение %h1
, которое имеет вложенный тег %p
, потому что это единственное определение, нарушающее синтаксический анализатор HAML.
Простым перемещением содержимого Our Software
в строку с отступом рядом с его аналогами мы эффективно уменьшаем когнитивное трение, давая понять, что оба элемента являются родственными элементами одного и того же родителя.
Следующий фрагмент кода создаст разметку, необходимую для заголовка страницы в стиле bootstrap 3
.page-header
%h1
Example page header
%small Subtext for header
NJoy!