先日PhantomJSを使ってCSSをインライン展開する - 下林明正のブログというエントリーを書いたけど誰からも相手にされないという感じで、引き続きなんとかしたいという気持ちだった。
CSSの擬似セレクターとかにまできちんと対応しようと思うと先日のエントリーのようにWebKitのような完全な実装に乗っからなければならないというような感じになって辛いので、 妥協してその辺は適当に済ませようという感じになった。
そんなところでCSS::Inlinerでもそんな変なことにはならないという噂を聞いたので再確認してみたところ、以下の様なコードでCSSの擬似セレクターをそんなに使っていないHTMLに対して実行してみたところ、うまくいった。
#!/usr/bin/env perl use Encode; use CSS::Inliner; my $inliner = new CSS::Inliner(); $inliner->read_file({ filename => $ARGV[0], charset => 'utf8'}); print encode_utf8($inliner->inlinify());
先日のエントリーでは不具合があったということを書いていたが、
という感じだった。
そんなわけで、現実の問題を解決するには各担当者と調整してこうした妥協案を採用していくのが良いだろう、という感じに自分の中でなった。