2012-01-16 17 views
22

Estoy tratando de agregar un poco de CSS en línea en un archivo HAML. Pensé queHAML - agregue tipo = texto/css a <style> etiqueta con: filtro css

%noscript 
    :css 
    .pagecontent {display:none;} 

produciría:

<noscript> 
    <style type="text/css"> 
    /*<![CDATA[*/ 
     .pagecontent {display:none;} 
    /*]]>*/ 
    </style> 
</noscript> 

pero no es así. Ya que deja fuera el type="text/css" y produce:

<noscript> 
    <style> 
    /*<![CDATA[*/ 
     .pagecontent {display:none;} 
    /*]]>*/ 
    </style> 
</noscript> 

tan sólo pudiera utilizar la fuerza bruta, pero %style(type="text/css") filtro de HAML :css parece que debe ser más "elegante"?!? O, ¿me perdí algo (raramente trato con CSS en línea) y type ya no es necesario?!?

Respuesta

19

Haml dará salida al atributo type si la opción format está configurada en xhtml o html4. Si el formato está establecido en html5, el atributo se omitirá.

Ver Haml docs on options y source of the CSS filter.

El valor predeterminado en Haml 3.1.x es xhtml, excepto en Rails cuando es html5, ya que es el valor predeterminado de Rails. En Haml 4+, el valor predeterminado será html5 en todas partes. (También en 4+ las etiquetas CDATA se omitirán de forma predeterminada cuando el formato sea html4 o html5).

+7

Un bien merecido robo de la marca verde, señor. +1 – Domenic

Cuestiones relacionadas