Files
dotlog-demo/DESIGN.md
2026-04-21 13:49:12 +08:00

337 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DESIGN.md — CLI Anything 網站設計規格
> 本文件根據 https://clianything.org/zh 實機抓取的 CSS token 與 DOM 結構彙整而成,可直接作為複刻、二次開發或延伸設計的依據。
---
## 1. 設計定位Design Principle
| 項目 | 說明 |
|------|------|
| 產品類型 | 開發者工具 / 開源 Claude Code 插件 |
| 目標受眾 | AI 代理開發者、工具鏈工程師、關注自動化的工程文化社群 |
| 設計關鍵字 | **極簡、克制、技術感、綠色科技、文件驅動、清透** |
| 視覺基調 | **亮面現代極簡 + 終端機感的等寬字節奏**。不走炫技路線,以排版、留白、節制色彩呈現工程可信度 |
| 品牌人格 | 技術專業、務實、自信強調「100% 測試通過」「2k+ Stars」但語氣對開發者友善 |
---
## 2. 色彩系統Color Tokens
採用 Tailwind CSS v4 的 CSS Variables 架構,支援 Light / Dark 雙主題。**預設為淺色主題**。
### 2.1 Light Theme
| Token | HEX | 用途 |
|-------|-----|------|
| `--background` | `#fcfcfc` | 全站底色(近白但非純白,降低刺眼感) |
| `--foreground` | `#171717` | 主要文字 |
| `--card` | `#fcfcfc` | 卡片底(與背景同色,靠 border 區隔) |
| `--primary` | `#00bb7f` | **品牌主色**(翡翠綠 / emerald用於 CTA、強調、圖示 |
| `--secondary` | `#fdfdfd` | 次級區塊底 |
| `--muted` | `#ededed` | 柔和背景(如 code inline、tag |
| `--muted-foreground` | `#202020` | 柔和文字 |
| `--accent` | `#ededed` | 互動 hover 背景 |
| `--border` | `#dfdfdf` | 分隔線、卡片描邊 |
| `--ring` | `#72e3ad` | focus ring主色淡化版 |
### 2.2 Dark Theme
| Token | HEX |
|-------|-----|
| `--background` | `#121212` |
| `--foreground` | `#e2e8f0` |
| `--card` | `#171717` |
| `--primary` | `#007956`(深一階的翡翠綠) |
| `--secondary` | `#242424` |
| `--muted` | `#1f1f1f` |
| `--muted-foreground` | `#a2a2a2` |
| `--accent` | `#313131` |
| `--border` | `#292929` |
| `--ring` | `#4ade80` |
### 2.3 功能色(狀態/語意)
沿用 Tailwind 官方色票:
- 成功:`green-500 #00c758` / `green-600 #00a544`
- 警告:`amber-400 #fcbb00` / `yellow-400 #fac800`
- 危險:`red-500 #fb2c36`
- 紫(徽章):`purple-400 #c07eff`
- 中性:`zinc-500 #71717b` / `neutral-500 #737373`
### 2.4 配色原則
1. **主色只做一件事**`#00bb7f` 僅用於 CTA、LOGO、關鍵圖示、連結 hover、進度點不做大面積填充。
2. **卡片與底色同色**`card``background` 都是 `#fcfcfc`,利用 `border: 1px solid #dfdfdf` 劃分層級,形成「平面分區」質感。
3. **文字以中性灰階為主**`#171717` 主體、`#525252`neutral-600次級說明、`#a1a1a1`neutral-400輔助。
---
## 3. 字體系統Typography
### 3.1 字體家族
```css
--font-sans: "Space Grotesk", system-ui, sans-serif; /* 標題與 UI */
--font-serif: "Merriweather", Georgia, serif; /* 少量引用、強調段落 */
--font-mono: "JetBrains Mono", "Fira Code", monospace; /* 程式碼、指令、技術詞 */
```
選用邏輯:
- **Space Grotesk**:幾何人文無襯線,字腔開闊、帶一點工程感,適合技術品牌標題。
- **Merriweather**:作為對比的 serif偶爾用於強調「宣言式」文案。
- **JetBrains Mono**:開發者社群熟悉的等寬字,強化「命令列」品牌語言。
### 3.2 字級階層
| Token | Size / Line-height | 使用場景 |
|-------|--------------------|----------|
| `text-7xl` | 72 / 1.0 | Hero 主標題(桌機) |
| `text-5xl` | 48 / 1.0 | Section 大標 |
| `text-4xl` | 36 / 1.11 | Section 次級標 |
| `text-3xl` | 30 / 1.2 | 卡片內標題 |
| `text-xl` | 20 / 1.4 | Hero 副標、引言 |
| `text-base`| 16 / 1.5 | 正文 |
| `text-sm` | 14 / 1.43 | 註解、metadata |
| `text-xs` | 12 / 1.33 | 徽章、footer |
字重:`400 / 500 / 600 / 700`Hero 標題使用 `700`,一般段落 `400`,小標 `600`
---
## 4. 間距、圓角、陰影
| Token | 值 | 用途 |
|-------|----|------|
| `--spacing` | `0.25rem (4px)` | 基礎單位(全站 4 的倍數) |
| `--radius-xs` | `2px` | inline code、小標籤 |
| `--radius-2xl` | `16px` | **按鈕、卡片預設** |
| `--radius-3xl` | `24px` | Hero 容器、大型區塊 |
| `--radius-4xl` | `32px` | 特殊浮動區塊 |
| `--shadow-sm` | 輕陰影 | 卡片靜態 |
| `--shadow-lg` | 中陰影 | hover 懸浮 |
| 過渡 | `cubic-bezier(.4, 0, .2, 1) 150ms` | 全站統一 ease-in-out |
**容器寬度**:最大 `--container-6xl: 72rem (1152px)` 為內容主幅寬。
---
## 5. 頁面結構與區塊Layout
```
┌─────────────────────────────────────────────┐
│ Header (sticky, 64px) │
├─────────────────────────────────────────────┤
│ │
│ Hero — 大標 + 副標 + 雙 CTA + 徽章列 │
│ │
├─────────────────────────────────────────────┤
│ 為什麼選擇 CLI — 4 欄優勢卡片 │
├─────────────────────────────────────────────┤
│ 5 分鐘上手 — 4 步驟編號卡 │
├─────────────────────────────────────────────┤
│ 應用覆蓋 — 6 類別卡片網格 │
├─────────────────────────────────────────────┤
│ 核心特性 — 7 階段流水線(水平時間軸) │
├─────────────────────────────────────────────┤
│ FAQ — Accordion 折疊問答 │
├─────────────────────────────────────────────┤
│ Footer — 4 欄連結 + 版權 │
└─────────────────────────────────────────────┘
```
### 5.1 Header
- 高度 `64px``position: sticky; top: 0;`、背景半透明 + `backdrop-filter: blur(8px)`
-LogoPNG約 32px 高) + 品牌字「CLI Anything」。
- 右:`功能特性``在 GitHub 查看`(後者為 `primary` 填色按鈕)。
- 底部 `border-bottom: 1px solid #dfdfdf`
### 5.2 Hero
- 垂直置中、上下 padding ≈ `96px`
- 主標題:`text-7xl / 700 / tracking-tight`,行距 1.0,最多兩行。
- 副標題:`text-xl / 400 / neutral-600`,最大寬度 `42rem` 置中。
- 徽章列:`⭐ GitHub 2k+ Stars · 1,436 個測試全部通過 · 開源免費` — 使用 `text-sm`、灰階、中點分隔。
- 雙 CTA
- 主:`立即開始``bg-primary #00bb7f`、白字、`rounded-2xl``px-6 py-3`)。
- 次:`在 GitHub 查看``outline` 風、透明底、border-neutral
### 5.3 Feature Grid為什麼選擇 CLI
- 4 欄(桌機)/ 2 欄(平板)/ 1 欄(手機)。
- 卡片:`bg-card``border``rounded-2xl`、內距 `24px`
- 結構:頂部小圖示(`primary`24px+ 標題 + 描述。
### 5.4 快速上手步驟
- 水平排列的編號卡1→2→3→4每張卡含
- 大型編號(`text-5xl` + `primary` 色 + `font-mono`)。
- 步驟標題。
- 終端指令(背景 `#ededed``JetBrains Mono``rounded-xs`、內距 `8px 12px`)。
### 5.5 應用覆蓋Apps Grid
- 6 格卡片排版,每格一大類,內含 chip tag 列示支援的軟體名稱。
- Tag 樣式:`bg-muted``text-xs``rounded-xs``px-2 py-0.5`
### 5.6 7 階段流水線
- 水平時間軸7 個節點以 `primary` 圓點 + 連線呈現。
- 桌機水平、手機垂直折疊。
### 5.7 FAQ
- Accordion 組件,`border-bottom` 逐列劃分點擊展開平滑過渡150ms
- 問題使用 `font-semibold`,展開內容使用 `muted-foreground`
### 5.8 Footer
- 4 欄:品牌敘述 / 導航 / 資源 / 法律。
- 背景同 `background`,頂部 `border-top`
- 版權置中,`text-sm / neutral-500`
---
## 6. 組件樣式規範Components
### 6.1 Button
```
/* Primary */
background: #00bb7f;
color: #fff;
padding: 12px 24px;
border-radius: 16px;
font-weight: 600;
transition: transform 150ms, box-shadow 150ms;
hover { transform: translateY(-1px); box-shadow: var(--shadow-lg); }
/* Secondary */
background: transparent;
color: #171717;
border: 1px solid #dfdfdf;
hover { background: #ededed; }
/* Ghost (Header link) */
padding: 8px 12px;
hover { color: #00bb7f; }
```
### 6.2 Card
```
background: #fcfcfc;
border: 1px solid #dfdfdf;
border-radius: 16px;
padding: 24px;
/* 無預設陰影hover 才浮起 */
hover { box-shadow: var(--shadow-lg); border-color: #00bb7f33; }
```
### 6.3 Badge / Tag
```
background: #ededed;
color: #202020;
font-size: 12px;
padding: 2px 8px;
border-radius: 2px;
font-family: var(--font-mono);
```
### 6.4 Inline Code / Command
```
font-family: "JetBrains Mono";
background: #ededed;
color: #171717;
padding: 2px 6px;
border-radius: 4px;
font-size: 0.875em;
```
---
## 7. 互動與動態Motion
| 項目 | 規格 |
|------|------|
| 預設過渡 | `150ms cubic-bezier(.4, 0, .2, 1)` |
| 按鈕 hover | `translateY(-1px)` + shadow-lg |
| 卡片 hover | border-color 轉成 primary帶透明度+ shadow-lg |
| Accordion | `max-height` / `opacity` 同時過渡 200ms |
| Scroll 進入 | 建議使用 `fade-up`opacity 0→1, translateY 8px→0, 400ms |
| 載入動畫 | `--animate-spin: spin 1s linear infinite` 供載入指示器使用 |
**原則**不使用視差、粒子、3D 等重特效。動態只為回饋與引導視線,不喧賓奪主。
---
## 8. 圖示與圖片
- **Logo**PNG 去背單色可轉白Footer或原色Header
- **圖示**:線性風格,`stroke-width: 1.5`,顏色 `#00bb7f``#171717`,尺寸 `24px`
- **Hero 背景**:可選擇純色(預設)或加入極淡的 grid pattern / noise textureopacity ≤ 5%)增加質感,避免放大型照片打破極簡感。
---
## 9. 響應式斷點Breakpoints
沿用 Tailwind 預設:
| 斷點 | 寬度 | 典型佈局變化 |
|------|------|---------------|
| `sm` | 640px | 單欄→雙欄起點 |
| `md` | 768px | 2 欄網格 |
| `lg` | 1024px | 4 欄 feature 網格 |
| `xl` | 1280px | 完整桌機版7xl 大標) |
| `2xl`| 1536px | 容器置中、不再放大 |
手機版 Hero 主標降為 `text-4xl`padding 壓縮至 `48px`
---
## 10. 語氣與文案風格Voice & Tone
- **務實、技術、自信**以數字佐證主張1,436、2k+、100%)。
- **動詞開場**:「讓」、「告別」、「轉化」、「發現」。
- **開發者密語**:允許出現 `--json``--help``/plugin install` 等技術詞彙,不做科普式解釋,相信讀者能看懂。
- **避免行銷套話**:不使用「革命性」、「顛覆」、「一站式」等空泛形容詞。
---
## 11. 可及性Accessibility
- 正文對比率 `#171717` on `#fcfcfc` ≈ 16:1超過 WCAG AAA。
- CTA `#fff` on `#00bb7f` 對比 ≈ 3.1:1符合 AA Large。建議小字按鈕可加粗字重或增加 border。
- 所有互動元素必須具備 `focus-visible` ring使用 `--ring: #72e3ad``outline: 2px solid``outline-offset: 2px`)。
- Accordion 使用語意化 `<details>` 或具 `aria-expanded` 的按鈕。
- 所有 icon-only button 附 `aria-label`
---
## 12. 技術棧(參考)
| 層 | 技術 |
|----|------|
| 框架 | Next.jsApp Router`/_next/static/chunks` 推斷) |
| 樣式 | Tailwind CSS v4CSS Variables + `@layer theme` |
| 字體載入 | `next/font` 本地自管Space Grotesk / Merriweather / JetBrains Mono |
| 主題 | CSS 變數切換Light / Dark可能由 `class="dark"` 控制) |
| 部署 | 靜態化 Next.js |
---
## 13. 複刻檢核表Checklist
撰寫實作時可逐項對照:
- [ ] 背景色用 `#fcfcfc` 而非 `#ffffff`
- [ ] 主色只用於 CTA / Logo / 強調點,不大面積填充
- [ ] 卡片靠 `1px border` 劃界,而非陰影
- [ ] 標題使用 Space Grotesk、指令一律 JetBrains Mono
- [ ] 按鈕圓角 `16px (rounded-2xl)`
- [ ] Hover 有輕微上浮 + 陰影
- [ ] 所有過渡 150ms ease-in-out
- [ ] 容器最寬 `1152px` 置中
- [ ] 數字指標以 mono + 中點分隔列於 Hero 下方
- [ ] Footer 含 4 欄、版權置中
- [ ] 支援 Light / Dark 主題切換
- [ ] 所有互動元素可見 focus ring
---
_以上規格為觀察 clianything.org/zh 正式站點之設計萃取,可作為同風格專案的設計基礎;實際實作時若取得原始設計稿,以設計稿為準。_