Monday, 15 July 2013

How to integrate Print Directive of Google Closure Template (Soy) -



How to integrate Print Directive of Google Closure Template (Soy) -

i know how integrate print plugin of google closure template, a.k.a. soy, step step if can, because i'm pretty bad @ java. below page explains how that, need more detail one.

https://developers.google.com/closure/templates/docs/plugins

it fine print directive used ` {myprintformat $var} '. (additional question) think can compile `goog.require('xxx')' statement out javascript? if could, can provide functions , require soy.js.

any helps appreciated.

you'll need take @ clojure source code, see how create own directives. it's quite easy.

first, need understand how implement directive. that, see example. download clojure templates source code , into:

./java/tests/com/google/template/soy/basicdirectives/truncatedirective.java

then, you'll need understand litte bit of google guice. create guice module add together directives:

public class mysoymodule extends abstractmodule { @override protected void configure() { multibinder<soyprintdirective> soydirectivessetbinder = multibinder.newsetbinder(binder(), soyprintdirective.class); soydirectivessetbinder.addbinding().to(datedirective.class); } }

then, instantiate builder, using guice injector, this:

injector injector = guice.createinjector(new soymodule(), new mysoymodule()); soyfileset.builder sfsbuilder = injector.getinstance(soyfileset.builder.class); soyfileset sfs = sfsbuilder.add(soyutils.class.getresource(source)).build();

now can invoke templates:

soytofu simpletofu = sfs.compiletotofu().fornamespace("soy.examples.simple");

that's it.

google-closure-library google-closure-templates

No comments:

Post a Comment