123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- Advanced templating: illustrates defines and includes.
- Include external snippet defined in a variable:
- {{#def.externalsnippet}}
- Load external template from a file:
- {{#def.loadfile('/snippet.txt')}}
- Load external template from a file and cache in a variable:
- {{#def['snippet.txt'] || (def['snippet.txt'] = def.loadfile('/snippet.txt'))}}
- Use cached file again:
- {{#def['snippet.txt']}}
- Here is a def block that will be used later. This snippet can be referenced from external templates too:
- {{##def.snippet1:
- Some snippet that will be included {{#def.a}} later {{=it.f1}}
- #}}
- First use of snippet1:
- {{#def.snippet1}}
- Second use of snippet1:
- {{#def.snippet1}}
- Include snippet1 if true:
- {{# true && def.snippet1 }}
- Runtime and Compile time evaluation used together:
- {{= it.f3 + {{#def.a + def.b}} }}
- Include xyz or insert 'not found':
- {{#def.xyz || 'not found'}}
- Set xyz to 1 and exclude result from output:
- {{##def.xyz=1#}} is identical to {{#(def.xyz=1) && ""}}
- Compare xyz to 1, show 'xyz is not 1' if false:
- {{#def.xyz === 1 || 'xyz is not 1'}}
- {{ if ({{#!def.abc}}) { }}
- {{#def.abc}} is falsy
- {{ } }}
- {{ if ({{#def.xyz === 1}}) { }}
- if(true) block
- {{ } }}
- {{##def.fntest = function() {
- return "Function test worked!";
- }
- #}}
- {{#def.fntest()}}
- Conditionals:
- {{? !it.altEmail }}
- <p>
- second email: {{= it.altEmail }}
- </p>
- {{?? true }}
- else case worked
- {{?}}
- Array iterators
- {{~ it.farray :p }}
- <h1>{{=p.farray}}<h1>
- {{~ p.farray :value:i }}
- <h2>{{=i}}: {{=value}}</h2>
- {{~ value :w }}
- <h3>{{=w}}</h3>
- {{~}}
- {{~}}
- {{~}}
- {{~ ["apple", "banana", "orange"] :k}}
- {{=k}}
- {{~}}
- {{~ (function(){ return [1,2,3]})() :k}}
- {{=k}}
- {{~}}
- {{ function children(it) { }}
- {{?it.Nodes.length}}
- <ul>
- {{~ it.Nodes :p}}
- <li>
- {{=p.title}}
- {{children(p);}}
- </li>
- {{~}}
- </ul>
- {{?}}
- {{ } }}
- {{ children( {Nodes:[ {title:"1.1", Nodes:[ {title:"1.1.1", Nodes:[]}, {title:"1.1.2", Nodes:[]}] }, { title:"1.2", Nodes:[]}, { title:"1.3", Nodes:[]}], title:"1" } ); }}
- {{##def.block:param:
- <div>{{=param}}</div>
- #}}
- {{##def.block1:param:
- <div>{{=param.a}}</div>
- #}}
- {{#(def.block:'text' || '') + def.block:5}}
- {{#def.block:it.f3 || ''}}
- {{#def.block:"lala tralala" || ''}}
- {{#def.block1:{a:1, b:2} || ''}}
- {{##def.testFunctionWithParam = function(str) {
- return "My name is: " + str;
- }
- #}}
- {{##def.mytestparam: {{=it.name}} #}}
- {{#def.testFunctionWithParam(def.mytestparam)}}
- {{#def.testFunctionWithParam("\{\{=it.name\}\}")}}
- {{##def.testParamDef:myparam:
- My name is: {{=myparam}}
- #}}
- {{#def.testParamDef:it.name}}
- The end
|