11# freemarker-parser
22
3- [ ![ CircleCI] ( https://circleci.com/gh/armano2/freemarker-parser/tree/master.svg?style=svg )] ( https://circleci.com/gh/armano2/freemarker-parser/tree/master )
4- [ ![ Coverage Status] ( https://codecov.io/gh/armano2/freemarker-parser/branch/master/graph/badge.svg )] ( https://codecov.io/gh/armano2/freemarker-parser )
5- [ ![ Greenkeeper badge] ( https://badges.greenkeeper.io/armano2/freemarker-parser.svg )] ( https://greenkeeper.io/ )
3+ [ ![ Codecov] ( https://img.shields.io/codecov/c/github/armano2/freemarker-parser.svg?style=for-the-badge )] ( https://circleci.com/gh/armano2/freemarker-parser/tree/master )
4+ [ ![ CircleCI] ( https://img.shields.io/circleci/project/github/armano2/freemarker-parser/master.svg?style=for-the-badge )] ( https://circleci.com/gh/armano2/freemarker-parser/tree/master )
5+ [ ![ License] ( https://img.shields.io/github/license/armano2/freemarker-parser.svg )] ( https://github.com/armano2/freemarker-parser/blob/master/LICENSE.md )
6+ [ ![ Greenkeeper] ( https://badges.greenkeeper.io/armano2/freemarker-parser.svg )] ( https://github.com/armano2/freemarker-parser/blob/master/LICENSE.md )
7+ [ ![ npm] ( https://img.shields.io/npm/v/freemarker-parser.svg )] ( https://www.npmjs.com/package/freemarker-parser )
68
79Freemarker Parser is a javascript implementation of the Freemarker (http://freemarker.sourceforge.com ).
810
9- This project contains experimental version of parser ftl to ast tree
11+ This project contains ** experimental version** of parser ftl to ast tree
1012
1113## Installation
1214You can install ` freemarker-parser ` using [ npm] ( https://npmjs.com ) :
@@ -18,12 +20,8 @@ $ npm install freemarker-parser --save-dev
1820## Usage
1921Require ` freemarker-parser ` inside of your JavaScript:
2022
21- ``` js
22- const freemarker = require (" freemarker-parser" );
23- ```
24-
2523### Parser
26- ``` freemarker
24+ ``` ftl
2725<#assign f=1>
2826
2927<#if f gt 0>
@@ -34,17 +32,20 @@ const freemarker = require("freemarker-parser");
3432```
3533
3634``` js
35+ const freemarker = require (" freemarker-parser" )
36+
3737const parser = new freemarker.Parser ()
38- const astTree = parser .parse (template)
38+ const data = parser .parse (template)
3939
40- console .log (astTree)
40+ console .log (data .ast )
41+ console .log (data .tokens )
4142```
4243
4344## Currently supported:
4445 - interpolations ` ${foo} `
4546 - methods, i.e. ` ${avg(3, 5)} `
4647 - executing macro
47- - directives:
48+ - directives: http://freemarker.sourceforge.net/docs/ref_directives.html
4849 - ` #attempt `
4950 - ` #recover `
5051 - ` #assign `
@@ -80,7 +81,7 @@ console.log(astTree)
8081 - support default values, i.e. ` ${user!"Anonymous"} `
8182 - null resistance in above expressions if in parenthesis
8283 - alternative syntax if starts with ` [#ftl] `
83- - directives: http://freemarker.sourceforge.net/docs/ref_directives.html
84+ - directives:
8485 - ` #escape `
8586 - ` #noescape `
8687 - ` #fallback `
0 commit comments