EJS (Embedded JavaScript) template compiler for Ruby
EJS templates embed JavaScript code inside <% ... %> tags, much like
ERB. This library is a port of
Underscore.js's
_.template
function to
Ruby, and strives to maintain the same syntax and semantics.
Pass an EJS template to EJS.compile to generate a JavaScript
function:
EJS.compile("Hello <%= name %>")
# => "function(obj){...}"
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 EJS 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 EJS.evaluate:
EJS.evaluate("Hello <%= name %>", :name => "world")
# => "Hello world"
© 2012 Sam Stephenson
Released under the MIT license

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
