refactor(preview): remove juice/Node.js, simplify to pure Go dev server with SSE

- Delete tools/server/ (Node.js, juice, inliner.mjs, server.mjs, node_modules)
- Create tools/preview/server.go — pure Go dev server with SSE + file polling
- Rewrite tools/cli/dev.go — start Go server in-process, no Node.js required
- Simplify preview/index.html — View dropdown (Modern/Source), remove Client
  Simulation panel, remove Gmail/Outlook logic, WebSocket → SSE
- Update all 14 documentation files (README, CONTRIBUTING, AGENTS + translations)
  to reflect pure Go dev server and simplified preview

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
KenanZhuandClaude committed 2026-06-23 09:48:04 +08:00
1 parent d4c6eb99af
commit 0ad7db124a
20 files changed
+319 -633

No files matched your search

+1 -6
View File
@@ -31,17 +31,14 @@
## 開発セットアップ
- **Go 1.21+** テンプレートレンダリングとCLI用
- **Node.js 18+**(任意)開発サーバーとJuice CSSインライン用
### ローカルプレビュー(静的)
1. データを生成: `cd tools && go run . preview all`
2. `preview/index.html` をブラウザで開く
> [!WARNING]
> 静的Gmail/Outlookシミュレーションは参考用です。比較的正確なレンダリングにはdevモードを使用してください。
### 開発サーバー(ライブリロード + CSSインライン + クライアントシミュレーション)
### 開発サーバー(ライブリロード)
```bash
cd tools && go run . dev
@@ -50,8 +47,6 @@ cd tools && go run . dev
`.tmpl` ファイルを編集すると自動的に再構築されブラウザに反映されます。
> [!NOTE]
> Dev シミュレーションは各メールクライアントのレンダリングを完全には再現できません — 参考用です。実際のクライアントで必ず確認してください。
### 結合テスト
+1 -33
View File
@@ -31,17 +31,14 @@
## 개발 설정
- **Go 1.21+** 템플릿 렌더링 및 CLI 도구
- **Node.js 18+** (선택) 개발 서버 및 Juice CSS 인라인
### 로컬 프리뷰 (정적)
1. 데이터 생성: `cd tools && go run . preview all`
2. `preview/index.html`을 브라우저에서 열기
> [!WARNING]
> 정적 Gmail/Outlook 시뮬레이션은 참고용입니다. 비교적 정확한 렌더링은 dev 모드를 사용하세요.
### 개발 서버 (실시간 리로드 + CSS 인라인 + 클라이언트 시뮬레이션)
### 개발 서버 (실시간 리로드)
```bash
cd tools && go run . dev
@@ -50,32 +47,3 @@ cd tools && go run . dev
`.tmpl` 파일 수정 시 자동 재빌드되어 브라우저에 반영됩니다.
> [!NOTE]
> Dev 시뮬레이션은 각 이메일 클라이언트의 렌더링을 완전히 재현할 수 없습니다 — 참고용입니다. 실제 클라이언트에서 반드시 확인하세요.
### 통합 테스트
Gitea에 배포 후 실제 트랜잭션 이메일로 검증하세요. 관리자 테스트 이메일
(**Site Administration > Configuration > Mailer > Send Test Email**)은 커스텀
메일 템플릿을 사용하지 않습니다——내장 코드 경로를 따릅니다.
가장 확실한 방법은 실제 알림을 트리거하는 것입니다. 예를 들어, 비밀번호 재설정 흐름:
1. 로그아웃 후 로그인 페이지에서 **"Forgot password"** 클릭
2. 계정 이메일을 입력하고 제출
3. 비밀번호 재설정 이메일 확인——커스텀 메일 템플릿으로 렌더링됩니다
---
## 커밋 규칙
- `style(<name>):` — 스타일 템플릿 변경
- `preview:` — 프리뷰 도구 변경
- `tools:` — Go 빌드 스크립트 변경
- `docs:` — 문서 및 번역
- `fix:` — 버그 수정
- `project:` — README, LICENSE, 메타 파일
## 라이선스
기여함으로써 MIT 라이선스에 동의하게 됩니다.
+1 -6
View File
@@ -31,17 +31,14 @@
## Настройка разработки
- **Go 1.21+** для рендеринга шаблонов и CLI
- **Node.js 18+** (опционально) для сервера разработки с Juice CSS
### Локальный предпросмотр (статический)
1. Сгенерируйте данные: `cd tools && go run . preview all`
2. Откройте `preview/index.html` в браузере — сервер не нужен
> [!WARNING]
> Статическая симуляция Gmail/Outlook приблизительна. Используйте dev-режим для относительно точного рендеринга.
### Сервер разработки (live reload + CSS инлайн + симуляция клиентов)
### Сервер разработки (live reload)
```bash
cd tools && go run . dev
@@ -50,8 +47,6 @@ cd tools && go run . dev
При изменении `.tmpl` файлов автоматически пересобирает и обновляет браузер.
> [!NOTE]
> Dev-симуляция не может на 100% воспроизвести рендеринг каждого почтового клиента — только для справки. Всегда проверяйте на реальных клиентах.
### Интеграционное тестирование
+1 -6
View File
@@ -35,17 +35,14 @@
## 开发环境
- **Go 1.21+** 用于模板渲染和 CLI 工具
- **Node.js 18+**(可选)用于实时开发服务器与 Juice CSS 内联
### 本地预览(静态)
1. 先生成预览数据:`cd tools && go run . preview all`
2. 在浏览器中打开 `preview/index.html` — 无需服务器
> [!WARNING]
> 静态 Gmail/Outlook 模拟仅供参考,使用 dev 模式可获得相对准确的 CSS 内联渲染。
### 开发服务器(实时重载 + CSS 内联 + 客户端模拟)
### 开发服务器(实时重载)
```bash
cd tools && go run . dev
@@ -54,8 +51,6 @@ cd tools && go run . dev
修改 `.tmpl` 文件后自动重建并推送至浏览器。
> [!NOTE]
> Dev 模拟无法 100% 还原各个邮件客户端的渲染差异,仅供参考,请以实际效果为准。
### 集成测试
+1 -6
View File
@@ -35,17 +35,14 @@
## 開發環境
- **Go 1.21+** 用於模板渲染與 CLI 工具
- **Node.js 18+**(可選)用於即時開發伺服器與 Juice CSS 內聯
### 本機預覽(靜態)
1. 先生成預覽資料:`cd tools && go run . preview all`
2. 在瀏覽器中開啟 `preview/index.html` — 無需伺服器
> [!WARNING]
> 靜態 Gmail/Outlook 模擬僅供參考,使用 dev 模式可獲得相對準確的 CSS 內聯渲染。
### 開發伺服器(即時重載 + CSS 內聯 + 客戶端模擬)
### 開發伺服器(即時重載)
```bash
cd tools && go run . dev
@@ -54,8 +51,6 @@ cd tools && go run . dev
修改 `.tmpl` 檔案後自動重建並推送至瀏覽器。
> [!NOTE]
> Dev 模擬無法 100% 還原各個郵件用戶端的渲染差異,僅供參考,請以實際效果為準。
### 整合測試
+2 -5
View File
@@ -49,15 +49,12 @@ cd tools && go run . preview all
```
その後 `preview/index.html` を開く。
**開発サーバー(ライブリロード + Juice CSSインライン + クライアントシミュレーション):**
**開発サーバー(ライブリロード):**
```bash
cd tools && go run . dev # Node.jsが必要です
cd tools && go run . dev
# → http://localhost:3456
```
> [!NOTE]
> Dev シミュレーションは各メールクライアントのレンダリングを完全には再現できません — 参考用です。実際のクライアントで必ず確認してください。
## 互換性
- **Gitea 1.25+**, 100%互換, 組み込み関数のみ
+2 -12
View File
@@ -49,19 +49,9 @@ cd tools && go run . preview all
```
그런 다음 `preview/index.html` 열기.
**개발 서버 (실시간 리로드 + Juice CSS 인라인 + 클라이언트 시뮬레이션):**
**개발 서버 (실시간 리로드):**
```bash
cd tools && go run . dev # Node.js 필요
cd tools && go run . dev
# → http://localhost:3456
```
> [!NOTE]
> Dev 시뮬레이션은 각 이메일 클라이언트의 렌더링을 완전히 재현할 수 없습니다 — 참고용입니다. 실제 클라이언트에서 반드시 확인하세요.
## 호환성
- **Gitea 1.25+**, 100% 호환, 내장 함수만 사용
## 라이선스
MIT — [LICENSE](../LICENSE).
+2 -5
View File
@@ -49,15 +49,12 @@ cd tools && go run . preview all
```
Затем откройте `preview/index.html`.
**Dev-сервер (live reload + Juice CSS inline + симуляция клиентов):**
**Dev-сервер (live reload):**
```bash
cd tools && go run . dev # требуется Node.js
cd tools && go run . dev
# → http://localhost:3456
```
> [!NOTE]
> Dev-симуляция не может на 100% воспроизвести рендеринг каждого почтового клиента — только для справки. Всегда проверяйте на реальных клиентах.
## Совместимость
- **Gitea 1.25+**, 100% совместимость, только встроенные функции
+2 -11
View File
@@ -62,26 +62,17 @@ cd tools && go run . preview all
```
然后打开 `preview/index.html`。
> [!WARNING]
> 静态模式下 Gmail/Outlook 模拟仅供参考,使用 dev 模式可获得相对准确的 CSS 内联渲染。
**开发服务器(实时重载 + Juice CSS 内联 + Gmail/Outlook 模拟):**
**开发服务器(实时重载):**
```bash
cd tools && go run . dev # 需要 Node.js
cd tools && go run . dev
# → http://localhost:3456
```
> [!NOTE]
> Dev 模拟无法 100% 还原各个邮件客户端的渲染差异,仅供参考,请以实际效果为准。
| 功能 | 静态 | Dev |
|-----------|--------|-----|
| Go 模板渲染 | ✅ | ✅ |
| 主题/模板切换 | ✅ | ✅ |
| Juice CSS 内联 | — | ✅ |
| Gmail/Outlook CSS 剥离 | — | ✅ |
| 实时重载 | — | ✅ |
| 需要 Node.js | — | ✅ |
---
+2 -4
View File
@@ -62,14 +62,12 @@ cd tools && go run . preview all
```
然後開啟 `preview/index.html`。
**開發伺服器(即時重載 + Juice CSS 內聯 + 客戶端模擬):**
**開發伺服器(即時重載):**
```bash
cd tools && go run . dev # 需要 Node.js
cd tools && go run . dev
# → http://localhost:3456
```
> [!NOTE]
> Dev 模擬無法 100% 還原各個郵件用戶端的渲染差異,僅供參考,請以實際效果為準。
---