diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-10-12 20:32:41 +0200 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-10-12 20:32:41 +0200 |
| commit | d872a6b1576b66ddd7b48f3ec0f77b8d5290fa62 (patch) | |
| tree | d3ebd229e2b7239d5d138bbc1f36b44d29dd99a4 /src/main/java/moe | |
| parent | 60dfd15a88242893a7a422b82604d25171809f77 (diff) | |
| download | prickly-d872a6b1576b66ddd7b48f3ec0f77b8d5290fa62.tar.gz prickly-d872a6b1576b66ddd7b48f3ec0f77b8d5290fa62.tar.bz2 prickly-d872a6b1576b66ddd7b48f3ec0f77b8d5290fa62.zip | |
feat: precompiled template support
Diffstat (limited to 'src/main/java/moe')
| -rw-r--r-- | src/main/java/moe/nea/prickly/server/Server.java | 10 | ||||
| -rw-r--r-- | src/main/java/moe/nea/prickly/util/BundleUtil.java | 11 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/moe/nea/prickly/server/Server.java b/src/main/java/moe/nea/prickly/server/Server.java index 9bb6df1..dbea0be 100644 --- a/src/main/java/moe/nea/prickly/server/Server.java +++ b/src/main/java/moe/nea/prickly/server/Server.java @@ -2,14 +2,19 @@ package moe.nea.prickly.server; import com.google.common.base.Preconditions; +import gg.jte.ContentType; +import gg.jte.TemplateEngine; +import gg.jte.resolve.DirectoryCodeResolver; import io.javalin.Javalin; import io.javalin.config.JavalinConfig; import io.javalin.rendering.template.JavalinJte; +import java.nio.file.Path; import java.util.Map; import java.util.Objects; import lombok.extern.slf4j.Slf4j; import moe.nea.prickly.config.Config; import moe.nea.prickly.model.AuthorizationRequest; +import moe.nea.prickly.util.BundleUtil; import moe.nea.prickly.util.OAuthUtil; @Slf4j @@ -55,7 +60,10 @@ public class Server { protected void configure(JavalinConfig config) { log.info("configuring javalin"); - config.fileRenderer(new JavalinJte()); + var templateEngine = BundleUtil.IS_BUNDLED + ? TemplateEngine.createPrecompiled(ContentType.Html) + : TemplateEngine.create(new DirectoryCodeResolver(Path.of("src/main/jte")), ContentType.Html); + config.fileRenderer(new JavalinJte(templateEngine)); } public void start() { diff --git a/src/main/java/moe/nea/prickly/util/BundleUtil.java b/src/main/java/moe/nea/prickly/util/BundleUtil.java new file mode 100644 index 0000000..26390a8 --- /dev/null +++ b/src/main/java/moe/nea/prickly/util/BundleUtil.java @@ -0,0 +1,11 @@ +/* (C) 2025 Linnea Gräf - Licensed to everyone under the BSD 3 Clause License */ +package moe.nea.prickly.util; + +public class BundleUtil { + public static final boolean IS_BUNDLED = BundleUtil.class + .getProtectionDomain() + .getCodeSource() + .getLocation() + .toString() + .endsWith(".jar"); +} |
