Haml에서 =
을 사용하여 스크립트 결과를 포함 시키면 Haml은 삽입 된 텍스트를 다시 들여 쓰기하여 포함 된 텍스트의 들여 쓰기와 일치시킵니다.
%html
%body
.foo
= insert_something
및 insert_something
이 같은 일부 HTML 반환 : 다음
<p>
This is possily generated from Markdown.
</p>
을 결과 HTML은 다음과 같이 표시됩니다
<html>
<body>
<div class='foo'>
<p>
This is possily generated from Markdown.
</p>
</div>
</body>
</html>
당신이 HAML이있는 경우 예를 들어, 그것은 다음과 같이 보입니다
p
요소가 문서의 위치와 일치하도록 들여 쓰여진 모양에 유의하십시오. 일반적으로 HTML의 공백을 없애기 때문에 이것은 중요하지 않습니다. 그러나 공백이 중요한 HTML 요소, 특히 pre
이 있습니다. 그것은 여기에 무슨 일이 일어나고처럼 보이는 무엇
은 마크 다운 그것이 당신의 HAML 파일에 포함 된 경우와 (당신이 포함 = yield
와 HAML 레이아웃을 사용하고 추측하고있어
<pre><code>line 1 is fine
line 2 is wrapping
</code></pre>
같은 것을 생성하는 것입니다 Markdown) 페이지를 볼 때 페이지가 들여 쓰기되고 공백이 표시됩니다. 추가 공백이 없도록 첫 번째 줄이 여는 태그 바로 뒤에 어떻게 있는지 주목하십시오.
이 문제를 해결할 수있는 몇 가지 방법이 있습니다. :ugly
option을 설정하면 Haml은 다음과 같은 블록을 다시 들여 쓰지 않습니다 (미안 해요, Nanoc에서 Haml 옵션을 어떻게 설정했는지 모르겠습니다).
find_and_preserve
helper method을 사용할 수도 있습니다. 들여 쓰기를 할 때이 여분의 공백의 영향을받지 않도록 이것은 HTML 엔티티 

에 공백 민감한 태그의 모든 줄 바꿈을 대체
= find_and_preserve(yield)
HAML이 find_and_preserve
를 사용하는 쉬운 방법을 제공합니다; ~
works the same as =
, except that it runs find_and_preserve
on the result이므로 할 수 있습니다.
~ yield
감사합니다! 'find_and_preserve' 메소드는 매력처럼 작동합니다! :) – mrmnmly
내가 잘못 본 것이 아니라면'= find_and_preserve (yield)'대신'~ yield '를 사용할 수 있습니다. – ddfreyne
@ddfreyne - 맞습니다. ['~'는'= find_and_preserve'와 동일하게 작동합니다.] (http://haml.info/docs/yardoc/file.REFERENCE.html#tilde). 나는 대답에 그것을 추가 할 것이다. – matt