speed_stache
speed_stache copied to clipboard
An extension to Mustache that compiles templates to C
Speed 'Stache compiles Mustache templates to C, and ultimately to object files which can be required in your Ruby code. It also provides a simple extension to Mustache to use those object files.
simple.html ---
What's up?
{{#cool?}} You're cool! {{/cool?}}
Love,
Tyler
simple.rb ---
require 'mustache'
class Simple < Mustache def name "Bob" end
def cool?
true
end
end
Simple.new.to_html
Pretty simple example. Obviously you just drop these files in the same directory, require mustache and go to town. Using Speed 'Stache isn't much harder.
The first step is to actually compile the templates. At a Terminal...
speed_stache/bin/compile_mustache simple.html
That should output some Makefile junk and leave you with a simple_template.o file.
Next we modify simple.rb above to the following:
simple.rb ---
require 'mustache' require 'speed_stache' require 'simple_template'
class Simple < Mustache include SimpleTemplate
def name
"Bob"
end
def cool?
true
end
end
Simple.new.to_html
It should output roughly the same thing as the first run above, but about 50 times faster!
*** LIMITATIONS ***
This doesn't actually implement Mustache in full yet. It handles output and conditionals, but that's it. No partials, no iterators... Not yet anyway!