概觀
核心而言,Engineer 是一個靜態網站產生器。換句話說,Engineer 讓你從一堆檔案(以 Markdown 撰寫的文章、範本和其他東西)建構一個網站,然後輸出另一堆檔案(主要是 HTML),你可以將它們複製到任何你想要的地方。
Engineer 的靈感來自於 Brent Simmons、Marco Arment 的 Second Crack、Jekyll、Octopress 和 Hyde。
特色
- 隨時隨地撰寫文章
- 文章可以使用 Markdown 撰寫/編輯,並使用 Dropbox 或其他檔案同步解決方案儲存/同步。
- 在本機預覽您的網站
- Engineer 包含一個小型開發網頁伺服器,您可以使用它在本機預覽您的網站,而無需部署到任何地方。
- 遠端管理您的網站
- 即使是已建立的網站也需要一些管理,而許多現有的靜態產生器需要您載入終端機並執行命令來重建您的網站。Engineer 當然可以讓您做到這一點,但也提供了一個內建的迷你管理網站 Emma(可選),讓您可以遠端執行大多數常見的管理任務。
- 主題讓您輕鬆變更網站的外觀
- 主題在網站的外觀和風格方面提供了彈性,無需從頭開始或重寫大量內容。您也可以撰寫自己的主題。
- 使用 LESS 而非 CSS,如果您願意,Engineer 可以讓您使用 LESS 而非 CSS。LESS 可以在伺服器上預先處理(需要在非 Windows 系統上安裝 lessc),也可以使用 less.js 在客戶端處理。
- 它速度很快
- Engineer 可以快速輸出內容(而且我正在努力使其更快),而且由於輸出內容完全是靜態的,因此服務速度非常快,擴展性非常好,並且完全獨立於任何特定的網頁伺服器或技術。產生後,您可以將您的網站複製到任何地方並使用您喜歡的任何網頁伺服器。此外,Engineer 可以最佳化您的 JavaScript 和 CSS/LESS,以最大限度地縮小它們的大小。Engineer 注重速度。
注意事項
儘管有這麼多出色的功能,但您可能不喜歡以下這些
- 動態的東西需要更多的工作
- 如果您習慣於每次載入頁面時都做一些超級動態的事情,那麼靜態網站可能會感到有限制。大多數這些事情可以使用客戶端 JavaScript(例如 timeago.js)或巧妙地使用 Jinja 2 範本系統來處理(例如,請參閱 Engineer 本身中的導覽突出顯示功能,了解可以完成的事情)。
- 可能不符合您網站的需求
- 如果您有很多一次性的頁面(範本頁面或其他類似的東西),那麼管理它們可能會變得有點麻煩。當您網站的大部分內容具有相似的外觀和風格,並且您可以將元數據用於大部分內容時,Engineer 確實表現出色。Engineer 本身並不限於部落格,但它確實做出了一些假設,即您的大部分內容都是以文章的形式出現的。
- 僅支援 Markdown 和 Jinja 2
- 雖然理想情況下這不會永遠是真的,但目前 Engineer 要求您的文章以 Markdown 撰寫,並且您建立的任何範本都以 Jinja 2 撰寫。這將來可能會改變,但目前您必須使用這兩種語言。
- Engineer 不是 CMS
- 如果您正在尋找一個成熟的內容管理系統,那麼...請繼續尋找。Engineer 明確地不是您想要的東西。Engineer 的基本原則是您的內容儲存在文字檔案中,且檔案本身具有最少的元數據,因此如果您正在尋找豐富的 URL 管理、圖像/檔案處理功能等,Engineer 會讓您非常失望。它並非設計來做那些事情。