Как сохранить условные комментарии в элементе <html>в теме Diazo? - PullRequest
5 голосов
/ 29 сентября 2011

У меня есть файл темы Diazo, основанный на html5boilerplate . В теме используются условные комментарии к элементу <html> для идентификации определенных версий Internet Explorer, например,

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!-- Consider adding an manifest.appcache: h5bp.com/d/Offline -->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

Однако, когда тема применяется, Диазо, кажется, удаляет эти условные комментарии и только последние

<!--<![endif]-->

остается в окончательной разметке, производящей что-то вроде

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" class="no-js" lang="en" xml:lang="en"><!--<![endif]-->

с непревзойденным endif. Использование условных комментариев внутри тега <html> (например, внутри <head> или далее в документе), кажется, работает нормально.

Примеры файлов тем и правил, имеющих эту проблему, доступны по адресу

https://github.com/hexagonit/hexagonit.themeskel/blob/master/hexagonit/themeskel/templates/less_theme/+namespace_package+/+package+/theme_resources

Я использую plone.app.theming 1.0b8 со связанными версиями KGS от good-py.

Ответы [ 2 ]

2 голосов
/ 30 сентября 2011

Это похоже на ошибку в Diazo, пожалуйста, добавьте ее в трекер ошибок Plone с компонентом 'Diazo'.

0 голосов
/ 24 января 2012

Чтобы обойти это, можно использовать условные комментарии к тегу <body>, но Diazo также должен добавить несколько классов к тегу body для Plone, что приведет к его разрыву в <= IE8. </p>

<merge attributes="class" css:theme="body" css:content="body" />

Таким образом, 3-й вариант обхода может заключаться в использовании условных комментариев в блоке div, подобных этому.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="css/style.css">
  <title>Title</title>

</head>
<body>
  <!--[if lt IE 7]> <div class="no-js ie6 oldie"> <![endif]-->
  <!--[if IE 7]> <div class="no-jsie7 oldie"> <![endif]-->
  <!--[if IE 8]> <div class="no-js ie8 oldie"> <![endif]-->
  <!--[if gt IE 8]><!--> <div class="no-js"> <!--<![endif]-->

    <div id="content"></div>

  </div><!-- Browser Detection -->
</body>
</html>

Учитывая общую бесполезность сгенерированного html Plone, я мог бы с этим смириться.

...