0.2.1 • Published 12 years ago
vmx v0.2.1
vmx
A node velocity template engine and dependency analyser.
Node 版 velocity 模板引擎和依赖分析。
Latest stable version: v0.2.x
1. Installment
$ npm install vmx -g2. Quick Start
I had prepared a example for you:
$ git clone https://github.com/fool2fish/vmx.git
$ cd examplesRender a template
Command:
$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root1/index.vm --context ./context.jsOutput:
>>>index.vm
>>>ref.vm
ID: 00000001
Name: fool2fish fool2fish fool2fish
Name length: 9
Nick:  ${user.nick}
Github: https://github.com/fool2fish
...Start a simple HTTP server
Command:
$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root1/index.vm --context ./context.js --serverThen you can visit localhost:6789 in browser to see the result.
View dependencies
Command:
$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root1/index.vmOutput:
|-index.vm
  |-/ref.vm
  |-/direc.vm
  | |-/plain-text.txt
  | |-/cms.vm
  | |-/uisvr.vm
  |-/expr.vmView reversed dependencies
Command:
$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root2/uisvr.vm --reverseOutput:
|-uisvr.vm
  |-direc.vm
    |-index.vm3. Use In Modules
Render a template
var Engine = require('vmx').Engine
var engine = new Engine( {{options}} )
try {
  var result = engine.render( {{context}} )
  console.log(result)
} catch (e) {
  console.log(e.stack)
}If it failed, you will catch an error.
Get the AST
var parser = require('vmx').parser
var content = fs.readFileSync( {{path/to/template}} , {encoding: {{encoding}} })
try {
  var ast = parser.parse(content)
  console.log(ast)
} catch (e) {
  console.log(e.stack)
}4. Options
All options are very simple, you can view them in terminal:
$ vmx -hYou can set a global config (in JSON format):
$ vmx config