summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/moe/nea/prickly/server/Server.java10
-rw-r--r--src/main/java/moe/nea/prickly/util/BundleUtil.java11
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");
+}