diff options
Diffstat (limited to 'clams-server/src/main/java/no/eliashaugsbakk/clams')
| -rw-r--r-- | clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java | 16 | ||||
| -rw-r--r-- | clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/BlogController.java | 21 |
2 files changed, 36 insertions, 1 deletions
diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java index 62c1677..200d23d 100644 --- a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java +++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java @@ -1,11 +1,25 @@ package no.eliashaugsbakk.clams.server; import io.javalin.Javalin; +import io.javalin.rendering.template.JavalinPebble; +import no.eliashaugsbakk.clams.server.controller.BlogController; public class Main { void main() { + BlogController blogController = new BlogController(); + var app = Javalin.create(config -> { - config.routes.get("/", ctx -> ctx.result("Hello World")); + config.staticFiles.add("/public"); + config.fileRenderer(new JavalinPebble()); + + config.routes.error(404, ctx -> ctx.render("templates/404.html")); + + config.routes.get("/", ctx -> ctx.redirect("/home")); + config.routes.get("/home", ctx -> ctx.render("templates/home.html")); + config.routes.get("/projects", ctx -> ctx.render("templates/projects.html")); + + config.routes.get("/blog/{slug}", blogController::handleGetPost); + config.routes.get("/blog", blogController::handleGetOverview); }).start(7070); } } diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/BlogController.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/BlogController.java new file mode 100644 index 0000000..d4fc9d3 --- /dev/null +++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/controller/BlogController.java @@ -0,0 +1,21 @@ +package no.eliashaugsbakk.clams.server.controller; + +import io.javalin.http.Context; +import java.util.Map; + +public class BlogController { + public void handleGetPost(Context ctx) { + ctx.render("templates/post.html", + Map.of("title", "place holder Title", + "published_date", "place holder Release Date", + "author", "place holder Author", + "content", "place holder Content")); + } + + public void handleGetOverview(Context ctx) { + ctx.render("templates/blog.html", Map.of( + "all_posts_by_year", "place holder for all posts", + "recent_posts", " place holder for recent posts" + )); + } +} |
