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>

Prospects for 2.3.0

After the release is before the release, so there are already some new features in the queue for FreshMarker 2.3.0. Since it is not always worth writing a separate article for a feature, here is a report on the new features planned so far.

https://schegge.de/2025/10/prospects-for-2-3-0/

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

</Agile> Prospects for 2.3.0

After the release is before the release, so there are already some new features in the queue for FreshMarker 2.3.0. Since it is not always worth writing a separate article for a feature, here is a …

</Agile>

Diagram As Code

I recently sat in a lecture about PlantUML and the advantages of Diagram As Code. Diagram As Code is a special variant of Documentation As Code. It is the possibility for software developers to create their documentation in the form of text files without the use of word processing systems.

https://schegge.de/2025/09/diagram-as-code/

#Algorithmen #AusDemLeben #FreshMarker #Java #Asciidoctor #Documentation #Dokumentation #FreshMarker #GnuPlot #Java #JFreeSVG #PlantUml

FreshMarker 2.2.0 Released

The latest version of FreshMarker, the Java 21 template engine, is now available. Version 2.2.0 introduces several improvements and new features. Some internal improvements ensure even faster processing.

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

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

</Agile> FreshMarker 2.2.0 Released

The latest version of FreshMarker, the Java 21 template engine, is now available. Version 2.2.0 introduces several improvements and new features. Some internal improvements ensure even faster proce…

</Agile>

In Search Of Performance (2)

This article on performance was not actually intended to be a multi-part article. But if you take a closer look at your own code through performance glasses, you will quickly discover further bottlenecks. In this case, it's an unclean modeling that FreshMarker has been

https://schegge.de/2025/09/in-search-of-performance-2/

#AgileAnekdoten #AusDemLeben #Bibliotheken #FreshMarker #Java #Refactoring #FreshMarker #Java #Performance #Template #TemplateEngine

</Agile> In Search Of Performance (2)

This article on performance was not actually intended to be a multi-part article. But if you take a closer look at your own code through performance glasses, you will quickly discover further bottl…

</Agile>