vmx

A node velocity template engine and dependency analyser.

vmx

A node velocity template engine and dependency analyser.

Node 版 velocity 模板引擎和依赖分析。


Latest stable version: v0.2.x

Differ from Java edition

Bug and suggestion

$ npm install vmx -g

I had prepared a example for you:

$ git clone https://github.com/fool2fish/vmx.git
$ cd examples

Command:

$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root1/index.vm --context ./context.js

Output:

>>>index.vm
>>>ref.vm
ID: 00000001
Name: fool2fish fool2fish fool2fish
Name length: 9
Nick:  ${user.nick}
Github: https://github.com/fool2fish
...

Command:

$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root1/index.vm --context ./context.js --server

Then you can visit localhost:6789 in browser to see the result.

Command:

$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root1/index.vm

Output:

|-index.vm
  |-/ref.vm
  |-/direc.vm
  | |-/plain-text.txt
  | |-/cms.vm
  | |-/uisvr.vm
  |-/expr.vm

Command:

$ vmx --root ./root1,./root2,./root3 --macro ./global-macro/macro.vm --template ./root2/uisvr.vm --reverse

Output:

|-uisvr.vm
  |-direc.vm
    |-index.vm
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.

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)
}

All options are very simple, you can view them in terminal:

$ vmx -h

You can set a global config (in JSON format):

$ vmx config