te4j

Fast, lightweight and easy template engine

License

License

GroupId

GroupId

com.github.lero4ka16
ArtifactId

ArtifactId

te4j
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

te4j
Fast, lightweight and easy template engine
Project URL

Project URL

https://github.com/lero4ka16/te4j
Project Organization

Project Organization

com.github.lero4ka16
Source Code Management

Source Code Management

https://github.com/lero4ka16/te4j

Download te4j

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Te4j

About the project

Te4j (Template Engine For Java) - Fastest and easy template engine

Pros

  • Extremely fast (132k renders per second on 4790K)
  • Easy and simple syntax
  • No dependencies

Cons (temporary)

  • No community :(
  • Sometimes really bad code
  • No javadocs
  • Poor documentation

Benchmarks

Click me

Example

<p>Message: ^^ message ^^</p>
class Pojo {
    String getMessage() {
        return "Hello world!";
    }
}

Pojo pojo = new Pojo();

Template<Pojo> template = Te4j.load(Pojo.class).from("index.html");
String result = template.renderAsString(pojo);
// result = <p>Message: Hello world!</p>

Also, you are able to create custom template context

TemplateContext ctx = Te4j.custom()
        // deletes repeating spaces, tabs, crlf from output
        .minify(Minify.DEL_CF, Minify.DEL_LF, Minify.DEL_TABS, Minify.DEL_REPEATING_SPACES)
        // .minify(Minify.getValues())
        // .minifyAll()

        // you can choose which output type will be used
        //
        // BYTES - renderAsBytes and renderTo will be optimized
        // STRING - renderAsString will be optimized
        .output(Output.BYTES, Output.STRING)
        // .output(Output.getValues())
        // .outputAll()

        // btw you can enable hot reloading
        //
        // it does not impact performance,
        // but I recommend disabling it in production
        // for max. performance
        .enableAutoReloading()
        .build();

Template<Pojo> template = ctx.load(Pojo.class).from("index.html");

More examples in docs

Full Docs

Click me

Add as dependency

Maven

<dependencies>
    <dependency>
        <groupId>com.github.lero4ka16</groupId>
        <artifactId>te4j</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>

Gradle

dependencies {
    implementation 'com.github.lero4ka16:te4j:2.0.0'
}

Build the project

  1. Execute ./gradlew build
  2. Output file located at build/libs/te4j.jar

Contact

Vkontakte, Telegram

Post Scriptum

I will be very glad if someone can help me with development.

Versions

Version
2.0.0
1.1.1
1.1.0
1.0.0