Document R2 image upload in README and mark plan complete
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 盈豐太陽能工程有限公司 — 官網(村屋太陽能)
|
||||
|
||||
**Astro 7 + React 19 + Chakra UI v3 + Cloudflare Workers + D1 + Drizzle。全部部署喺 Cloudflare,零維運。**
|
||||
**Astro 7 + React 19 + Chakra UI v3 + Cloudflare Workers + D1 + KV + R2 + Drizzle。全部部署喺 Cloudflare,零維運。**
|
||||
|
||||
一頁式官網(村屋太陽能)+ Blog + 內容管理後台。
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
| Adapter | `@astrojs/cloudflare`(一個 Worker) |
|
||||
| DB | Cloudflare D1(SQLite) |
|
||||
| ORM | Drizzle |
|
||||
| 物件儲存 | Cloudflare R2(後台圖片上傳,binding `MEDIA`) |
|
||||
| Auth | HMAC-signed cookie(`src/lib/auth.ts`) |
|
||||
| Markdown | `marked` |
|
||||
| Icons | `lucide-react` |
|
||||
@@ -53,7 +54,7 @@ npm run dev
|
||||
|
||||
```bash
|
||||
npm run login # 瀏覽器授權
|
||||
npm run setup # 建立 D1 / KV、寫入 wrangler.jsonc、設 secret、套 migration + seed
|
||||
npm run setup # 建立 D1 / KV / R2、寫入 wrangler.jsonc、設 secret、套 migration + seed
|
||||
```
|
||||
|
||||
`npm run setup` 會逐步問你:要唔要設定後台密碼、要唔要套 migration/seed、要唔要 build + deploy。若 `astro.config.mjs` 嘅 `site` 仍然係 `https://example.com`,會跳過 build + deploy 並提醒你改。
|
||||
@@ -91,7 +92,7 @@ npm run deploy
|
||||
1. 去 `/admin`,輸入密碼登入
|
||||
2. **內容總覽** → 服務 / 特色 / 流程 / 常見問題 / 完成案例 / 網站設定 / AI 生成
|
||||
3. 每個項目可新增、修改、刪除、用 ↑↓ 排序、「已發布 / 草稿」控制前台顯示
|
||||
4. 圖片:直接貼圖片 URL(暫時;之後可換成上傳)
|
||||
4. 圖片:可揀檔即時上傳去 R2(瀏覽器端先縮圖轉 WebP),亦可貼圖片 URL
|
||||
5. **AI 生成**:設定供應商同關鍵字佇列,生成草稿後去文章編輯頁覆核發布
|
||||
|
||||
## 結構
|
||||
@@ -110,9 +111,11 @@ src/
|
||||
├─ pages/
|
||||
│ ├─ index.astro SSR 首頁
|
||||
│ ├─ blog/… Blog
|
||||
│ ├─ admin/… 後台(含 admin/ai)
|
||||
│ ├─ admin/… 後台(含 admin/ai、admin/upload 上傳 endpoint)
|
||||
│ ├─ media/[...key].ts R2 圖片出圖 endpoint
|
||||
│ └─ sitemap.xml.ts / robots.txt.ts
|
||||
├─ lib/{auth,db,env,form,ai,markdown}.ts
|
||||
├─ components/admin/ImageField.astro 後台圖片欄(URL + 上傳 + 預覽)
|
||||
├─ lib/{auth,db,env,form,media,ai,markdown}.ts
|
||||
migrations/
|
||||
├─ 0000_init.sql … Drizzle migrations
|
||||
└─ seed.sql 種子資料(用 db:seed 另外執行)
|
||||
|
||||
Reference in New Issue
Block a user