Home
Name Modified Size InfoDownloads / Week
chunk-templates-3.0.2.jar 2015-10-30 198.5 kB
chunk-templates-3.0.2-src.jar 2015-10-30 343.8 kB
README.txt 2015-10-30 10.4 kB
chunk-templates-3.0.1.jar 2015-08-02 198.0 kB
chunk-templates-3.0.1-src.jar 2015-08-02 343.3 kB
chunk-templates-3.0.0.jar 2015-06-27 200.1 kB
chunk-templates-3.0.0-src.jar 2015-06-27 345.0 kB
chunk-templates-2.6.4.jar 2015-06-18 193.9 kB
chunk-templates-2.6.4-src.jar 2015-06-18 336.8 kB
chunk-templates-2.6.3.jar 2015-01-02 188.1 kB
chunk-templates-2.6.3-src.jar 2015-01-02 327.7 kB
chunk-templates-2.6.2.jar 2014-12-31 188.6 kB
chunk-templates-2.6.2-src.jar 2014-12-31 327.4 kB
chunk-templates-2.6.jar 2014-11-30 186.8 kB
chunk-templates-2.6-src.jar 2014-11-30 325.4 kB
chunk-templates-2.5.jar 2014-10-28 187.7 kB
chunk-templates-2.5-src.jar 2014-10-28 325.7 kB
chunk_template_2.4.jar 2013-11-29 185.7 kB
chunk_template_2.4-src.jar 2013-11-29 323.5 kB
chunk_examples_2.3.2.tar.gz 2013-11-25 245.0 kB
chunk_template_2.3.2.jar 2013-11-24 181.4 kB
chunk_template_2.3.2-src.jar 2013-11-24 316.8 kB
chunk_template_2.3.1.jar 2013-11-20 180.7 kB
chunk_template_2.3.1-src.jar 2013-11-20 315.5 kB
chunk_template_2.2.2.jar 2013-11-16 173.4 kB
chunk_template_2.2.2-src.jar 2013-11-16 305.0 kB
chunk_template_2.2.jar 2013-09-14 170.1 kB
chunk_template_2.2-src.jar 2013-09-14 301.2 kB
chunk_template_2.1.2.jar 2013-06-14 166.3 kB
chunk_template_2.1.2-src.jar 2013-06-14 297.3 kB
chunk_template_2.1.1.jar 2013-03-21 166.0 kB
chunk_template_2.1.1-src.jar 2013-03-21 296.7 kB
chunk_template_2.1.jar 2013-03-08 165.5 kB
chunk_template_2.1-src.jar 2013-03-08 296.1 kB
chunk_template_2.0.jar 2012-10-19 158.5 kB
chunk_template_2.0-src.jar 2012-10-19 285.5 kB
chunk_template_1.9.jar 2012-10-08 152.7 kB
chunk_template_1.9-src.jar 2012-10-08 276.4 kB
chunk_template_1.8.jar 2012-09-13 171.9 kB
chunk_template_1.8-src.jar 2012-09-13 291.2 kB
chunk_examples_1.8.tar.gz 2012-09-13 236.1 kB
com.x5.template.eclipse_1.1.3.jar 2012-09-13 44.7 kB
chunk_template_1.7-src.jar 2012-05-09 283.9 kB
chunk_template_1.7.jar 2012-05-09 167.4 kB
chunk_template_1.6.jar 2012-04-23 280.9 kB
chunk_template_1.5.jar 2012-04-11 209.6 kB
chunk_examples_1.5.tar.gz 2012-04-11 275.8 kB
chunk_template_eclipse_plugin_1.1.2.jar 2012-04-09 44.6 kB
chunk_template_1.4.jar 2012-04-09 171.0 kB
chunk_template_1.3.jar 2011-05-29 169.1 kB
chunk_template_1.2.jar 2011-05-06 199.4 kB
chunk_examples_1.2.zip 2011-05-06 270.4 kB
chunk_template_1.1.jar 2011-01-04 123.5 kB
chunk_template_eclipse_plugin_1.0.jar 2011-01-03 40.3 kB
chunk_template_1.0.jar 2011-01-03 65.5 kB
Totals: 55 Items   12.2 MB 1
Full documentation at http://www.x5software.com/chunk/

Release History

v3.0.2 - 2015-10-30 tmcclure

  Fixes bugs: looping over wrapped map, looping over POJO with null values

v3.0.1 - 2015-07-16 tmcclure

  Better handling of nested POJOs.
  The loop command now supports Collection/Iterator/Enumeration in
    addition to Object[] arrays and List.

