あまり新しくないもの

新しさはそんなに求めず、自分のすきなことをやりたい人生だった

Jadeでconditional Commentがいつの間にかサポート外になっていた

Jadeをしばらくアップデートせずに使っていたので気づかなかったのですが、 どうやらconditional Commentがバージョン1.1.5からサポート対象外になっていたみたいです。

それ以前のバージョンでは

// if lt IE 9
  script('hogehoge.js')

という風に書くときちんとコンパイルされていたのですが、それ以降のバージョンではこれだと正しくコンパイルされずに謎のコメントが埋め込まれるだけ、という風になっていたみたいです。

ソースを見てみたら、生で書いてね、という感じで書いてあったのですが、さすがに毎度毎度生で書いていくのはしんどいので超簡単なmixinをとりあえず用意して運用することに。

mixin ltIE9
  <!--[if lte IE 9]>
  block
  <![endif]-->

mixin ltIE8
  <!--[if lte IE 8]>
  block
  <![endif]-->

これを適当に/mixin/_cComment.jadeとかで保存しておいて、

include /mixin/_cComment
doctype html
html(lang='ja')
  head
    meta(charset='utf-8')
    +ltIE9
      script(src='/js/lib/html5shiv.js')
    title hoge
  body
    hogehoge

とかいう感じでつかえばとりあえずはいいかなー。

もうちょっと改善できそうなので時間あいたときにでももう少し調整するかもしれません。


たぶん古いIEなんでダサいぜ、みたいな感じでサポート切ったんでしょうね。


[2014/02/06] コンディショナルコメントの表記がちょっと間違ってたので修正しました。