summaryrefslogtreecommitdiff
path: root/dev
diff options
context:
space:
mode:
authorJake Zerrer <him@jakezerrer.com>2025-08-12 10:49:35 -0400
committerJake Zerrer <him@jakezerrer.com>2025-08-12 10:49:35 -0400
commita921181505370e8db61d79606d8530105022ff18 (patch)
treef1315d651dff15dbdfc9dee5c714a6f50c924d01 /dev
parentad261cf0fb5b72fc8ff35056d1b54c9b0ab77fa5 (diff)
Create repl workflow
Diffstat (limited to 'dev')
-rw-r--r--dev/repl.clj38
1 files changed, 38 insertions, 0 deletions
diff --git a/dev/repl.clj b/dev/repl.clj
new file mode 100644
index 0000000..dc9dc43
--- /dev/null
+++ b/dev/repl.clj
@@ -0,0 +1,38 @@
+(ns repl
+ (:require [core :refer [-main] :rename {-main build}]
+ [ring.adapter.jetty :as jetty]
+ [ring.middleware.file :as file]
+ [ring.middleware.content-type :as content-type]
+ [ring.util.response :as response]))
+
+(defonce server (atom nil))
+
+(defn app [request]
+ (or ((file/wrap-file identity "target/html") request)
+ (response/not-found "Not Found")))
+
+(def handler
+ (-> app
+ content-type/wrap-content-type))
+
+(defn start []
+ (when-not @server
+ (reset! server (jetty/run-jetty handler {:port 8080 :join? false}))
+ (println "Server started on http://localhost:8080")))
+
+(defn stop []
+ (when @server
+ (.stop @server)
+ (reset! server nil)
+ (println "Server stopped")))
+
+(defn restart []
+ (stop)
+ (start))
+
+(defn serve []
+ (start))
+
+(comment
+ (restart)
+ (build))