HTML Abstraction Markup Language - A Markup Haiku
Go to file
Takashi Kokubun ae0ca540d0 Update gemspec 2015-03-30 21:29:08 +09:00
benchmarks Fix benchmark 2015-03-30 20:19:07 +09:00
bin Add hamlit cli 2015-03-15 13:54:54 +09:00
lib Release to rubygems.org 2015-03-30 21:26:58 +09:00
spec Bundle install on rails app 2015-03-30 21:17:32 +09:00
.gitignore Integrate with tilt and add sass filter 2015-03-30 20:15:46 +09:00
.rspec Revert "Fix `bundle exec rspec` to work" 2015-03-29 00:11:36 +09:00
.travis.yml Bundle install on rails app 2015-03-30 21:17:32 +09:00
Gemfile Name the gem "hamlit" 2015-03-15 00:08:47 +09:00
LICENSE.txt Make plain text parser better 2015-03-30 14:12:02 +09:00
README.md Update a benchmark result 2015-03-30 21:24:27 +09:00
Rakefile Reflect exit status to build 2015-03-30 21:01:57 +09:00
hamlit.gemspec Update gemspec 2015-03-30 21:29:08 +09:00

README.md

Hamlit Build Status

Hamlit is a high performance haml implementation.

Installation

Add this line to your application's Gemfile:

gem 'hamlit'

or just replace gem "haml" with gem "hamlit".

Features

Fast rendering

Hamlit's rendering is 8.47x times faster than original haml.

    hamlit:   133922.9 i/s
    erubis:   123464.1 i/s - 1.08x slower
      slim:   110404.3 i/s - 1.21x slower
      faml:    92009.3 i/s - 1.46x slower
      haml:    15810.4 i/s - 8.47x slower

This benchmark is the same as slim-template/slim's one for fairness. (The result on travis CI)

Better parser

Haml's attribute parser is not so good. For example, raises syntax error for %a{ b: '}' }. Hamlit's attribute parser is implemented with Ripper, which is an official lexer for Ruby, so it can able to parse such an attribute.

Passing haml-spec

haml/haml-spec is a basic suite of tests for Haml interpreters. For all test cases in haml-spec, Hamlit behaves the same as Haml (ugly mode only, which is used on production).

License

MIT License