11 個可用於構建網站的開源靜態站點生成器

11 個可用於構建網站的開源靜態站點生成器

您在尋找開源靜態站點生成器嗎?別再看了,這篇文章已經涵蓋了你。

網站可以被認為是靜態的或動態的。像 WordPress 這樣的 CMS(內容管理系統)通常為動態網站提供支持。內容管理系統從數據庫中獲取信息,然後在每次用戶請求時填寫網頁上的內容。

靜態站點是從 Web 服務器向客戶端提供服務的網站,沒有任何更改。這是一種構建網站的簡單方法,因為網站中的每個頁面都是一個單獨的 HTML 文件。在網絡的早期,這就是他們構建網站的方式。

因此,如果您訪問靜態網站上的主頁,您正在查看實際的主頁文件。在本文中,我們將展示 11 個可用於構建網站的開源和免費靜態站點生成器。

1.傑基爾

11 個可用於構建網站的開源靜態站點生成器

Jekyll是靜態站點生成器的先驅。它於 2008 年由 Github 的聯合創始人 Tom Preston-Werner 首次發布。它是使用 Ruby 編寫的,通過從 JSON、YAML、CSV 和 TSV 文件加載內容來生成靜態站點

Jekyll 正在為 GitHub Pages 提供支持,它使用戶能夠根據他們的 GitHub 存儲庫帳戶託管他們的網站,而無需增加成本。

Github 鏈接:https : //github.com/jekyll/jekyll

2. 雨果

11 個可用於構建網站的開源靜態站點生成器

Hugo是一個使用 Go 編程語言構建的開源靜態站點生成器。讓 Hugo 脫穎而出的是它構建網站的速度。它也很靈活,並提供了一個強大的主題系統,讓您可以創建自己的主題。

它可在多個操作系統平台上使用,支持漂亮的 URL,並具有各種內容類型選項。

Github:https : //github.com/gohugoio/hugo

3.Publii

11 個可用於構建網站的開源靜態站點生成器

Publii是一款免費、開源的基於桌面的應用程序。它在您的機器上本地運行,而不是站點的服務器,並且不需要互聯網訪問。因此,您可以離線在您的網站上工作。

當您上網時,只需將更改上傳到您的服務器,它就會保存更改。有多種上傳選項,包括標準 HTTP/HTTPS 服務器、Amazon S3、GitHub Pages、Netlify、SFTP 和 Google Cloud。

使用 Publii,您可以創建個人博客、投資組合或公司網站。它還支持您通過即時切換從同一個應用程序構建、更改和運行無限的站點。您不需要記住任何數據庫或其他憑據。

Github:https : //github.com/GetPublii/Publii

4. Nuxt

11 個可用於構建網站的開源靜態站點生成器

Nuxt是一個基於 Vue 的直觀 Web 框架,可讓您構建靜態站點。它是開源的,當您構建靜態站點時,您可以在 Azure 靜態 Web 應用程序上免費託管它。Nuxt 支持服務器端渲染,與傳統的 Vue單頁應用程序 (SPA)相比,這會帶來巨大的 SEO 提升、更好的 UX 和更多機會

Github:https : //nuxtjs.org

5. 網格

11 個可用於構建網站的開源靜態站點生成器

Gridsome是另一個基於 Vue.js 並由 GraphQL 提供支持的開源 SSG。它使用 Jamstack 框架,使其能夠構建默認速度快、性能更好、安全性更高、擴展成本低以及開發人員體驗更好的網站。

Gridsome 支持 PWA,它在沒有互聯網連接時離線工作,利用您上次與應用程序交互期間緩存的數據。

Github:https : //github.com/gridsome/gridsome

6. Hexo

11 個可用於構建網站的開源靜態站點生成器

Hexo是一個由 Node.js 提供支持的快速、簡單且功能強大的博客框架。它支持 GitHub Flavored Markdown 和大多數 Octopress 插件的所有功能。它還具有強大的 API,可提供無限的可擴展性。

有各種插件可以支持大多數模板引擎,例如 EJS、Pug、Nunjucks 等等。它還可以輕鬆地與 NPM(節點包管理器)包集成,例如 Babel、PostCSS 和 Less/Sass。

Github:https : //github.com/hexojs/hexo

7. 多庫龍

11 個可用於構建網站的開源靜態站點生成器

Docusaurus是由 Facebook 開發的開源靜態站點生成器。它使用 React 構建並由 Markdown 提供支持。您可以使用 Markdown 編寫文檔和博客文章,Docusaurus 將發布一組靜態 HTML 文件。

因此,您可以節省時間並專注於您的項目文檔。借助 MDX,您甚至可以將 JSX 組件嵌入到 Markdown 中。Docusaurus 還帶有預配置的本地化功能,可以將您的文檔翻譯成 70 多種語言。

