Changelog — 主權寫作引擎

2026 年 4 月 28 日

  • 編輯器一鍵發送電子報:按「📧 寄電子報」+ 發布後,直接在編輯器畫面內就能「立即發送」、「排程時間」或「到 Kit 預覽」 — 不再需要跳到 Kit 網站手動點 Send
  • Kit 電子報同步發送 bug 修正:原本程式用錯欄位(published_at 只是顯示時間戳)導致發送從未實際觸發;改為 Kit V4 正確的 send_at 欄位
  • Recur 付款重複處理修復:webhook 加上 idempotency 保護,Recur 重送同一筆事件不會再導致重複建訂閱、重複寄歡迎信、重複加 Kit tag
  • 訂閱記錄查找邏輯加強:歷史取消後重訂的會員,webhook 不會再誤更新到舊的訂閱記錄
  • 每篇文章自動推 Google:新文章發布或更新時,自動透過 Google Indexing API 通知 Google 重新檢索,最快幾分鐘內被收錄(需設定 service account;未設定不影響發布流程)
  • 動態 OG 分享卡:每篇文章在 FB / Threads / X / LinkedIn 分享時,自動產出 1200×630 品牌一致的卡片(標題 + 公開/會員專屬 badge)
  • 找不到頁面有溫度:404 改成顯示最新 5 篇文章 + 回首頁/文章列表 CTA,讓死連結變成發現新內容的入口
  • 相關文章區塊:每篇文章底部自動推薦 3 篇相關文章(依標籤重疊度排序),下方還列出 freeshiuan.com 最新 3 篇免費部落格
  • 摘要欄位變必填:發布前如果沒填摘要會被擋下;輸入時即時顯示字數(建議 100–155 字),避免 SEO 描述用文章內文 fallback 漏出 markdown 符號
  • 編輯器 H1 警告:發布前如果偵測到內文用了 # (會變第二個 H1 稀釋 SEO),會列出位置讓你決定要不要改成 ##
  • Author / Publisher 結構化資料升級:JSON-LD 加入作者社群連結(Facebook、freeshiuan.com、about-me),讓 Google 認識文宣是同一個 entity;Publisher 加 logo 提升 Article rich result 合格率
  • 觀看次數計數修正:改為瀏覽器 cookie 24h 內 dedupe,F5 不再灌水;不執行 JS 的爬蟲也不會再被計算
  • 留言頻率限制:每位讀者每 5 分鐘最多 5 則留言,防灌水
  • 編輯器 markdown 貼上修復:從 Obsidian / VSCode / ChatGPT / Claude 貼進 markdown 時會正確自動轉成 BlockNote 格式(之前因為 clipboard 有 HTML 走錯路徑導致純文字插入)
  • 檔案上傳安全加固:管理後台圖片上傳加上 MIME 白名單、5MB 上限、路徑穿越防護
  • HTML 內容 sanitize:marked 改用 DOMPurify 擋掉 <script>、event handler、javascript: URL,付費電子報 / 文章頁面更安全
  • Kit 同步 slug 邏輯統一:admin 匯入和 cron 自動同步現在共用同一份 slug 生成邏輯,不會再出現同篇文章兩個 slug 的問題
  • 資料庫加索引:article、subscription、article_like、comment 加上熱查詢索引,文章列表載入更快

2026 年 4 月 26 日

  • 付費電子報自動同步名單:按下「📧 寄電子報」如果是付費文章,會在建草稿前自動比對「DB 有效會員」與「Kit paid-subscriber 標籤」,補上落後的、移除多餘的,UI 顯示同步結果(補 N、移 M)
  • 首次同步修正 24 位 drift:補上 23 位漏 tag 的會員(多數是 BMC 搬遷時或 Recur webhook 偶發遺漏)、移除 1 位已退訂仍有 tag 的;DB 75 = Kit 75 完全對齊
  • BMC 月繳/年繳會員自動續期:因 BMC 尚未搬遷至 Recur,將 22 位仍在繳費會員的有效期延長一個月(2026-04-30 → 2026-05-30),避免被誤判過期失去權限

2026 年 4 月 2 日

  • 發布紀錄熱力圖:文章頁與首頁新增 Contribution Heatmap,以顏色深淺呈現過去一年的寫作產量,藍色為公開文章、棕色為付費會員文章,越深代表字數越多,點擊格子可直接跳轉文章
  • WordPress Blog 整合:熱力圖同時抓取 freeshiuan.com 的 Blog 文章,含更新紀錄,完整呈現所有寫作足跡
  • 限時公開修復:修正付費文章設定「限時公開」後,未登入使用者仍無法閱讀的問題;同時修正編輯文章時會意外清除限時設定的 bug
  • 限時公開標籤:文章列表新增橘色「限時公開」badge,讀者一眼辨識
  • 早鳥限時優惠:月付方案顯示原價劃掉 + 優惠價 + 剩餘名額即時計算
  • Kit 電子報每日自動同步:Vercel Cron 每天自動從 Kit 匯入免費電子報為公開文章,不需手動操作
  • 導覽列更名:「文章」改為「電子報文章」,更明確傳達內容定位
  • About 頁補充 Sovereign Writer 脈絡:加入 Ben Thompson 的 Sovereign Writer 理念與 Passport 系統背景,說明 SIP 為何而生

