HAML - добавить тип = текст /css в тег <style> с помощью: css-фильтра - программирование

HAML - добавить тип = текст /css в тег <style> с помощью: css-фильтра

Я пытаюсь добавить некоторый встроенный CSS в файл HAML. Я думал, что

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

создаст:

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

но это не так. Поскольку он не выполняет type="text/css" и производит:

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

Я мог бы просто использовать грубую силу %style(type="text/css"), но фильтр HAML :css кажется, что он должен быть более "изящным"?!? Или я пропустил что-то (я редко разбираюсь с встроенным CSS) и type больше не нужно?!?

4b9b3361

Ответ 1

Haml выведет атрибут type, если для параметра format установлено значение xhtml или html4. Если формат установлен на html5, атрибут будет опущен.

Смотрите Документы Haml по параметрам и источник фильтра CSS.

По умолчанию в Haml 3.1.x есть xhtml, за исключением Rails, когда он html5, поскольку это значение по умолчанию для Rails. В Haml 4+ по умолчанию будет html5. (Также в 4+ теги CDATA будут отсутствовать по умолчанию, если формат html4 или html5.)

Ответ 2

type по умолчанию text/css с HTML5 и всегда делал это на практике (т.е. в реализациях браузера).

Итак, да, type="text/css" не требуется (и никогда не было).