erubis(1) eRuby style template engine for multiple languages

SYNOPSIS

erubis [..options..] [file ...]

DESCRIPTION

Embedded templating engine for multiple languages. Erubis will take a template file as input and output code to convey that data in the language specified. The following output languages are supported:

 * Ruby
 * PHP
 * C
 * Java
 * Scheme
 * Perl
 * JavaScript

OPTIONS

-h, --help
help
-v
version
-x
show converted code
-X
show converted code, only ruby code and no text part
-N
numbering: add line numbers (for '-x/-X')
-U
unique: compress empty lines to a line (for '-x/-X')
-C
compact: remove empty lines (for '-x/-X')
-b
body only: no preamble nor postamble (for '-x/-X')
-z
syntax checking
-e
escape (equal to '--E Escape')
-p pattern
embedded pattern (default '<% %>')
-l lang
convert but no execute (ruby/php/c/java/scheme/perl/js)
-E e1,e2,...
enhancer names (Escape, PercentLine, BiPattern, ...)
-I path
library include path
-K kanji
kanji code (euc/sjis/utf8) (default none)
-c context
context data string (yaml inline style or ruby code)
-f datafile
context data file ('*.yaml', '*.yml', or '*.rb')
-T
don't expand tab characters in YAML file
-S
convert mapping key from string to symbol in YAML file
-B
invoke 'result(binding)' instead of 'evaluate(context)'
--pi=name
parse '<?name ... ?>' instead of '<% ... %>'

supported properties:

* (common)
--escapefunc=nil
: escape function name
--pattern="<% %>"
: embed pattern
--trim=true
: trim spaces around <% ... %>
--preamble=nil
: preamble (no preamble when false)
--postamble=nil
: postamble (no postamble when false)
--escape=nil
: escape expression or not in default
* (basic) * (pi)
--pi="rb"
: PI (Processing Instrunctions) name
--embchar="@"
: char for embedded expression pattern('@{...}@')
* ruby * php * c
--indent=""
: indent spaces (ex. ' ')
--out="stdout"
: output file pointer name
* java
--indent=""
: indent spaces (ex. ' ')
--buf="_buf"
: output buffer name
--bufclass="StringBuffer" : output buffer class (ex. 'StringBuilder')
* scheme
--func="_add"
: function name (ex. 'display')
* perl
--func="print"
: function name
* javascript
--docwrite=true
: use 'document.write()' when true

EXAMPLES

Run 'erubis -l php example.ephp' to convert the embedded document to php code.

example.ephp:
 <?xml version="1.0"?>
 <html>
  <body>
   <p>Hello <%= $user %>!</p>
   <table>
    <tbody>
     <% $i = 0; %>
     <% foreach ($list as $item) { %>
     <%   $i++; %>
     <tr bgcolor="<%= $i % 2 == 0 ? '#FFCCCC' : '#CCCCFF' %>">
      <td><%= $i %></td>
      <td><%== $item %></td>
     </tr>
     <% } %>
    </tbody>
   </table>
  </body>
 </html>