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