使用 Pagefind 替任何靜態網站添加搜尋功能
不到 3 步驟讓你的網站擁有以 WebAssembly 高效驅動的客製化搜尋功能。靜態網站像是部落格、文件、個人網站、公司網站……等這類閱讀體驗為主的網站通常都有搜尋內容的需求,恰逢 Pagefind 1.0 的推出我把原先自製的 fuse.js 搜尋功能換成 Pagefind,分享如何在任何靜態網站上加入搜尋功能。
不到 3 步驟讓你的網站擁有以 WebAssembly 高效驅動的客製化搜尋功能。靜態網站像是部落格、文件、個人網站、公司網站……等這類閱讀體驗為主的網站通常都有搜尋內容的需求,恰逢 Pagefind 1.0 的推出我把原先自製的 fuse.js 搜尋功能換成 Pagefind,分享如何在任何靜態網站上加入搜尋功能。
TDD 測試驅動開發是一種開發方法論,先寫測試再實踐代碼,應該如何撰寫測試?或許聽過 TDD 但不清楚與單純寫測試差別在哪?這篇文章詳細描述 TDD 的優勢與實際操作範例快速了解 TDD 為什麼這麼讚。TDD 目的便是打造一個工作流程能夠驗證程式碼的行為,讓開發者能夠更有信心的重構、更動程式碼。
隨著前端的複雜程度增加,Monorepo 這個詞彙也時常出現在眼前,可惜的是相關介紹資源非常不足,趁著近期較為閒暇的時間來統整紀錄一下我對 Monorepo 的理解。受到不同好文章與影片的的啟發,我想寫一篇最直白的 Monorepo 解釋,希望能夠幫助更多人理解 Monorepo 的概念。
本文描述近期在維護既有代碼時的故事,目前的專案中有各式各樣前人尚未統一的驗證方式,例如:有些是使用 HTML 原生客戶端驗證、伺服器端驗證、第三方套件、自造的驗證方法,如何統一規範驗證方式是一大問題,同時也要思考:「要如何避免創造更多的陳舊代碼?」
NPM 是 JavaScript 開發環境中一定會使用到的一款套件管理器,本篇文章將比喻導演一部電影來解釋 NPM 如何運作。寫程式就像在拍攝一部電影,可以親自上陣設計並打理演員,也可以聘請別人設計好的,NPM 就像一個平台可以在上面找到很多現成的演員,這些演員就是套件(Package)。
在程式語言中最基本的問題就是問題就是如何紀錄與操縱資料,牽扯到傳值與傳址的問題,這篇教學使用 JavaScript 搭配圖表幫助你了解它們的差異。了解如何儲存變數有助於更好的操控資料,避免出現改 A 卻動到 B 的狀況。
我相信撰寫程式並沒有絕對的準則,但絕對有些常見可以權衡留意的地方。這篇文章記錄著作為助教在檢閱不同人寫的代碼的時候,留意到的一些潛在的問題……本篇文章主要是經驗的濃縮,如果要詳細的撰寫建議可以參考看看無瑕的程式碼,會有更全面的說明與案例。