Github:https : //github.com/facebook/docusaurus

8. VuePress

11 個可用於構建網站的開源靜態站點生成器

VuePress是由 Evan You 構建的極簡 Vue 驅動的 SSG;Vue.js的創造者。它的開發是為了支持 Vue 項目的技術文檔需求。它由 Vue、Vue Router 和 Webpack 提供支持。Vuepress 是開源的,易於使用,並且需要最少的降價設置。

Github:https : //github.com/vuejs/vuepress

9. 十一

11 個可用於構建網站的開源靜態站點生成器

Eleventy (11ty) 是一個更簡單的開源 SSG。它被創建為 Jekyll 的 JavaScript 替代品。它具有零配置,這意味著 Eleventy 可以在沒有配置文件或命令行的情況下運行。因此,它降低了您的第一個項目構建的進入門檻。您將比以往更快地啟動和運行您的網站。

Eleventy 使用獨立的模板引擎。如果您決定稍後使用其他內容,以這種方式組織您的內容將使遷移更容易。它還具有多種模板語言。您可以選擇一個或在一個項目中一起使用它們。

Github:https : //github.com/11ty/eleventy/

10.鵜鶘

11 個可用於構建網站的開源靜態站點生成器

Pelican是一個用 Python 編寫的開源 SSG。它的功能包括以 reStructuredText 或 Markdown 標記編寫內容、易於託管靜態輸出以及通過 Jinja 模板自定義主題。它也是多語言的,具有 atom/RSS 提要、代碼語法突出顯示、從 WordPress 和其他服務導入、模塊化插件系統、相應的插件存儲庫以及許多其他功能。

Github:https : //github.com/getpelican/pelican

11.萊克托

11 個可用於構建網站的開源靜態站點生成器

Lektor是另一個用 Python 構建的開源 SSG。它是 100% 基於文件的,這意味著所有源數據結構良好,可以在版本控制系統或云存儲(如 Dropbox )中進行跟踪。它還有一個平面文件數據庫,其中所有源數據都存儲在一個平面文件樹數據庫中,可以自由查詢。該數據的佈局是完全可配置的。

Lektor 有一個可定制的管理員,您可以在其中編輯您的頁面,而無需接觸原始資源。它還具有依賴關係跟踪功能,其中構建過程智能地跟踪頁面依賴關係,以便僅重新構建已更改的頁面。它的其他功能包括插件系統、圖像工具、多語言、從任何主機部署、在 Windows、Linux 和 OSX 上運行。

Github:https : //github.com/lektor/lektor

建立你的靜態網站

靜態網站提供了廣泛的優勢。這些網站靈活、性能更好、服務器端依賴更少、可靠性更高、安全性更高,以及出色的版本控制和測試。如果您要構建靜態網站,請務必查看上述免費的開源靜態網站生成器。


如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。

前 5 大徽章將增強您的 GitHub 存儲庫

前 5 大徽章將增強您的 GitHub 存儲庫

GitHub 徽章可以通過為用戶提供一種快速的方法來捕獲存儲庫指標來提高存儲庫的可讀性。徽章可以嵌入到您的 README.md 中,以向其他開發人員闡明您的項目的重要性和必要性。因此,讀者可以通過檢查附加的徽章快速了解存儲庫。

什麼是國際程序員節?今年的 3 種慶祝方式

什麼是國際程序員節?今年的 3 種慶祝方式

國際慶祝日是對社會事務、歷史日子和各自職業給予認可的好方法。國際程序員日慶祝程序員在改善日常生活方面所發揮的作用。我們生活的文明世界是程序員辛勤工作的產物。

Python String format() 方法如何工作?10個例子

Python String format() 方法如何工作?10個例子

無論是數據庫查詢還是數學運算的結果,Python 字符串格式方法都提供了一種更加動態和吸引人的方式來向用戶呈現結果。

Visual Studio 2022 與 2019:您現在應該升級嗎?解釋

Visual Studio 2022 與 2019:您現在應該升級嗎?解釋

今年早些時候,微軟向狂野的編程世界發布了 Visual Studio 2022 的預覽版。這是個好消息!這是一個非常受歡迎的 IDE,但考慮到它蓬勃發展的 DevOps 生態系統的變化速度,它需要進行調整甚至大修。

軟件度量的簡單介紹

軟件度量的簡單介紹

軟件度量是用於量化軟件各個方面的度量。這些方面可以包括開發團隊的成本、質量和效率。

如何在 Windows 10 上安裝 .NET Framework 3.5 版

如何在 Windows 10 上安裝 .NET Framework 3.5 版

