- 文章分類過濾(技術 / 觀念 / 專案 / 工具)
- 技術筆記 (
/notes) 和正式文章 (/posts) 分離 - 分頁
- Pagefind 全站搜尋
- RSS feed
- GitHub Actions 自動部署
- AI 寫作工具 — 用 Claude + Gemini 分工寫技術筆記
- Git Hook 自動筆記 — 跨專案 commit 後自動產生技術筆記
這套工具讓你用 AI 高效產出技術筆記,核心概念是 分工省 token:
| 角色 | 任務 | 成本 |
|---|---|---|
| Claude | 從對話抽出原料(背景、踩坑、解法) | ~200 tokens |
| Gemini | 讀完整規範,寫出文章 | 免費 |
Claude 有對話 context 所以抽原料很快;Gemini 讀長文免費所以負責寫文章。
C:\DEV\Evernote\
├── find-topics.bat # 從 git commits 找新題材
├── write-article.bat # 叫 Gemini 寫文章
└── move-articles.bat # 搬文章到 posts/
找題材:
find-topics "C:\path\to\your\repo"
# Gemini 會看 commits 和現有文章,建議不重複的新題材寫文章:
write-article "React useEffect 清理函數踩坑"
# Gemini 讀 project-guide.md 規範,產出符合風格的文章搬文章:
move-articles
# 把 cloudpipe 裡寫好的 .md 搬到 posts/| 檔案 | 用途 |
|---|---|
src/pages/posts/project-guide.md |
完整寫作規範(給 Gemini 讀) |
src/pages/posts/context-spec.md |
原料清單(給 Claude 讀) |
- 開發專案時用 Claude 解決問題
- 想寫筆記時,貼
context-spec.md給 Claude - Claude 輸出原料清單
- 執行
write-article把原料丟給 Gemini - 執行
move-articles搬到 posts/ - 完成
跨專案開發時,自動把技術細節記錄成筆記。
任何專案的 git commit 後 → 觸發 hook → 分析 diff → 呼叫 Claude API → 產生筆記 → commit 到 Evernote repo 的 notes/ 資料夾。
1. 設定 API Key
# Windows (System Environment Variables)
# 或在 ~/.bashrc 加入:
export ANTHROPIC_API_KEY="sk-ant-..."2. 在其他專案安裝 hook
cd C:/Users/jeffb/Desktop/code/Evernote
node scripts/install-hook.cjs --target C:/path/to/your/project實際範例(安裝到 CloudPipe):
node scripts/install-hook.cjs --target C:/Users/jeffb/Desktop/code/CloudPipe裝完後,該專案每次 commit 都會自動產生技術筆記並 push 到這個 repo 的 notes/ 資料夾。
# Dry run (不寫檔案,只預覽)
node scripts/generate-note.cjs --repo C:/path/to/project --dry-run
# 產生筆記(不 commit)
node scripts/generate-note.cjs --repo C:/path/to/project
# 產生筆記並自動 commit
node scripts/generate-note.cjs --repo C:/path/to/project --auto-commit實際範例(從 CloudPipe 產生筆記):
node scripts/generate-note.cjs --repo C:/Users/jeffb/Desktop/code/CloudPipe --dry-run| 類型 | 路徑 | 產生方式 | 用途 |
|---|---|---|---|
| 筆記 | /notes |
Git hook 自動 / Telegram /write-note / 手動 |
技術細節、debug 紀錄、踩坑經驗 |
| 文章 | /posts |
Telegram /write / AI 寫作工具 / 手動 |
整理過的、有觀點的文章 |
透過 ClaudeBot 的 /write 和 /write-note 指令,直接在 Telegram 產生文章。
生成正式文章:
/write React useEffect 清理函數踩坑
Bot 會產生文章預覽,確認後自動 commit 並 push 到 /posts。
生成技術筆記:
/write-note Electron IPC timeout 問題
Bot 會產生筆記,確認後自動 commit 並 push 到 /notes。
優點:
- 隨時隨地用手機寫文章
- AI 自動生成,省時間
- 預覽確認後再發布
- 自動 commit & push
Astro 靜態網站框架,載入極快
Pagefind 全站搜尋
@astrojs/rss RSS feed 生成
@astrojs/sitemap Sitemap 生成
# Clone
git clone https://github.com/Jeffrey0117/Evernote.git
cd Evernote
# 安裝
npm install
# 開發
npm run dev
# 建置(含搜尋索引)
npm run build
# 預覽
npm run previewsrc/
├── layouts/
│ ├── BaseLayout.astro # 基礎版型(SEO、搜尋)
│ ├── PostLayout.astro # 文章版型
│ └── NoteLayout.astro # 筆記版型(有「筆記」badge)
├── pages/
│ ├── index.astro # 首頁(文章列表、分頁、過濾)
│ ├── about.astro # 關於
│ ├── rss.xml.ts # RSS feed(包含 posts + notes)
│ ├── posts/ # Markdown 文章
│ └── notes/ # Markdown 筆記(git hook 自動產生)
│ └── index.astro # 筆記列表頁
├── styles/
│ └── global.css # 全域樣式(CSS 變數)
scripts/
├── generate-note.js # 產生技術筆記
└── install-hook.js # 安裝 git hook
public/
├── favicon.svg
├── robots.txt
└── og-default.png # 預設 OG 圖片
在 src/pages/posts/ 新增 .md 檔:
---
layout: ../../layouts/PostLayout.astro
title: 文章標題
date: 2026-01-13T12:00
description: 一句話描述
tags:
- Electron
- React
pinned: false
---
文章內容...通常由 git hook 自動產生,也可以手動建立在 src/pages/notes/:
---
layout: ../../layouts/NoteLayout.astro
title: 筆記標題
date: 2026-02-27T12:00
tags:
- React
- Debug
source: CloudPipe
autoGenerated: false
---
筆記內容...文章 (PostLayout):
| 參數 | 必填 | 說明 |
|---|---|---|
layout |
✓ | ../../layouts/PostLayout.astro |
title |
✓ | 文章標題 |
date |
✓ | 發布日期時間 YYYY-MM-DDTHH:mm |
description |
✓ | 文章描述(顯示在列表) |
tags |
✓ | 標籤陣列 |
pinned |
是否置頂,預設 false |
筆記 (NoteLayout):
| 參數 | 必填 | 說明 |
|---|---|---|
layout |
✓ | ../../layouts/NoteLayout.astro |
title |
✓ | 筆記標題 |
date |
✓ | 發布日期時間 YYYY-MM-DDTHH:mm |
tags |
標籤陣列 | |
source |
來源專案名稱(例如 CloudPipe) |
|
autoGenerated |
是否自動產生,預設 false |
文章會根據 tags 自動歸類:
| 分類 | 標籤 |
|---|---|
| 技術 | Electron, React, Python, Node.js, CSS, TypeScript, Astro... |
| 觀念 | 開發觀念, 專案管理, 寫作, Vibe Coding... |
| 專案 | 專案心得, 專案文件 |
| 工具 | CLI, VSCode, 開發工具, DX, Windows... |
編輯 src/styles/global.css:
:root {
--bg-primary: #F9F7F4; /* 背景 */
--text-primary: #2C2C2C; /* 文字 */
--accent: #9C8B7A; /* 強調色 */
--font-mono: 'IBM Plex Mono', monospace;
--font-sans: 'Noto Sans TC', sans-serif;
}已設定 GitHub Actions 自動部署到 GitHub Pages。
Push 到 main 分支即自動部署。
手動部署到其他平台:
npm run build
# dist/ 目錄即為靜態檔案支援:Vercel、Netlify、Cloudflare Pages、任何靜態空間
Built with Astro