Underscore templates compiler for Ruby
Imagine, you've got a rails project using
Backbone.js and just want to use
the Underscore.js's
_.template
function
without having an anonymous function like
ejs does.
underscore-template
allows you to use
sprockets
's'
JST
templating directly with _.template
function
Just add this to your Gemfile
:
gem 'underscore-template'
Example :
<!-- templates/hello.jst._ -->
<div>Hello, <span><%= name %></span>!</div>
// application.js
//= require templates/hello
$("#hello").html(JST["templates/hello"]({ name: "Sam" }));
Invoke the function in a JavaScript environment to produce a string value. You can pass an optional object specifying local variables for template evaluation.
The underscore template tag syntax is as follows:
-
<% ... %>
silently evaluates the statement inside the tags. -
<%= ... %>
evaluates the expression inside the tags and inserts its string value into the template output. -
<%- ... %>
behaves like<%= ... %>
but HTML-escapes its output.
If you have the ExecJS
library and a suitable JavaScript runtime installed, you can pass a
template and an optional hash of local variables to UnderscoreTemplate.evaluate
:
Underscore::Template.evaluate("Hello <%= name %>", :name => "world")
# => "Hello world"
© 2012 Jean-Sébastien Ney
(actually most of credits goes to @sstephenson)
Released under the MIT license