Socket
Socket
Sign inDemoInstall

velocityjs

Package Overview
Dependencies
0
Maintainers
1
Versions
76
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    velocityjs

Velocity Template Language(VTL) for JavaScript


Version published
Maintainers
1
Install size
1.33 MB
Created

Changelog

Source

0.7.3

  • fix 53
  • runt support 54

Readme

Source

Velocity - Template Engine

Build Status Coverage Status

NPM

velocity.js是velocity模板语法的javascript实现。

##Features

  • 支持客户端和服务器端使用
  • 语法分析和模板渲染分离
  • 基本完全支持velocity语法
  • Vim Syntax

##Install

via npm:

$ npm install velocityjs

##Broswer

兼容支持es5的浏览器,可以通过测试来验证test case

对于低端浏览器需要实现以下方法

  1. Array.prototype的map, forEach, some, filter, every, indexOf
  2. Date.now
  3. Object.keys

##Examples

在tests目录下有大量的例子,node和浏览器下使用是一致的,另外,examples目录下有一个 最简单的例子。

##Public API

文件组织通过CommonJS方式,对于浏览器,通过spm可以打包为cmd模块。

var Velocity = require('velocityjs');

//1. 直接解析
Velocity.render('string of velocity', context, macros);

//2. 使用parse和Compile
var Compile = Velocity.Compile;

var asts = Velocity.parse('string of velocity');
(new Compile(asts)).render(context, macros);

####context

context是一个对象,可以为空,执行中$foo.bar,访问路径是context.foo.barcontext的属性可以是函数,和vm中定义保持一致。

context中得函数,有一个固定的eval方法,可以用来运算vm语法字符串,比如webx对应的 $control.setTemplate实现

##Syntax

具体语法请访问官网文档:velocity user guide

###Directives

Directives支持set, foreach, if|else|elseif, macro, break。不 支持有,stop, evaluate, define, parse。不过可以通过context来实现,比如 parse 实现

###macro与parse

宏分为系统的宏,比如parse, include,和用户自定义宏,通过#macro在vm中定义,此 外可以使用自定义的js函数替代在vm中定义。对于系统宏和自定义宏,不做区分,对于 #parse#include的调用,可以使用自定义函数来执行,可以参考测试用例中self defined macro部分。

##Questions

提问有几种方式

  1. 新建issue
  2. 邮件到eward.song at gmail.com
  3. 阿里内部员工,可以通过hanwen.sah搜到我的旺旺

其他

推荐一下沉鱼写的velocity

##License

(The MIT License)

Keywords

FAQs

Last updated on 06 Dec 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc