Releases: garylin0969/garylin.dev
v4.3.2
概要
這個版本聚焦在文章頁的行動裝置閱讀體驗修正,主要處理 markdown 表格與長 inline code 在手機寬度下把版面撐爆的問題,同步更新版本號與靜態內容索引,作為 4.3.2 的正式發版紀錄。
亮點更新
1. 修正文章頁手機版爆版問題
- 文章內的 markdown 表格現在會包在可水平捲動的容器中,避免窄螢幕下直接把整頁撐寬。
- 行內
code樣式改為允許換行,讓長路徑、技能名稱與 URL 在手機上也能正常顯示。 - 文章內容容器補上寬度收斂設定,降低子元素把版面撐開的風險。
2. 發版資料同步更新
package.json版本號更新為4.3.2。- 同步更新
.velite/posts.json與public/search-index.json等建置產物,讓靜態內容資料與目前版本一致。
內部重構與維護性調整
- MDX 元件映射補上
table的行動裝置保護邏輯,後續新增含表格的文章時不需要個別處理。 - inline code 的顯示規則改為更適合窄螢幕,降低內容型文章的版面維護成本。
可能的破壞性變更
這個版本以文章頁的響應式修正為主,沒有預期的對外 API 破壞性變更。
- 文章頁中的表格在手機上會改為可水平捲動的呈現方式,若有依賴既有表格寬度或排版的客製樣式,可能需要一併調整。
v4.3.1
概要
這個版本主要整理 AI 開發環境相關內容與專案內部維護方式,新增一篇完整記錄 AI 工具、MCP 伺服器、Skills 與 Plugins 的文章,並將原本放在專案內的 .agents/ 規則與技能文件移出,同步把專案版本號更新為 4.3.1。整體目標是讓內容維護與開發環境管理更清楚,也讓 repository 本身更聚焦在網站內容與程式碼本體。
亮點更新
1. 新增 AI 開發環境整理文章
- 新增〈我的 AI 開發工具與技能清單〉文章,整理目前使用的 AI 開發工具組合。
- 內容涵蓋 VSCode、Claude Code、Claude Desktop、MCP 伺服器、Plugins 與 Skills 的配置方式。
- 文章也補上換電腦時的快速恢復 checklist,方便後續重建開發環境。
2. 專案內代理規則與技能文件移出
- 移除原本放在
.agents/目錄下的規則、技能說明與相關資產。 - 專案 repository 不再直接承載這批 AI 協作設定,讓內容邊界更清楚。
- 相關 Skills 管理方式改為由獨立的技能 repository 維護與引用。
3. 發版資料更新
package.json版本號更新為4.3.1。- 新增本次版本的 release note,作為
4.3.1的正式發版紀錄。
內部重構與維護性調整
- 專案目錄移除與網站執行無直接關聯的代理規則檔案後,repository 結構更精簡。
- AI 開發環境相關知識改以文章與外部技能 repository 說明,降低專案內重複維護成本。
可能的破壞性變更
這個版本沒有預期的網站功能破壞性變更,但有開發流程層級的調整。
- 若有依賴專案內
.agents/路徑讀取規則或技能文件的本地工具設定,升級後需要改為從新的外部來源取得。 - AI 協作相關說明不再由此 repository 直接提供完整檔案內容,需改以文章或獨立 Skills repository 為準。
v4.3.0
概要
這個版本聚焦在首頁與部落格閱讀介面的視覺整理,包含作者資訊卡、技能卡、文章列表、文章頁 metadata 與目錄樣式調整,同時也把工作經歷時間軸的雙欄切換時機往更大的斷點後移,讓平板與中小尺寸螢幕的版面更穩定。除此之外,也同步更新搜尋索引與版本號,作為 4.3.0 的正式發版內容。
亮點更新
1. 部落格列表與文章頁閱讀樣式優化
- 文章列表由卡片式邊框改為更輕量的分隔線與 hover 背景,讓列表掃讀感更一致。
- 文章卡片縮圖補上圓角,整體視覺更貼近站內既有設計語言。
- 文章頁標題區塊改為先呈現 metadata 再顯示標題,讓閱讀順序更清楚。
- 文章日期格式改為英文短日期樣式,並弱化日期視覺層級,讓分類資訊與內容標題更突出。
2. 作者資訊與輔助導覽元件重整
- 作者卡片改為更精簡的橫向資訊編排,整合職稱、地點、Email 與社群連結。
- 目錄區塊新增
On This Page標題,並調整層級縮排、邊線與 active 狀態樣式,提升長文導覽辨識度。 - 技能卡片補上更明確的底色、標題色與較輕的邊線,讓首頁資訊區塊層次更清楚。
3. 首頁與履歷區塊版面調整
- 工作經歷時間軸的雙欄版型由
md改為lg才啟用,降低平板尺寸下版面擁擠的問題。 - 作者資訊區塊改版後,首頁個人介紹區域在桌機與行動裝置上都更集中且易讀。
4. 發版資料與索引同步更新
package.json版本號更新為4.3.0。- 同步更新
.velite/posts.json與public/search-index.json等建置產物,讓靜態內容索引與目前文章資料保持一致。
內部重構與維護性調整
- 多個展示型元件改以更一致的 spacing、 border 與文字層級規則呈現,減少首頁與文章頁之間的視覺落差。
- 靜態搜尋索引重新輸出後,新增文章內容也能立即反映在搜尋資料中。
可能的破壞性變更
這個版本以介面與內容索引同步為主,沒有預期的對外 API 破壞性變更。
- 若有依賴既有文章列表卡片外框樣式或作者卡片 DOM 結構的客製 CSS,升級後可能需要同步調整。
- 搜尋結果內容會以最新重新產生的靜態索引為準,部署前仍需確保建置產物一併更新。
v4.2.2
概要
這個版本聚焦在站內搜尋體驗與搜尋資料供應方式的重構,主要把原本依賴 API route 的文章搜尋改為建置時產生的靜態索引,並同步調整搜尋對話框的載入流程、專案建置腳本與 Next.js 版本。整體目標是讓搜尋功能在使用時更輕量、部署結構更單純。
亮點更新
1. 文章搜尋改為靜態索引
- 新增建置時產生的
search-index.json,把搜尋所需的文章欄位整理成前端可直接使用的靜態資料。 - 移除原本的
post-searchAPI route,改由前端在實際打開 command palette 時再載入搜尋索引。 - 搜尋資料改為預先整理
searchableText欄位,讓前端搜尋只需要做單次字串比對,降低重複計算成本。
2. Command Search 體驗與結構調整
- 搜尋視窗第一次開啟時會顯示 loading skeleton,避免索引尚未載入完成時直接出現空結果提示。
- 搜尋結果維持以分類分組呈現,並補上結果項目的視覺整理,讓掃描結果更直覺。
- 搜尋輸入改用延後處理的方式進行過濾,減少使用者連續輸入時的同步計算壓力。
3. 建置與框架設定同步更新
- 新增搜尋索引產生腳本,並串進
predev與build流程,讓開發與正式建置都能拿到最新搜尋資料。 layout調整為載入搜尋對話框與共用搜尋狀態的新版結構。- 專案版本號更新為
4.2.2,並同步升級next與eslint-config-next到16.2.2。
內部重構與維護性調整
- 搜尋相關資料流從「執行期 API 回傳」改為「建置期靜態產物」,減少部署時對額外 route handler 的依賴。
- 靜態搜尋索引只保留搜尋所需欄位,作為 command search 的單一資料來源。
可能的破壞性變更
這個版本以搜尋重構與建置流程調整為主,沒有預期的破壞性變更。
- 若有依賴舊的
/api/post-search端點做外部整合,這次版本之後將不再提供該 route。 - 搜尋結果會依據最新產生的靜態索引內容為準,因此內容異動後需要重新執行對應的建置流程來更新索引。
v4.2.1
概要
這個版本屬於小型維護更新,主要補上新的 JSDoc 撰寫規範文件,並同步將專案版本號推進至 4.2.1。整體目標是讓後續在 TypeScript / JavaScript 程式碼上的註解風格更一致,也讓維護與協作時的文件品質更穩定。
亮點更新
1. 新增 JSDoc 規範文件
- 新增
.agents/rules/jsdoc-convention.md。 - 明確定義 exported function、component、interface、type、class 的 JSDoc 撰寫要求。
- 規範內容以 Google JavaScript Style Guide 的 JSDoc 形式為基礎。
- 要求描述文字統一使用繁體中文,並附上函式、元件、型別的實際範例。
2. 版本號更新
- 將
package.json中的版本號由4.2.0更新為4.2.1。
內部重構與維護性調整
- 補上未來撰寫與重構程式碼時可依循的註解規範,降低不同檔案間 JSDoc 風格不一致的情況。
可能的破壞性變更
這個版本以文件與版本號調整為主,沒有預期的執行期破壞性變更。
- 若後續開發流程有依賴既有較寬鬆的註解習慣,之後在撰寫 exported 程式碼時,可能需要遵循較嚴格的 JSDoc 規範。
v4.2.0
概要
這個版本相較於 v4.1.3 屬於一次幅度明顯較大的功能與體驗更新,涵蓋首頁內容重整、作品區塊上線、部落格文章頁閱讀體驗優化、搜尋功能架構調整,以及分享圖與 SEO metadata 改善。同時也補上多篇文章內容更新,並升級部分核心框架依賴。
整體目標是讓網站從單純的個人展示頁,進一步成為更完整的個人首頁與技術部落格:首頁資訊更完整、文章頁閱讀流程更順、搜尋與分享體驗更輕量且一致。
亮點更新
1. 首頁與作品展示全面升級
- 首頁內容重新整理,補強個人介紹與資訊呈現方式。
- 新增專案卡片與作品資料,讓首頁可以直接展示實作專案與技術棧。
- 調整作者卡片、介紹卡片、技能卡片與相關版面細節,讓首頁區塊更完整。
- 更新工作經歷與部分常數內容,讓履歷資訊與近期經歷更一致。
2. 部落格閱讀體驗明顯改善
- 新增文章前後篇導覽,讓使用者看完文章後能自然繼續閱讀。
- 新增並整合
Separator,改善文章頁與分類區塊的視覺分隔。 - 調整文章頁標題、摘要、卡片與 metadata 呈現方式,讓列表頁與文章頁更一致。
- 補強文章日期欄位命名與內容結構,統一改為
createdAt/updatedAt。 - 更新多篇文章內容與首頁 MDX 資料,讓內容索引與實際內容同步。
3. Header 搜尋與導航架構優化
- 將 command search 狀態集中到單一 provider,避免桌機與手機入口各自維護重複狀態。
- 將搜尋對話框提升到 layout 共享單一實例,減少重複掛載與重複事件綁定。
- 搜尋資料改為透過
/api/post-search提供最小索引欄位,避免在初始載入時把整份文章資料直接塞進 Header 路徑。 - 導航元件改為較輕量的 link 結構,移除不必要的較重導航元件依賴。
- 社群連結資料改為可序列化格式,讓 constants 與 UI render 層的邊界更清楚。
4. SEO、分享與 metadata 改善
- 修正 sitemap 僅輸出已發布文章,避免草稿內容被搜尋引擎索引。
- 調整文章 slug 查詢邏輯,避免未發布草稿透過 slug 被前台存取。
blog分類分頁 metadata 改為依分類與頁碼動態生成,不再全部共用同一組 canonical 與 OG 設定。/blog與/blog/[category]改為永久導向到第一頁,降低重複內容問題。- 全站預設分享圖改為
public/default-open-graph.png,讓分享網站網址時的預設預覽圖更一致。
5. 框架與依賴升級
- 升級
next至16.2.2。 - 升級
eslint-config-next至16.2.2。 - 同步更新 lockfile 與對應依賴解析結果。
內部重構與維護性調整
post相關工具函式改為預先建立排序、slug 與 category 索引,減少重複排序與篩選成本。- 移除舊的
use-command-searchhook,改由 provider 模組統一管理搜尋狀態。 - 調整多個元件與工具的 JSDoc 風格,移除重複或低價值的標註內容。
- 補充多處較關鍵邏輯的繁體中文註解,方便後續維護。
可能的破壞性變更
這個版本以功能擴充與架構優化為主,沒有刻意設計的對外 API 破壞性變更;但如果你有依賴既有網址、metadata 或前端元件內部結構,仍有幾點需要留意:
/blog與/blog/[category]會永久導向到/blog/all/1與/blog/[category]/1。- 草稿文章不再能透過既有 slug 直接在前台讀取。
- command search 的內部實作已改為 provider + 單一 dialog + API 索引,若有依賴舊 hook 或舊搜尋結構,需要同步調整。
- 社群連結常數改為只保留 icon key,不再直接存放 icon component。
- 分享圖已統一切換為新的預設 Open Graph 圖片,社群分享預覽結果會與
v4.1.3不同。
v4.1.3
概要
這個版本聚焦在行動版導航的最後一輪細節微調,主要優化手機側邊選單連結的字級與對齊方式,並同步更新專案版本號。整體目標是讓選單閱讀節奏更穩定、操作區域更貼近實際使用情境。
亮點更新
1. 手機版導航連結樣式微調
- 將行動版選單連結由較大的字級微調為更平衡的
text-xl,降低單列連結的視覺壓力。 - 導航項目改為靠左對齊,讓選單掃讀方向與一般行動版抽屜式導覽更一致。
- 延續
v4.1.2的行動版選單優化,針對實際觀感再做小幅修正。
內部重構與維護性調整
- 同步更新專案版本號為
4.1.3。
可能的破壞性變更
這個版本以 UI 細節調整為主,沒有預期的破壞性變更。
- 若有依賴手機版選單連結置中或既有字級的視覺截圖,結果可能會與先前版本不同。
v4.1.2
概要
這個版本聚焦在行動版導覽體驗與首頁資訊呈現調整,主要優化手機側邊選單的可用性、簡化網站 Logo 顯示,並同步更新工作經歷文案與專案版本號。整體目標是讓介面更俐落、資訊表達更完整。
亮點更新
1. 手機版導航體驗調整
- 調整行動版側邊選單的排版與間距,讓導覽連結在手機上更清楚易讀。
- 放大關閉按鈕與 icon 尺寸,改善抽屜選單的操作手感。
- 社群連結區塊同步加大 icon 並拉開與主導航的距離,提升觸控與視覺辨識性。
2. Logo 顯示簡化
- 首頁與導覽中的 Logo 改為僅顯示圖像,不再額外渲染網站標題文字。
- 讓小尺寸導覽區域的版面更精簡,也避免文字與圖示同時出現時的擁擠感。
3. 工作經歷文案更新
- 重新整理
experience資料中的工作內容描述,補強專案範圍、技術細節與協作方式。 - 讓個人履歷資訊在網站上的表達更完整,也更貼近近期經歷內容。
內部重構與維護性調整
SheetContent新增可自訂關閉按鈕樣式、尺寸與 icon class 的能力,讓不同抽屜場景能更彈性地調整 UI。- 同步更新專案版本號為
4.1.2。
可能的破壞性變更
這個版本以 UI 呈現與文案更新為主,沒有預期的破壞性變更。
- 若有依賴 Logo 文字顯示的畫面或快照測試,之後可能會看到僅保留圖像的結果。
- 手機版選單的樣式與間距已調整,既有視覺截圖或手動驗證結果可能會有所差異。
v4.1.1
概要
這個版本聚焦在 sitemap 與專案展示資料的整理,主要優化搜尋引擎可讀性、穩定 sitemap metadata,並同步更新個人網站專案卡片與版本號。整體目標是讓 SEO 設定更準確、內容展示更一致。
亮點更新
1. sitemap metadata 最佳化
- 調整
sitemap.xml的lastModified產生邏輯,優先使用文章updateDate,沒有時再回退到date。 - 補上穩定的站點啟用時間常數,避免 sitemap 在缺少內容時使用浮動時間。
- 將
/blogcanonical 列表頁納入 sitemap,讓搜尋引擎更容易理解主要內容入口。
2. 固定頁 sitemap 行為更穩定
- 將
/about頁面的lastModified改成穩定值,不再每次建置都看起來像剛更新。 - 統一首頁、分類頁與文章頁的 sitemap 時間策略,讓整體訊號更一致。
3. 專案卡片資料更新
- 更新個人網站專案卡片的
id、圖片、連結與顯示名稱。 - 專案儲存庫連結同步改為
garylin.dev新位置。 - 對應更新專案圖片資產名稱,讓展示內容與資料來源一致。
內部重構與維護性調整
robots.txt持續維持指向${DOMAIN}/sitemap.xml的 sitemap discovery 設定。- 同步更新 Velite 產物,讓編譯輸出與內容資料保持一致。
- 專案版本號更新為
4.1.1。
可能的破壞性變更
這個版本以 sitemap 與專案資料調整為主,沒有預期的破壞性變更。
- 搜尋引擎之後重新抓取 sitemap 時,可能會看到更新後的
lastModified訊號。 - 個人網站專案卡片的圖片路徑與 repo 連結已更新為新名稱與新位置。
v4.1.0
概要
這個版本延續 v4.0.0 之後的內容與 SEO 整理方向,主要聚焦在首頁英文文案調整、網站 metadata 英文化,以及文章 metadata 的一致性優化。整體目標是讓對外呈現更統一,並讓 SEO 設定更容易維護。
亮點更新
1. 首頁自我介紹改為英文
- 首頁
content/home/index.mdx內容已翻譯為英文。 - 調整首頁自我介紹語氣,讓英文內容更自然、完整。
- 將首頁連結文案從
blog posts簡化為blog,閱讀體驗更直覺。
2. About / Blog / Base metadata description 英文化
- 將網站基礎 metadata 的
description改為英文。 - 將 About 與 Blog 頁面的
description、Open Graph、Twitter 描述同步改為英文。 - 讓搜尋結果摘要與社群分享文案在語言上更一致。
3. 文章 metadata 一致性改善
- 將文章頁的 description fallback 抽成共用變數,減少重複邏輯。
- 補上
canonicalURL 的安全 fallback,避免 permalink 缺失時產生不完整連結。 - 將文章不存在時的 metadata 標題改為英文
Post Not Found。
內部重構與維護性調整
- 抽出共用 metadata description 常數,降低 base metadata 的重複字串。
- 同步更新 Velite 產生內容,讓首頁內容與編譯結果保持一致。
- 專案版本號更新為
4.1.0。
可能的破壞性變更
這個版本以文案與 metadata 調整為主,沒有預期的破壞性變更。
- 主要影響範圍為首頁文案、SEO 描述與文章 metadata fallback 行為。
- 若有依賴既有中文 metadata 文案的外部整合,可能會看到英文摘要內容。