作為 Windows 用戶,您可能至少遇到過 .NET Framework 這個詞。它是 Microsoft 開發的軟件框架,可讓您構建和運行 C#、C++、F# 和 Visual Basic 程序。最新的 .NET 版本是 4.8,但您的計算機可能需要舊版本的 .NET(如 .NET 3.5)才能運行某些應用程序。

Flask 或 CherryPy:您應該使用哪種 Python 框架?

Flask 或 CherryPy:您應該使用哪種 Python 框架?

如果您是 Python 開發人員,您可以從一系列可用的框架中受益匪淺。雖然有些框架最適合大型生態系統,但其他框架則專門服務於特定的發展目標。繼續閱讀以了解兩個 Python 框架 Flask 和 CherryPy 之間的基本特性、用法和區別。

如何使用 Python、C++ 和 JavaScript 查找 N 位完美立方體和正方形

如何使用 Python、C++ 和 JavaScript 查找 N 位完美立方體和正方形

許多程序員喜歡使用代碼解決棘手的數學問題。它有助於提高頭腦和提高解決問題的能力。在本文中,您將學習如何使用 Python、C++ 和 JavaScript 找到最小和最大的 n 位完美正方形和立方體。每個示例還包含幾個不同值的示例輸出。

如何將 Python 添加到 Windows PATH 變量

如何將 Python 添加到 Windows PATH 變量

從終端運行 Python 通常是不可避免的。但是,如果您是第一次在 Windows 10 上安裝 Python,則只有將其添加到 Windows PATH 環境變量中,才能通過 Windows 終端運行它。

如何使用 Python if 語句

如何使用 Python if 語句

if 語句是邏輯編程的驅動力。因此,更好地掌握 Python 是對 Python 編程技能的重要補充。

如何使用 Python 作為命令行計算器

如何使用 Python 作為命令行計算器

雖然您可以在計算機上使用圖形計算器,但 Python 編程語言解釋器可以兼作桌面計算器。它在 Python 社區中非常流行,以至於官方教程中都提到了它。下面介紹如何將 Python 用作計算器。

面向程序員的 8 個最佳 Java 博客

面向程序員的 8 個最佳 Java 博客

作為程序員,你應該接受挑戰才能生存,並在開發或編程領域創造一些奇蹟。因此,如果您正在尋求學習高級編程語言以提高您的職業技能,Java 是最好的前景之一。

初學者開始使用 Python 的 7 個重要命令

初學者開始使用 Python 的 7 個重要命令

如果您有一個全面的路線圖,詳細說明初學者應學習哪些概念以及如何進一步進步以達到下一個里程碑,那麼學習 Python 等新編程語言將變得輕而易舉。即使是中級程序員也應該經常複習他們的基礎知識,為自己打下堅實的基礎。

響應式網頁設計原則

響應式網頁設計原則

如今,構建一個根據瀏覽器或設備調整其用戶界面的網站或應用程序是一種常見的做法。有兩種方法可以實現這一目標。第一個涉及為不同的設備創建不同版本的網站或應用程序。但它效率低下,並可能導致不可預測的錯誤。

如何使用 C++、Python 和 JavaScript 計算數字中的位數

如何使用 C++、Python 和 JavaScript 計算數字中的位數

處理數字是編程的一個組成部分。每種編程語言都支持以多種不同方式操作數字。在本文中,您將學習如何使用迭代、基於日誌和基於字符串的方法查找整數中的總位數。

用於容器管理的 9 個最佳 Docker 替代方案

用於容器管理的 9 個最佳 Docker 替代方案

容器對於虛擬環境中的軟件開發、部署和管理非常有益。Docker 在容器化過程中很有用,但它不是唯一的平台。如果您正在尋找 Docker 的替代品,那就別無所求。此列表展示了一些功能豐富且高效的 Docker 替代方案,可用於您的下一個項目。

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

SQL 與 NoSQL:下一個項目的最佳數據庫是什麼?

如何在您的 WordPress 帖子中嵌入推文

如何在您的 WordPress 帖子中嵌入推文

在您的 WordPress 帖子中嵌入第三方服務是一種吸引訪問者興趣的令人興奮的方式。嵌入的內容還提供了使掃描更容易的視覺提示。WordPress 使添加此類內容變得容易。

如何使用 npkill 刪除節點模塊文件夾

如何使用 npkill 刪除節點模塊文件夾

Node.js 是一個 JavaScript 運行時環境,允許您在 Web 瀏覽器之外運行 JavaScript,使其成為開發各種應用程序的流行選擇。它的流行部分是由於大量的 NPM 包可以簡化開發人員的體驗。

如何編寫和編譯你的第一個 Solidity 代碼

如何編寫和編譯你的第一個 Solidity 代碼

Solidity 是以太坊區塊鏈上智能合約使用的編程語言。它是一種靜態類型的、面向對象的編程語言。