GitHub Pages
GitHub Pages 是 GitHub 上免費託管的公開網頁,適用於使用者、組織和儲存庫,託管在 GitHub 的 github.io
網域或您選擇的客製網域名稱上。GitHub Pages 在幕後由 Jekyll 提供技術支援,因此是免費託管您由 Jekyll 提供技術支援的網站的絕佳方式。
當您推送原始檔時,您的網站會自動由 GitHub Pages 產生。請注意,GitHub Pages 對一般 HTML 內容同樣適用,原因很簡單,因為 Jekyll 將沒有前置資料的檔案視為靜態資源。因此,如果您只需要推送產生的 HTML,您無需任何進一步的設定即可開始使用。
GitHub Pages 文件 內容詳盡,其中包含 使用 Jekyll 設定 GitHub Pages 網站的指南。我們建議您遵循此指南。
此頁面包含一些其他資訊,在使用 Jekyll 處理 GitHub Pages 網站時可能會很有用。
GitHub Pages 文件、說明和支援
如需瞭解有關 GitHub Pages 功能的更多資訊,以及疑難排解指南,您應該查看 GitHub 的 Pages 說明部分。如果所有方法都失敗,您應該連絡 GitHub 支援。
專案頁面 URL 結構
有時,在將 gh-pages
分支推送到 GitHub 之前,您可能想要預覽您的 Jekyll 網站。GitHub 用於專案頁面的子目錄式 URL 結構會使 URL 的正確解析變得複雜。為了確保您的網站正確建置,請使用方便的 URL 篩選器
<!-- For styles with static names... -->
<link href="{{ 'assets/css/style.css' | relative_url }}" rel="stylesheet">
<!-- For documents/pages whose URLs can change... -->
[{{ page.title }}]("{{ page.url | relative_url }}")
這樣,您就可以從 localhost 上的網站根目錄中在本地預覽您的網站,但當 GitHub 從 gh-pages
分支產生您的網頁時,所有 URL 都會正確解析。
將 Jekyll 部署到 GitHub Pages
GitHub Pages 的運作方式是查看 GitHub 上儲存庫的特定分支。有兩種基本類型可用: 使用者/組織和專案頁面。部署這兩種類型的網站的方式幾乎相同,只有少數幾個小細節不同。
使用者和組織頁面
使用者和組織頁面會儲存在一個專門用於 GitHub Pages 檔案的 GitHub 儲存庫中。此儲存庫必須以帳戶名稱命名。例如,@mojombo 的使用者頁面儲存庫 名稱為 mojombo.github.io
。
儲存庫的 master
分支中的內容將用於建立和發佈 GitHub Pages 網站,因此請確定您的 Jekyll 網站儲存在其中。
自訂網域不會影響儲存庫名稱
GitHub Pages 最初設定為儲存在 username.github.io
子網域下,這就是為什麼儲存庫必須這樣命名,即使使用自訂網域也是如此。
專案頁面
與使用者和組織頁面不同,專案頁面儲存在與其專案相同的儲存庫中,但網站內容儲存在特別命名的 gh-pages
分支中,或儲存在 master
分支上的 docs
資料夾中。內容將使用 Jekyll 呈現,而輸出將在使用者頁面子網域的子路徑下提供,例如 username.github.io/project
(除非指定自訂網域)。
Jekyll 專案儲存庫本身就是此分支結構的完美範例,master 分支 包含 Jekyll 的實際軟體專案,而您現在正在瀏覽的 Jekyll 網站則包含在同一儲存庫的 docs 資料夾 中。
請參閱 GitHub 官方文件中的 使用者、組織和專案頁面 以查看更詳細的範例。
在 Windows 上安裝 github-pages
寶石
雖然 Windows 沒有正式支援,但可以在 Windows 上安裝 github-pages
寶石。可以在我們的 Windows 專用文件頁面 上找到特殊說明。
在本地執行和測試
一旦專案使用 github-pages 環境設定,就很難在本地設定和生產等級設定之間切換。為此,我們可以使用某些 CLI 選項讓工作流程更順暢。
bundle exec jekyll serve --baseurl=""
這將在您的本地機器上執行 jekyll 伺服器,即 http://localhost:4000
。請參閱 伺服器選項 以取得可用的選項。