feat(dev): add live-reload dev server with Juice CSS inlining

- tools/server/: Node.js dev server (Express + WebSocket + fs.watch)
  Watches themes/ for .tmpl changes, rebuilds via Go preview command,
  applies Juice CSS inlining for email client compatibility, pushes
  live reload to browser via WebSocket.
- tools/cli/dev.go: 'go run . dev' subcommand — starts Node.js server
  with automatic npm install, initial preview generation, and
  Ctrl+C graceful shutdown.
- tools/tools.go: register dev command in CLI app.
- .gitignore: add node_modules exclusion.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
KenanZhuandClaude Opus 4.8 committed 2026-06-04 13:50:57 +08:00
1 parent 0bf982ffb9
commit 05d76a90af
6 files changed
+377

No files matched your search

+1
View File
@@ -19,6 +19,7 @@ func main() {
cmds.CreateCommand(),
cmds.DeleteCommand(),
cmds.PreviewCommand(),
cmds.DevCommand(),
},
}