タグ

hamlitに関するiR3のブックマーク (4)

  • https://qiita.com/creasty/items/264819eb1246290bcb32

    iR3
    iR3 2015/07/27
    ふむふむ
  • Ripperによるhamlのattributeパースの話 - k0kubun's blog

    Hamlのパーサぶっ壊れてる問題 家のHamlは以下の入力を与えるとSyntaxErrorになる。 %div{ foo: "}" } これはHamlが単に{と}の数だけ合わせてパースしているからである。 *1 通常この問題を解決するには字句解析器を使い、現在パースしているのが何のトークンなのか判別する必要がある。 Hamlitではこの問題を解決するため、標準ライブラリとして提供されているRipperを使っている。 そのため、Hamlitでは上記の入力を以下のように正しく解釈することができる。 <div foo='}'></div> HamlのattributeがRubyの式としてvalidでない問題 上記のhamlの%divを取り除いた部分であればRubyのHashとして解釈できそうに見える。 しかし実際には以下のような入力もHamlのattributeとして有効である。*2 - has

    Ripperによるhamlのattributeパースの話 - k0kubun's blog
    iR3
    iR3 2015/07/08
    ふむふむ
  • Hamlit v1.0.0をリリースしました - k0kubun's blog

    3月末に、Hamlit v0.1.0を作りSlimやErubisより高速なHaml実装「Hamlit」をリリースしましたという記事を書いた。 haml-specを通しているのでHamlと高い互換性と持っていてかつ速いという宣言をしたものの、実際にリリースしてみると随所からバグ報告が上がり、 hamlを置き換えただけでは動かない haml-specは互換性の保証にはならず、速いのは互換性が低いからでは? このベンチはHamlithtmlエスケープをしていないから速いだけでは? のような声が随所から上がった。 今日、attributeのescapeに対応し、 全てのissueを潰した上で、Slimより速いベンチを出すことに成功した ので、v0.1.0での問題点やそこからの変更点などについて書きたいと思う。 v0.1.0での問題点 haml-specガバガバ問題 @k0kubun それな— 獣

    Hamlit v1.0.0をリリースしました - k0kubun's blog
    iR3
    iR3 2015/07/08
    ふむふむ
  • Slimより高速なHaml実装「Hamlit」をリリースしました - k0kubun's blog

    slim-template/slimのcompiled benchでオリジナルのhamlに比べ8倍高速に動作するhaml実装をリリースしました。 github.com なぜ高速なHaml実装を作ったのか 個人的にhamlのシンタックスのほうが好きなので、「hamlは遅いからslimを使う」みたいな人を減らしたかったから。以前slimの普及に貢献したんだけど、気が変わったのでhamlを応援することにした。 実は他にも既にeagletmt/famlという高速なHaml実装が存在していたんだけどベンチを走らせたらslimより遅かったので、slimを打倒するべく再実装した。 どのくらいHamlより速いのか 自分の実装に都合のいいベンチマークを作るのは簡単なので、公平性を期すためにslim-template/slimのcompiled benchと同じものを使い、誰でも同じ環境が使えるtravisで

    Slimより高速なHaml実装「Hamlit」をリリースしました - k0kubun's blog
    iR3
    iR3 2015/07/08
    hamlitはその後どれくらい広まっているのかな? #debeg もくもくで見てる
  • 1