Refactor Tailwind CSS server handling

This commit is contained in:
Akira Tempaku 2024-11-15 09:51:29 +09:00
parent 7bddd59dab
commit 340dd47e0d
5 changed files with 16 additions and 13 deletions

View file

@ -1,4 +1,4 @@
TAILWINDCSS_URL=https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-macos-arm64
TAILWIND_URL=https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-macos-arm64
TAILWIND_TARGET=tailwindcss-macos-arm64
BIN_DIR=./bin
TAILWIND_BIN=$(BIN_DIR)/tailwindcss
@ -11,7 +11,7 @@ install: ## Download TailwindCSS binary and install other dependencies
@echo "Creating bin directory if it doesn't exist..."
mkdir -p $(BIN_DIR)
@echo "Downloading TailwindCSS binary..."
curl -sLO $(TAILWINDCSS_URL)
curl -sLO $(TAILWIND_URL)
@echo "Making TailwindCSS binary executable..."
chmod +x $(TAILWIND_TARGET)
@echo "Moving TailwindCSS binary to $(BIN_DIR)..."
@ -32,4 +32,12 @@ help: ## Display available commands and their descriptions
clean: ## Remove the bin directory and clean up generated files
@echo "Removing $(BIN_DIR)..."
rm -rf $(BIN_DIR)
rm -rf $(BIN_DIR)
lem: ## Open Lem with TailwindCSS server
@echo "Starting make watch in background..."
@make watch > /dev/null 2>&1 & \
WATCH_PID=$$!; \
trap "kill $$WATCH_PID" SIGINT SIGTERM EXIT; \
lem; \
kill $$WATCH_PID

View file

@ -11,8 +11,6 @@
(defparameter *app* (jg:make-app :address "localhost"
:port env:*port*))
(jg:clear-middlewares *app*)
(jg:clear-routing-rules *app*)
(fbr:assign-routes *app* :system "hp" :directory "src/routes")
(jg:install-middleware *app* mw:*recoverer*)
(jg:install-middleware *app* mw:*path-normalizer*)

View file

@ -10,16 +10,10 @@
#:update))
(in-package #:hp)
(defparameter *watch-process* nil)
(defun start ()
(when (env:dev-mode-p)
(setf *watch-process* (uiop:launch-program "make watch")))
(jg:start *app*))
(defun stop ()
(when (env:dev-mode-p)
(uiop:terminate-process *watch-process*))
(jg:stop *app*))
(defun update ()

View file

@ -1,7 +1,8 @@
(defpackage #:hp/renderer
(:use #:cl
#:hsx)
(:local-nicknames (#:jg #:jingle)))
(:local-nicknames (#:jg #:jingle))
(:local-nicknames (#:env #:hp/env)))
(in-package #:hp/renderer)
(defcomp document (&key title description children)
@ -26,6 +27,8 @@
(defmethod jg:process-response ((app jg:app) result)
(jg:set-response-header :content-type "text/html; charset=utf-8")
(when (env:dev-mode-p)
(jg:set-response-header :cache-control "no-store"))
(call-next-method app
(hsx:render-to-string
(if (listp result)

View file

@ -13,7 +13,7 @@
open: false,
get isOpen() { return this.open },
toggle() { this.open = ! this.open },
}"
}"
(button :@click "toggle()"
"Toggle")
(div :x-show "isOpen"