Shinpeim/Gatchaman — pull request #3 by wneko (2013-03-18 10:24:40+00:00)
Title: 4 pull requests about 2 bugfixes, 2 refactorings

1 ⊂ 2 ⊂ 3 ⊂ 4 となっているので、適宜検討ください。

1. Embedded javascript contents into html comment syntax.
jQuery 等の HTML タグ片が入っている Javascript を展開すると、Nokogiri がパースして閉じタグを挿入したりする問題に対応しました。
でラップし、Nokogiri のパース対象から逃しています。

2. Add support for *not* fragmented HTML
〜 をルートに含むファイルについて、html, head, body 等のタグが消された状態で出力される問題を修正しました。(DocumentFragment の仕様のようです)
ルートに html があるかどうかで Document と DocumentFragment を切り替える処理を入れてあります。

3. Separate classes (Gatchaman to Path, DataScheme, Embedder)
Gatchaman クラスが大きくなってきたので、クラスを分割しました。

4. Use Parslet-CSS
parslet-css gem は未だ work in progress ですが、URL の抽出については問題なく出来ていたので正規表現から変更しました。
CSS 中の url(...) の展開が厳密になりましたが、壊れた CSS に対応できない等の問題が発生するようになりました。 (現状、文法が壊れている場合はパースエラーが発生します)