2010-01-03 3 views
33

<pre>에 문제가 있습니다. 여기에 내 코드가 있으며 스크린 샷이 첨부되어 있습니다. 들여 쓰기를 제거하는 방법?HAML의 pre 태그에서 원하지 않는 들여 쓰기를 제거하는 방법

%pre.code 
    :escaped 
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     <html> 
      <head></head> 
      <body> 
       <form> 
        <input type="text" name="empID" /> 
        <input type="submit"/>  
       </form> 
      </body> 
     </html> 

답변

63

당신은과 같이, 엔티티를 줄 바꿈하는 pre에 줄 바꿈을 변환 할 #preserve 도우미를 사용해야합니다

%pre.code 
    = preserve do 
     :escaped 
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
      <html> 
       <head></head> 
       <body> 
        <form> 
         <input type="text" name="empID" /> 
         <input type="submit"/>   
        </form> 
       </body> 
      </html> 

을 미래에, 당신은 둥지 필터로 할 수 있습니다 당신 때문에 할 수있다 :preserve:escaped. "전 랩 공백,"사업부 또는 다른 태그 내부 변수의 텍스트와 같은 "사전"을 나타내는 경우

+1

'- preserve do'하지만 작동하지 않지만': preserve'는 작동하지 않습니다. 감사. – Cheng

+2

': preserve'는 콘텐츠를 이스케이프 처리하지 않으며': escaped'는 콘텐츠를 보존하지 않습니다. 그래서 중첩 된 필터가 필요합니다. –

+2

나는이 동일한 문제에 부딪 쳤지 만 "- preserve do"가 아니라 "= preserve do"를 사용해야했습니다. 버전 문제 일 수 있습니다. –

2

, CSS와 함께

.text.plain= preserve(@mail.body.to_s) 

를 사용합니다. 두 행은 여전히 ​​첫 행을 들여 쓰 G로 한 행 v 전을 사용하십시오.

/ BAD: Will leave the first line incorrectly indented! 
.text.plain 
    = preserve(@mail.body.to_s) 
관련 문제