2012-11-27 4 views
1

내 HAML입니다 HAML에 HTML의 위생을 방지탈출 속성 값이/여기

<a data-icon='&amp;#9881;' href='/settings'>Settings</a> 

나는 출력하고자 :

<a data-icon='&#9881;' href='/settings'>Settings</a> 

을 그래서했습니다 시도했습니다 escaping 앰퍼샌드 :

%a{:href => "/settings", "data-icon" => "\&#9881;"} 

하지만 이스케이프는 줄의 첫 문자에만 작동합니다.

나는 또한 성공하지 탈출/보간의 다른 방법을 시도했다 :

"#{"&#9881;"}" 

일반 HTML (<a href="/settings" data-icon="&#9881">Settings</a>) 나는 해결책을 고려하지 않는 임시 변통 측정이 사용. 프로그래밍 방식으로 data-icon을 설정하려면 어떻게해야합니까?

또 다른 옵션은 다음과 같습니다

%a{:href => "#", "data-icon" => "⚙"} Settings 

하지만 내가 PUA 문자를 사용하려면? 또한 마크 업에서 캐릭터가 무엇인지 알기가 훨씬 어렵습니다.

Demo

+0

이 질문은 http://stackoverflow.com/questions/11218025/how-could-i-escape-a-in-haml-so-that-it-compiles-to-instead-of-amp의 중복입니다. - 햄 – Robin

답변

1

당신은 false 또는 :onceescape_attrs option를 설정해야합니다.

$ haml --no-escape-attrs 
%a{:href => "/settings", "data-icon" => "&#9881;"} 

출력 :

<a data-icon='&#9881;' href='/settings'></a> 

--no-escape-attrs 명령 줄에서 falseescape_attrs 옵션을 설정합니다. 다른 경우 옵션을 설정하는 방법에 대한 정보는 the docs을 참조하십시오.

(codepen.io처럼 Haml 옵션을 지정할 수 없으므로 데모를 제공 할 수 없습니다.)