fix: 完成 Gitea 目录改组收尾(import、构建与 LICENSE)

同步包路径与路由,去掉 SPA 构建步骤,对齐 Gitea 式 LICENSE,并更新规格/规则与占位 SSR。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-29 04:01:20 +08:00
parent 9fe299a45f
commit 3f50316ad0
93 changed files with 1472 additions and 1522 deletions

View File

@@ -1,5 +1,5 @@
# 姜十三论坛 Jiang13 Forum - Makefile
# Go 1.26 单二进制编译,与 Gitea 打包方式一致
# Go 1.26 单二进制templates SSR + web_src 渐进资源(本分支无 React SPA
APP_NAME := jiang13
MAIN_PKG := ./cmd/jiang13
@@ -12,42 +12,39 @@ REGISTRY_IMAGE := hangzhang714128/jiang13-forum
GO := go
GOFLAGS := -trimpath
.PHONY: all build build-windows build-linux build-darwin clean run dev tidy help frontend frontend-build web-src-build docker compose-up compose-down
.PHONY: all build build-windows build-linux build-darwin build-all clean run dev tidy help web-src-build docker compose-up compose-down
all: build
web-src-build:
cd web_src && npm run build
frontend-build:
cd frontend && npm install && npm run build
## 编译当前平台二进制(纯 Go SQLite无需 CGO
build: web-src-build frontend-build
build: web-src-build
@mkdir -p $(BUILD_DIR)
CGO_ENABLED=0 $(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(APP_NAME) $(MAIN_PKG)
@echo "✓ 编译完成: $(BUILD_DIR)/$(APP_NAME)"
## Windows amd64(先打包前端再 embed
build-windows: web-src-build frontend-build
## Windows amd64
build-windows: web-src-build
@mkdir -p $(BUILD_DIR)
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 $(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(APP_NAME).exe $(MAIN_PKG)
@echo "✓ Windows: $(BUILD_DIR)/$(APP_NAME).exe"
## Linux amd64(先打包前端再 embed
build-linux: web-src-build frontend-build
## Linux amd64
build-linux: web-src-build
@mkdir -p $(BUILD_DIR)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(APP_NAME)-linux-amd64 $(MAIN_PKG)
@echo "✓ Linux: $(BUILD_DIR)/$(APP_NAME)-linux-amd64"
## macOS arm64 (Apple Silicon)(先打包前端再 embed
build-darwin: web-src-build frontend-build
## macOS arm64 (Apple Silicon)
build-darwin: web-src-build
@mkdir -p $(BUILD_DIR)
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 $(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(APP_NAME)-darwin-arm64 $(MAIN_PKG)
@echo "✓ macOS: $(BUILD_DIR)/$(APP_NAME)-darwin-arm64"
## 跨平台全量编译web-src + frontend 只跑一次)
build-all: web-src-build frontend-build
## 跨平台全量编译web_src 只跑一次)
build-all: web-src-build
@mkdir -p $(BUILD_DIR)
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 $(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(APP_NAME).exe $(MAIN_PKG)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(APP_NAME)-linux-amd64 $(MAIN_PKG)
@@ -59,20 +56,13 @@ build-all: web-src-build frontend-build
tidy:
$(GO) mod tidy
## 本地运行(仅后端,使用已 embed 的前端;数据目录与 dist 二进制一致
run:
## 本地运行 SSR先构建 web_src
run: web-src-build
@mkdir -p $(DEV_DATA_DIR)
$(GO) run $(MAIN_PKG) --data $(DEV_DATA_DIR)
$(GO) run $(MAIN_PKG) --work-path . --data $(DEV_DATA_DIR)
## 前端热更新开发(后端 :3000 + Vite :5173Ctrl+C 同时退出;数据目录与 dist 二进制一致
dev:
@echo "前端热更新: http://localhost:5173"
@echo "后端 API : http://localhost:3000"
@echo "数据目录 : $(DEV_DATA_DIR) (与 dist 二进制一致)"
@mkdir -p $(DEV_DATA_DIR)
@trap 'kill 0' INT; \
$(GO) run $(MAIN_PKG) --dev --data $(DEV_DATA_DIR) & \
cd frontend && (test -d node_modules || npm install) && npm run dev
## 同 runSPA 对照请 git checkout main
dev: run
## 清理编译产物
clean:
@@ -91,15 +81,15 @@ compose-down:
docker compose down
help:
@echo "姜十三论坛编译命令:"
@echo "姜十三论坛编译命令 (rebuild/gitea-ssr):"
@echo " make web-src-build - 构建 SSR 渐进资源 (web_src)"
@echo " make build - 编译当前平台"
@echo " make build - web_src + 编译当前平台"
@echo " make build-windows - 编译 Windows"
@echo " make build-linux - 编译 Linux"
@echo " make build-darwin - 编译 macOS"
@echo " make build-all - 编译全部平台"
@echo " make run - 启动后端 SSR:3000"
@echo " make dev - 后端 + 旧 SPA Vite 对照(:5173 + :3000"
@echo " make run / make dev - 启动 SSR:3000"
@echo " make docker - 构建 Docker 镜像"
@echo " make compose-up - Docker Compose 启动"
@echo " make compose-down - Docker Compose 停止"
@echo " SPA 对照: git checkout main"