v3.0.0 - 2015-06-27 tmcclure

  Overhaul of ChunkFilter for improved argument handling.
  Not backward-compatible, user-contrib filters will need to be updated.
  New ObjectFilter base class to ease specialized formatting in filters.

v2.6.5 - 2015-06-26 tmcclure

  Leverages POJO toString method for default display.
  Adds |str filter to explicitly coerce objects to strings.

v2.6.4 - 2015-06-17 tmcclure

  Improves loop option for place tags: first_last="first,last,place"
  Adds ThemeConfig class to make Spring MVC integration easier.
  Adds new filters rpad and lpad.

v2.6.3 - 2015-01-01 tmcclure

  New {% data %}...{% enddata %} section markers for {% exec %}
    Makes exec calls more clean/consistent with other block calls.
    Provides greater flexibility in formulating exec calls.
    Optional, for convenience and back-compatibility.
    {% body %} tags are now optional if {% data %} tags are present.

v2.6.2 - 2014-12-30 tmcclure

  Compatibility fixes for Google App Engine.
  Goodies for custom TemplateProvider:
    can now .setDefaultExtension(null)
    and then theme.makeChunk("anyfile.prn")
    ie, no need to separate/omit file extension from filename.

v2.6 - 2014-11-29 tmcclure

  Now attempts to treat object as bean if class has no public attributes.
  Some bugfixes related to filters, leaving file handles open.

v2.5 - 2014-10-28 tmcclure

  Now, with whitespace:
    New less-cramped tag syntax {% expr %} is easier on the eyes.
    Old {.cramped} syntax is still supported.
  New |default(<output>) filter (syntactic sugar for {$tag:<output>} ).
  Cleans up brittle/slow template pre-parsing routines.
  Deprecates @inline keyword for {% exec %} - now both arguments are
    optional and format (eg @json, @xml) is always marked with leading "@"

v2.4 - Android helper classes.

  New template provider for Android is now included out-of-the-box:
    com.x5.template.providers.AndroidTemplates.  See docs for usage notes.

v2.3.2 - Minor fixes/enhancements.

  Now able to render directly to a PrintStream (such as System.out)
  Filters now legal inside a backtick expansion.
  Fixed bug with backtick tag resolution.
  Loop tag option values no longer require quotes.
  Renamed counter_tag loop option to counter and added optional params
    counter=$tag[,offset[,step]].
    eg {% loop in $list as $x counter=$i,1 %}
    Note: counter options just affect $i values -
    use $list|slice(a:b:step) to subset the actual list being looped over.
  Fixed bug in template parser, wasn't catching new-style literal blocks.
  interpret |split(,) as |split(",") and not as |split("","")

v2.3.1 - Refactored filter processing.  New filters:
         slice, length, capitalize, title, reverse, sort, split.

v2.2.2 - Fixed issue with android.
         InlineTable less brittle.
         Smarter whitespace handling.

v2.2 - Theme objects can now be created with custom template provider.
       Full details with examples:
         http://x5software.com/chunk/examples/ChunkExample?example=net

v2.1.2 - Fixed bug in addData(capsule, "x")

v2.1.1 - Fixed bug with boxed primitive wrapper objects
         like Double, Character, Integer etc.