2026 年 4 月 1 日

  • 文章頁 UX 大改版:每頁從 6 篇增至 12 篇,分頁改為「載入更多」按鈕,減少翻頁
  • 標籤雲收合:預設顯示前 10 個熱門標籤,其餘收在「更多」按鈕
  • 手機版搜尋:行動裝置新增獨立搜尋框,不再因 sidebar 隱藏而找不到
  • CMS 右側欄修復:編輯文章時側邊欄可獨立捲動,不再卡住

2026 年 3 月 30 日

  • 程式碼區塊全面升級:改為羊皮紙象牙黃風格,右上角一鍵複製按鈕,長文自動換行
  • CMS 發布設定改版:卡片式選擇「免費公開 / 付費會員」和「草稿 / 發布」,一目了然
  • 限時公開顯示鎖定時間:選擇時間後直接顯示「將於 X 月 X 日自動鎖定」
  • 新文章默認設定:預設為「付費會員」+「立即發布」,減少操作步驟

2026 年 3 月 28 日

  • 電子報自動開啟 Kit 草稿:寄出後直接開新分頁到 Kit 編輯器,不再需要手動找
  • 文宣密件品牌信件模板:電子報自動套用「文宣密件」專屬模板
  • 付費文章自動設定收件人:付費文章的電子報自動帶入 paid-subscriber 標籤,不需手動選
  • CMS 貼上修復:複製貼上 Markdown 內容不再覆蓋整篇文章

2026 年 3 月 26 日

  • 課程平台上線:完整的課程 CRUD API,支援公開列表、學員權限檢查、章節管理
  • 課程章節分組:大章節 + 小章節層級顯示,每個章節顯示時長
  • 會議煉金術 Landing Page:與 NotebookLM 煉金術同風格的課程介紹頁
  • 無縫購買流程:未登入點「登入後購買」→ 登入 → 自動返回 → 自動跳轉結帳頁
  • 會員專屬優惠整合:課程購買享會員獨家折扣
  • 金流安全強化:付款失敗時自動通知並暫停權限,保障會員權益
  • Checkout 逾時保護:結帳按鈕 10 秒逾時自動提示,避免卡住
  • 手機版優化:首頁 Hero 標題/圖片/統計數字響應式適配
  • 關於頁面改版:雙欄排版 + 社交證明輪播

2026 年 3 月 24 日

  • SEO 結構化資料:每篇文章自動產生 JSON-LD(Article schema),Google 正確辨識付費牆內容
  • Canonical URL:每篇文章加上 canonical 標籤,避免重複內容問題
  • OG Image:社群分享時自動帶入封面圖片
  • 付費文章轉換漏斗:付費文章的解鎖頁改為「立即訂閱 → 」主要按鈕,引導轉換

2026 年 3 月 23 日

  • 新增 /devlog 開發日誌頁面
  • 頁尾更新品牌標語

2026 年 3 月 22 日

  • 文章閱讀次數統計:每篇文章顯示即時閱讀次數
  • 即時會員數據:定價頁顯示目前會員人數、剩餘名額與進度條
  • 一鍵從信件按讚:讀者在電子報中點擊「喜歡這篇」,自動完成按讚
  • 封面圖片上傳:CMS 側邊欄支援上傳封面圖,或自動擷取文章第一張圖
  • 電子報全文寄送:Kit 草稿改為完整文章內容(非僅摘要)

2026 年 3 月 19 日

  • Notion 風格文章編輯器:所見即所得,支援 / 斜線指令、Markdown 快捷鍵、拖拉圖片上傳
  • 圖片上傳至 Supabase Storage:編輯器內的圖片自動上傳至永久儲存空間
  • Markdown 快速語法面板:可展開的語法小抄,標題、引用、列表一目了然
  • BMC 風格 CMS 側邊欄:標籤選擇、可見度設定、摘要、網址,一頁搞定
  • 限時免費功能:付費文章可設定 24 小時 / 3 天 / 7 天限時公開
  • 草稿自動存檔:每 3 秒存至瀏覽器,刷新不怕遺失
  • 一鍵建立電子報草稿:發布文章後,一鍵在 ConvertKit 建立草稿
  • Admin 浮動按鈕:右下角快速寫文章 + 進後台
  • 文章頁「編輯」按鈕:Admin 可從文章頁直接跳到編輯器
  • 會員可編輯顯示名稱:會員後台支援修改名稱

2026 年 3 月 18 日

  • Buy Me a Coffee 文章搬家:46 篇付費文章從 BMC 匯入,含完整內容與格式
  • 圖片搬家:106 張圖片從 BMC CDN 搬至 Supabase Storage,零外部依賴
  • Slug 優化:15 個隨機 URL 改為可讀的英文路徑
  • 統一 Magic Link 登入:免費與付費用戶共用同一套身份系統
  • 品牌化 Magic Link 信件:暖色設計,一鍵登入
  • 新用戶自動訂閱電子報:註冊帳號同時加入 ConvertKit 寄信清單
  • 按讚 + 留言系統:BMC 風格互動 UI,支援按讚與留言
  • 品牌 icon:咖啡杯腦迴路圖作為 nav logo 與 favicon

起源

2026 年 3 月,從 Buy Me a Coffee + WordPress 搬遷至自建平台。使用 Claude Code 在 10 小時內完成核心系統,33 分鐘搬完 50 萬字內容。

技術架構:Next.js · Supabase · Vercel · Recur · ConvertKit · Better Auth