require "kemal" module Indrajith::Dev::Crystal VERSION = "0.1.0" 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 end