[feat](errorpages): add custom templates for HTTP errors and assets

- Implemented custom HTML templates for `400`, `404`, `500`, and `525` error pages with multilingual support.
- Added embedded file system for error page templates and assets.
- Introduced fallback mechanism to serve minimal plain text for missing error templates.
- Integrated TailwindCSS for styling error pages, with a build script in `package.json`.
This commit is contained in:
dalbodeule
2025-12-02 21:57:30 +09:00
parent 300db525ff
commit 0c4e02f832
16 changed files with 1657 additions and 19 deletions

View File

@@ -20,11 +20,25 @@ CLIENT_BIN := $(BIN_DIR)/hop-gate-client
VERSION ?= $(shell git describe --tags --dirty --always 2>/dev/null || echo dev)
.PHONY: all server client clean docker-server run-server run-client
.PHONY: all server client clean docker-server run-server run-client errors-css
all: server client
server:
# Build Tailwind-based error page CSS (internal/errorpages/assets/errors.css).
# Tailwind 기반 에러 페이지 CSS 빌드 (internal/errorpages/assets/errors.css).
errors-css:
@if [ -f package.json ]; then \
if [ ! -d node_modules ]; then \
echo "Installing npm dependencies..."; \
npm install; \
fi; \
echo "Building Tailwind CSS for error pages..."; \
npm run build:errors-css; \
else \
echo "package.json not found; skipping errors-css build"; \
fi
server: errors-css
@echo "Building server..."
@mkdir -p $(BIN_DIR)
$(GO) build -ldflags "-X main.version=$(VERSION)" -o $(SERVER_BIN) $(SERVER_PKG)