Github Pages 是面向用戶、組織和項目開放的公共靜態(tài)頁面搭建托管服 務(wù),站點(diǎn)可以被免費(fèi)托管在 Github 上,你可以選擇使用 Github Pages 默 認(rèn)提供的域名 github.io 或者自定義域名來發(fā)布站點(diǎn)。Github Pages 支持 自動利用 Jekyll 生成站點(diǎn),也同樣支持純 HTML 文檔,將你的 Jekyll 站 點(diǎn)托管在 Github Pages 上是一個不錯的選擇。
Github Pages 依靠 Github 上項目的某些特定分支來工作。Github Pages 分為兩種基本類型:用戶/組織的站點(diǎn)和項目的站點(diǎn)。搭建這兩種類型站 點(diǎn)的方法除了一小些細(xì)節(jié)之外基本一致。
用戶和組織的站點(diǎn)被放置在一個特殊的專用倉庫中,在該倉庫中只存在 Github Pages 的相關(guān)文件。這個倉庫應(yīng)該根據(jù)用戶/組織的名稱來命名, 例如: @mojombo 的用戶站點(diǎn)倉庫 應(yīng)該被命名為 mojombo.github.io
。
倉庫中 master
分支里的文件將會被用來生成 Github Pages 站點(diǎn),所以請 確保你的文件儲存在該分支上。
自定義域名不影響倉庫命名
Github Pages 初始被設(shè)置部署在
username.github.io
子域名上, 這就是為什么 即使你使用自定義域名倉庫還需要這樣命名。
不同于用戶和組織的站點(diǎn),項目的站點(diǎn)文件存放在項目本身倉庫的 gh-pages
分支中。該分支下的文件將會被 Jekyll 處理,生成的站點(diǎn)會被 部署到你的用戶站點(diǎn)的子目錄上,例如 username.github.io/project
(除非指定了一個自定義的域名)。
Jekyll 項目本身就是一個很好的例子,Jekyll 項目的代碼存放在 master 分支, 而 Jekyll 的項目站點(diǎn)(就是你現(xiàn)在看見的網(wǎng)頁)包含在同一倉庫的 gh-pages 分支中。
你最好在將 Jekyll 站點(diǎn)提交到 gh-pages
之前先預(yù)覽一下。因為 Github 上項目站點(diǎn)的子目錄結(jié)構(gòu)會使站點(diǎn)的網(wǎng)址結(jié)構(gòu)變得復(fù)雜。這里有一些處 理 Github Pages 子目錄結(jié)構(gòu)(username.github.io/project-name/
)的方法 使你本地瀏覽的站點(diǎn)和部署在 Github Pages 上的站點(diǎn)一致,方便你的維護(hù)。
_config.yml
中,設(shè)置 baseurl
選項為 /project-name
– 注意必須存在頭部的斜杠以及不能有尾部的斜杠。{{ site.baseurl}}/path/to/css.css
– 注意斜杠之后必須緊隨變量(在 “Path” 之后)。{{ site.baseurl }}{{ post.url }}
– 注意兩個變量之間不存在斜杠。jekyll serve --baseurl ''
命令,請確定在 --baseurl
的選項之后存在空串,這樣的話你就可以在 localhost:4000
看到你的站點(diǎn)(站點(diǎn)根地址不存在 /project-name
)。
用這種方法你就可以在本地從根地址預(yù)覽站點(diǎn),而在 Github 上以 gh-pages
分支生成站點(diǎn)的時候能以 /project-name
為根地址并且正確地顯示。GitHub Pages 的文檔,幫助和支持
想獲得關(guān)于 Github Pages 的更多信息和解決方案,你應(yīng)該訪問 GitHub’s Pages 幫助部分。 如果無法找到解決方案,你可以聯(lián)系 GitHub 支持。