The General Concatenation Operator

The FreshMarker Template Language provides two operators for concatenating string values: the string concatenation operators + and ~. Both operators produce a string from their two operands. The difference between the two operators lies in the way the strings are joined together. The unique feature of the ~ operato

https://schegge.de/2026/04/the-general-concatenation-operator/

#Bibliotheken #FreshMarker #Java #FreshMarker #Template #TemplateEngine

</Agile> The General Concatenation Operator

The FreshMarker Template Language provides two operators for concatenating string values: the string concatenation operators + and ~. Both operators produce a string from their two operands. The di…

</Agile>

Enum Hashes

FreshMarker is based on the concepts of another template engine. This is evident from its directives, interpolations, and, of course, its name. Another detail also betrays its origins. The types in the FreshMarker Template Language for collections are sequences and hashes. Hashes represent mappings from strings to values. We now want to rel

https://schegge.de/2026/04/enum-hashes/

#Bibliotheken #FreshMarker #Java #Refactoring #Enum #FreshMarker #Template #TemplateEngine

</Agile> Enum Hashes

FreshMarker is based on the concepts of another template engine. This is evident from its directives, interpolations, and, of course, its name. Another detail also betrays its origins. The types in…

</Agile>

FreshMarker 2.6.0 Released

Just in time for Easter time there is a new FreshMarker release available. There are some more enhancements to the built-ins through the addition of an easy lambda support.

https://schegge.de/2026/04/freshmarker-2-6-0-released/

#Bibliotheken #FreshMarker #Java #BuiltIn #FreshMarker #Lambda #Release #Template #TemplateEngine

</Agile> FreshMarker 2.6.0 Released

Just in time for Easter time there is a new FreshMarker release available. There are some more enhancements to the built-ins through the addition of an easy lambda support.

</Agile>

Vier Jahre FreshMarker

Vor vier Jahren begann das Abenteuer FreshMarker mit dem Blog-Beitrag „FreshMarker, eine frische Template Engine für Java“. Was als akademisches Experiment startete, hat sich inzwischen zu einer vielseitigen und stabilen Template Engine entwickelt. Mit Version 2.5.0 und insgesamt 87 Blog-B

https://schegge.de/2026/03/vier-jahre-freshmarker/

#AgileAnekdoten #AusDemLeben #Bibliotheken #FreshMarker #Java #CongoCC #FreeMarker #FreshMarker #Template #TemplateEngine

</Agile> Vier Jahre FreshMarker

Vor vier Jahren begann das Abenteuer FreshMarker mit dem Blog-Beitrag „FreshMarker, eine frische Template Engine für Java“. Was als akademisches Experiment startete, hat sich inzwischen zu einer vi…

</Agile>

Checksums with FreshMarker File

Some time ago, I had the idea that a checksum calculation could be added to the FreshMarker File library. FreshMarker File is an extension for FreshMarker to support the Java types File and Path. A checksum support would allow the current checksum to be added to lists of files without any major det

https://schegge.de/2026/02/checksums-with-freshmarker-file/

#Algorithmen #Bibliotheken #FreshMarker #Java #FreshMarker #MD5 #SHA #Template #TemplateEngine

Context-Sensitive Tokenization With CongoCC

If you want to interpret a programming language or a DSL, there's no way around using a parser generator. At the heart of FreshMarker is a template parser generated by the CongoCC parser generator. I can't praise this JavaCC successor from Jon Revusky highly enough. Many new features and completely revised parts m

https://schegge.de/2026/02/context-sensitive-tokenization-with-congocc/

#Bibliotheken #FreshMarker #Java #CongoCC #FreshMarker

</Agile> Context-Sensitive Tokenization With CongoCC

If you want to interpret a programming language or a DSL, there’s no way around using a parser generator. At the heart of FreshMarker is a template parser generated by the CongoCC parser gene…

</Agile>

FreshMarker 2.5.0 Released

Just in time for Carneval there is a new FreshMarker release available. There are several enhancements to the built-ins through the addition of an easy lambda support.

https://schegge.de/2026/02/freshmarker-2-5-0-released/

#Bibliotheken #FreshMarker #Java #FreshMarker #Release #Template #TemplateEngine

Quo Vadis, Lambda?

To implement a new built-in for sequences, lambdas were added as a new language component of the FreshMarker Expression Language. The lambda expression made it much easier to map the semantics of the new count built-in in an easily readable syntax. Now that lambda expressions are available, what else can they be used for and what s

https://schegge.de/2026/02/quo-vadis-lambda/

#Bibliotheken #FreshMarker #Java #CongoCC #FreshMarker #Lambda #Template #TemplateEngine

</Agile> Quo Vadis, Lambda?

To implement a new built-in for sequences, lambdas were added as a new language component of the FreshMarker Expression Language. The lambda expression made it much easier to map the semantics of t…

</Agile>

Select Operator for FreshMarker

An important component of the FreshMarker template engine is the built-in expression language. The expression language is used to utilize not only variables but also complex expressions in directives and interpolations. When evaluating other expression languages for customer projects, somet

https://schegge.de/2026/01/select-operator-for-freshmarker/

#Bibliotheken #FreshMarker #Java #ExpressionLanguage #FreeMarker #SpringBoot #Template #TemplateEngine

</Agile> Select Operator for FreshMarker

An important component of the FreshMarker template engine is the built-in expression language. The expression language is used to utilize not only variables but also complex expressions in directiv…

</Agile>

FreshMarker 2.4.0 Released

Just in time for St. Nicholas Day, the latest FreshMarker release for this year is now available. In addition to several improvements, two bugs have also been fixed.

https://schegge.de/2025/12/freshmarker-2-4-0-released/

#Bibliotheken #FreshMarker #Java #FreshMarker #Release #Template #TemplateEngine

</Agile> FreshMarker 2.4.0 Released

Just in time for St. Nicholas Day, the latest FreshMarker release for this year is now available. In addition to several improvements, two bugs have also been fixed.

</Agile>