KeyCDN

在 KeyCDN,我們的主要重點之一是效能。由於速度已經根植於我們的 DNA 中,我們從一開始就知道必須使用一個快速的靜態網站生成器來滿足我們的需求。在評估合適的解決方案時,Hugo 符合了我們的需求,並且不需要再找其他工具,因為它是最快且最靈活的。

為什麼選擇 Hugo

在遷移到 Hugo 之前,我們的網站是由基於 PHP 的網站提供支持,擁有約 50 頁內容,並且還有一個 WordPress 網站,這個網站包括了我們的博客和知識庫中超過 500 篇文章。隨著時間的推移,維護變得越來越困難,我們感覺失去了所需的速度和靈活性。為了解決這個問題,我們知道需要將網站轉換為靜態網站。這樣可以讓我們的網站更快速且更安全,因為它可以通過我們的所有邊緣位置提供服務。

最初這並不容易,但在評估 Hugo 並進行基準測試後,我們知道我們找到了理想的解決方案。Hugo 是迄今為止最快的設置,並提供了直觀的方式來構建我們所需的完整網站。基於 Go 的模板、短代碼和配置選項使得構建複雜網站變得輕鬆。

2018 年秋季,我們開始進行遷移,在短短幾個月內,我們就用 Hugo 建立了自定義的靜態網站,並將所有內容從舊系統遷移過來。Hugo 提供的簡單性和豐富功能使得這一過程快速且順利,讓我們的整個團隊,包括所有的寫作人員和開發者,都對這次遷移感到滿意。自從遷移到 Hugo 以來,我們就再也沒有回頭過。Hugo 已成為我們技術堆疊的核心部分。我們感謝所有為 Hugo 做出貢獻的人,讓它成為今天的樣子。

技術概覽

以下是我們使用 Hugo 構建網站的概覽:

  • KeyCDN 使用自定義主題,是我們所有樣式表和 JavaScript 的主要中心。其他網站,例如 KeyCDN Tools,僅導入所需的樣式表和 JavaScript。
  • 我們在構建過程中使用 Gulp 處理許多任務,例如將樣式表和 JavaScript 進行合併、版本控制和壓縮。
  • 我們的搜索由我們自己構建的自定義解決方案提供支持。它允許我們的頁面、博客和知識庫進行搜索。它使用 Axios 發送包含搜索查詢的 POST 請求。由 Hugo 生成的 JSON 索引檔案將被搜索,然後返回結果。
  • 我們的評論系統也是由我們自己構建的自定義解決方案提供支持。它使用 Axios 發送包含 slug 的 GET 請求來拉取評論線程,並在提交評論時發送包含名稱、電子郵件地址和評論的 POST 請求。
  • 我們的聯繫表單是一個簡單的 HTML 表單,也使用了 Axios。
  • 我們的寫作人員使用短代碼來增強 Markdown 的功能。
  • 我們的整個網站是通過 KeyCDN 以 Pull Zone 的方式交付,這意味著我們所有的邊緣節點都在提供網站服務。