v2.1 - New {$tag|filter(#x_template)} runs the #x_template snippet as
         a macro, binding {$x} to the value of {$tag}
       Easier access to POJO attributes and bean properties:
         * chunk.setToBean('my_thing', someObject)
             copies someObject's public accessor properties to a Map
	     so the template can do this:
                {$my_thing.price}
             to get the value of
                someObject.getPrice()
         * chunk.set('item', somePOJO)
             copies somePOJO's non-private attributes to a Map
	     so the template can do this:
                {$item.price}
             to get the value of
                somePOJO.price
         * Map values seen by template renderer are a snapshot from
	   time of first attribute access.

v2.0 - Refactored for 20% speed gain.
       New |type filter {$what_am_i|type} outputs one of the following:
         STRING LIST OBJECT CHUNK NULL
       Improved support for objects (ie associative arrays)
         {% exec #template @json %} now preserves JSON object key order.
         {% loop in $obj as $key:$val %} now loops through the attributes
           of an associative array (aka Map/Object)
         {$obj} now visible from inside loops/chunks, not just {$obj.attr}
         Loop can now resolve object/list references like $x = "{$y}"
       Theme can now be configured to not route errors to output,
       and/or print errors to STDERR or another PrintWriter.
         theme.setErrorHandling(false, System.err);
       Fixed bug with backticks and new {$syntax`$num`}
       The |escapexml filter has been refactored to be more efficient,
         now handles upper-page unicode escapes.
       Fixed bug in translate filter.

v1.9 - Minor enhancements to {% loop %} tag, several minor bugfixes.
        Updating to the latest version is strongly recommended.

v1.8 - Major syntax change: new {$tag} and {.command} syntax
        replaces older, unfriendly syntax: {~tag} and {^command}
        Not to worry, library remains back-compatible.

       Other changes:
         * {% exec %} Macro enhancements
           - xml attributes now avail as {$elt_name@attr_name}
           - introduced @inline keyword in {% exec %} syntax
               eg: {% exec @inline xml %} means, check {% body %}...{% endbody %}
               block for template, and args will be in xml format.
         * Some new text filters
           - {$tag|onempty(N/A)} outputs N/A in null *and* empty-string case
           - {$tag|unescape} unescapes xml-entities.

v1.7 - New features:
         * New built-in filters |get(x) and |alternate(even_output,odd_output)
         * Better support for lists and trees (ie nested maps) of data.
         * New {% loop %} options counter_tags="true" and array_index_tags="true"
            default for both options is now false.
         * Macro invocation overhaul.  New syntax:
              {% exec MACRO %} ... params ... {% endexec %}
           With option to provide params json-formatted** or xml-formatted:
              {% exec MACRO @json %}
               { x : 3,
                 a : 'some-string',
                 list : ['a','b','c'] }
              {% endexec %}
           And an inline template body marker a la:
              {% exec %} ...params... {% body %} ... {% endexec %}
            ** json-smart library is required for parsing json.
         * Several minor bugfixes.

v1.6 - Major refactor for speed.
         * Chunk can now write to stream.
            Use chunk.render( out ) instead of chunk.toString()
         * Templates are now pre-compiled for big performance gain.
         * Users may now register contributed filters without modifying
            the chunk source code.  See online docs for example.

v1.5 - New features:
         * Localization: mark a string for translation in your template
             with clean _[one two three] syntax.
           Create a translations file /locale/xx_XX/translate.csv in the
             classpath with lines like:
             "one two three","un deux trois"
           Then, wnen you set up your Theme, call theme.setLocale("xx_XX")
             and all toString() output will get sent through the translator.
         * Localized strings support sprintf format directive %s
           Provide args like so: {_[Acct # %s balance is %s],$account,$balance}
         * Translate filter: dynamic output can also be translated via the
             "_" filter like so: {$any_tag|_}
             or more verbosely, {$any_tag|translate} or {$any_tag|xlate}
         * UTF-8 support: all templates are now assumed to be UTF-8.
           Use system property -Dchunk.template.charset=... to override.
         * Improved examples to better demonstrate features.

v1.4 -   * Fixed glaring if-else block conditional bug.
         * Now easier to instantiate Theme object.  Just put your themes
           in src/themes/*.chtml and use the no-arg Theme() constructor
           and you're good to go.  Deploying in a jar?  Just include the
           themes folder in your jar and the template engine will find them.

v1.3 - New features:
         * Nestable {% if %}...{% endif %} and {% loop %}...{% endloop %}
             constructs
         * Cleaner {% include file %} {% include #snippet %} include syntax
         * Cleaner {% loop in $data as $d %} loop syntax
         * Better comment-stripping (removes any whitespace-only lines left
             after stripping the comment).
         * Even smarter about finding theme files.  Just put a folder named
             "themes" directly under your project's src folder.  As long as
             it gets exported to classpath (alongside your classes that
             import and use Chunk), your templates will get found.
         * JUnit test suite.  Bout time.
         * New indent(n) filter indents tag output by n spaces.
         * New HEX filter -- shorthand for {$x|hex|uc}

v1.2 - New features:
         * Literal blocks w/ {% literal %} no interpolation
         * Dynamic tags with backticks {$pkg_`$pkg_id`}
         * getSnippet(templateRef) now returns Snippet obj
             - use fetch(templateRef) to get tpl as string.
         * Chunk can now find and use templates that are packaged
           inside a jar on the classpath.
         * nodata="" now supported by {% loop %} tag.
         * xml,xmlesc,xmlescape now synonyms for htmlescape filter.
         * implemented perl case-conv regex directives via hack:
              s/.*/\U$0/ now working (but {$tag|uc} is still quicker)

v1.1 - Java source code missing from initial release, fixed.
     - Handles missing jeplite jar more gracefully.

v1.0 - Initial release
     - Add optional jeplite jar to classpath (from jeplite.sourceforge.net)
       to enable |calc filter and {.calc()} special tag - math expressions.
Source: README.txt, updated 2015-10-30