Release 3.9 Support for Custom Elements (January 30, 2022)
New custom element feature that allows to define HtmlFlow views such as the listing at the end of this post (this feature applies regardless being a static or a dynamic view). This sample is available on unit tests htmlflow.test.views.HtmlCustomElements Invoking .custom("alert-info") returns an instance of a new class CustomElement that inherits from existing Div class. Hence, we have most HTML features available at the resulting instance. Solves https://github.com/xmlet/HtmlFlow/pull/80 StaticHtml .view() .html() .head() .script() .attrSrc("alert.js") //...
Release 3.7 (April 7, 2021)
When parent template is initialized with a PrintStream, any internal use of
addPartial() should use implicitly that PrintStream regardless the output
approach defined on the partial view instantiation.
This feature implies a couple of new internal methods including a newby() in
HtmlVisitor that creates a new instance of same type and keeping indentation.
Release 3.6 (October 10, 2020)
Fix code Smells on Generics and other uses cases. Update Junit release to
suppress reported vulnerability. https://github.com/xmlet/HtmlFlow/pull/68
Spring-based pet clinic app with HtmlFlow views (January 23, 2020)
We have provided in github.com/xmlet/spring-petclinic
a standard implementation of the sample Spring-based pet clinic web application integrated
with HtmlFlow views.
We have replaced the Thymeleaf template engine with HtmlFlow.
This project defines templates as first-class functions and exploit all the Java language features
and suppress auxiliary Spring infrastructures, such as ModelAndView, ViewResolver and others.
Thus, we removed from the unit tests all validations regarding these mechanics.
Release 3.5 (January 13, 2020)
Downgraded to target Java runtime 1.8. Some applications, such as
don’t support higher versions.
Release 3.4 (December 18, 2019)
First release of Flowifier an HTML to HtmlFlow translator, developed by Julien Gouesse. Issue 43
Release 3.3 (August 1, 2019)
Upgrade to Java 11. Upgrade to HtmlApiFasterApi version 1.7. New HtmlPartials class in unit testes project with sample use cases to include in a paper for WebIst. Feature: disallow the use of chained calls to dynamic() due to unexpected cache behaviors. Feature: add support to disable indentation of HTML output. New setIndented(boolean) setter on HtmlView and corresponding property in HtmlVisitorCache. Fix support to use pre elements in body as described on issue #46 with the...
Release 3.1 (November 15, 2018)
Add support for non thread-safe views. Now, in order to use the same view by multiple threads you
should call the threadSafe() method. Check the unit test
that renders 4 different context models in parallel with the same view.
Release 3.0 (November 1, 2018)
Improved performance. HtmlFlow is on this date the most performant template engine and Java DSL for HTML. Replaced the method º() by __(). New static factory methods view() of the new classes DynamicHtml and StaticHtml Removed the static factory methods html(), head() and div() from HtmlView. Html code is emitted on the fly when the methods of HtmlApi (e.g. html(), div(), h1(), etc) are called. Now HtmlView is just a container of a template function...
Release 2.1 (August 1, 2018)
HtmlFlow version 2.1 was updated to release 1.0.10 of com.github.xmlet.HtmlApi and introduces a couple of new features: New render() which produces a String rather then writing to a PrintStream. This render() uses internally a StringBuilder and shows better performance than the write() approach. To allow HtmlView being a parent element of Html we made HtmlView<T> extend AbstractElement<HtmlView<T>, Element> and turn it compatible with Element. Yet, it does not support accept(ElementVisitor visitor) nor cloneElem(). Fix Html...
Release 2.0 (March 1, 2018)
HtmlFlow version 2.0 has full support for all existing HTML5 elements and attributes. Moreover all attributes are strongly typed with enumerated types which restrict accepted values. Now HtmlFlow API is constructed with the support of an automated framework xmlet based on an XSD definition of the HTML5 syntax and rules. Thus we remove the package htmlflow.attributes and htmlflow.elements, which have been replaced by the types defined in org.xmlet.htmlapi library. This new approach forces HtmlFlow API...
Release 1.2 (September 1, 2017)
Refactor unit tests to increase code coverage and to load the expected HTML output from the resources.
Include HtmlFlow in SonarCloud.io to analyze code quality.
Fix of Issue 14 – Header.txt can’t be loaded from resources.
Release 1.1 (September 1, 2017)
Read HTML header from a template resource located in templates/HtmlView-Header.txt.
This template is bundled and loaded form the HtmlFlow JAR by default.
However, you are free to use your own header template file templates/HtmlView-Header.txt
and include its location in the classpath to replace the existing one.
This also solves the #16 Issue.