aboutsummaryrefslogtreecommitdiff
path: root/src/indrajith-dev-crystal.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/indrajith-dev-crystal.cr')
-rw-r--r--src/indrajith-dev-crystal.cr21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/indrajith-dev-crystal.cr b/src/indrajith-dev-crystal.cr
index a7a08b6..28948cf 100644
--- a/src/indrajith-dev-crystal.cr
+++ b/src/indrajith-dev-crystal.cr
@@ -3,8 +3,25 @@ require "kemal"
module Indrajith::Dev::Crystal
VERSION = "0.1.0"
- get "/" do
- "Hello World!"
+ macro page_renderer(filename)
+ render "src/views/#{{{filename}}}.ecr", "src/views/layout.ecr"
+ end
+
+ def self.htmx_request?(context)
+ context.request.headers.has_key?("HX-Request") ||
+ context.request.headers.has_key?("Hx-Request") ||
+ context.request.headers.has_key?("hx-request")
+ end
+
+ get "/" do |context|
+ if htmx_request?(context)
+ partial_content = render("src/views/home.ecr")
+ context.response.content_type = "text/html"
+ context.response.print partial_content
+ else
+ context.response.content_type = "text/html"
+ page_renderer "home"
+ end
end
Kemal.run