1Password Support

在 1Password,我們曾經每個月都換一次文檔平台:博客引擎、電子書、維基、用 Ruby 和 JavaScript 寫的站點生成器。每個平台都有其特殊的不足之處。然後我們找到了 Hugo。我們做了最後一次切換,並且非常高興我們這麼做了。

並非所有靜態站點生成器都一樣

找到一個能讓您的客戶、編輯、設計師,以及 DevOps 團隊都滿意的工具並不容易,但我們在 Hugo 上做到了:

Hugo 是靜態的。我們是安全公司,因此我們非常推崇靜態網站並在可能的地方使用它們。我們覺得將客戶指向 HTML 文件比指向需要強化的複雜伺服器要安全得多。

Hugo 是 Go 語言寫的。我們在 1Password 很喜歡 Go 程式語言,當我們發現 Hugo 使用的是我們的設計師和前端開發者已經掌握的 Go 模板語法時,我們感到非常高興。

Hugo 非常快速。我們之前的靜態站點生成器需要近一分鐘來編譯我們(當時還比較小)的網站。對開發人員來說也許是可以接受的,但對於希望看到即時預覽的編輯來說,這並不夠快。Hugo 用毫秒級的速度完成了同樣的工作,至今仍能在眨眼間編譯 400 頁內容,涵蓋五種語言。

Hugo 很靈活。得益於 Hugo 的內容和佈局系統,我們能夠保留現有的文件和資料夾結構,並在幾天內將整個生產網站移植過來。然後我們可以創建之前無法實現的新內容類型,例如這些炫酷的 展示

Hugo 很適合編輯。我們的文檔團隊已經熟悉 Markdown 和 Git,能夠在零停機的情況下開始為 Hugo 創建內容。當我們添加了短代碼後,編輯只需要稍微學習新的語法,就能為文章增加像是 平台框 等功能。

Hugo 擁有一個驚人的開發者社群。Hugo 更新頻繁,並充滿了功能和修復。在我們開發網站的多語言版本時,我們提交了需要的功能的 PR,並且得到了 @bep 和其他人的幫助。

Hugo 部署簡單。Hugo 具有恰到好處的配置選項,可以輕鬆融入我們的建構系統,而不會過於複雜。

技術規格

  • 1Password 支援 使用了自訂主題的 Hugo。它與 1Password.com 共享樣式和部分模板代碼,我們也於 2016 年將該網站移植到 Hugo。
  • 代碼和文章儲存在一個私人 GitHub 儲存庫中,並通過 Git 鉤子部署到靜態內容伺服器。
  • 編輯們在他們的電腦上建立並預覽網站,並通過拉取請求貢獻內容。
  • 我們使用 Hugo 的 多語言支援 建立網站,涵蓋了英文、西班牙文、法文、義大利文、德文和俄文。多虧 Hugo,1Password 支援成為我們第一個多語言的網站。
  • 我們的 聯繫表單 是一個單頁的 React 應用程式。得益於 Hugo 對靜態文件的支援,我們能夠將它與 Hugo 無縫集成。
  • 唯一不是靜態的網站部分是我們的搜尋引擎,這是我們使用 Elasticsearch 開發並託管在 AWS 上的。