GitHub Pages 是什么?
GitHub Pages是一項(xiàng)靜態(tài)網(wǎng)頁(yè)托管服務(wù)。
GitHub Pages可以直接從GitHub倉(cāng)庫(kù)為你生成個(gè)人、企業(yè)或項(xiàng)目頁(yè)面。獲取更多關(guān)于不同類型的GitHub Pages站點(diǎn)信息,請(qǐng)參考個(gè)人、企業(yè)和項(xiàng)目頁(yè)面
你可以使用Jekyll主題選擇器在線創(chuàng)建和發(fā)布GitHub Pages。如果你喜歡在本地工作,你可以使用桌面版本的GitHub或CMD命令行來(lái)發(fā)布頁(yè)面。
GitHub Pages是一項(xiàng)靜態(tài)網(wǎng)頁(yè)托管服務(wù),因此不支持PHP、Ruby或Python這樣的服務(wù)端代碼。
GitHub Pages 使用教程
在2016年6月15號(hào)之后創(chuàng)建的GitHub Pages 站點(diǎn)和使用github.io 域名的站點(diǎn)都需要使用HTTPS傳輸協(xié)議。如果你的站點(diǎn)在在2016年6月15號(hào)之前創(chuàng)建,你可以啟用HTTPS支持來(lái)分流你的站點(diǎn)。
GitHub Pages 不建議用來(lái)存放敏感內(nèi)容,如密碼或信用卡號(hào)
GitHub Pages 的使用服從GitHub的服務(wù)條款,包括禁止倒賣站點(diǎn)服務(wù)。
警告:即使存儲(chǔ)GitHub Pages站點(diǎn)的倉(cāng)庫(kù)是私有的,這些站點(diǎn)也會(huì)在互聯(lián)網(wǎng)上公開訪問。如果你在你的頁(yè)面?zhèn)}庫(kù)里有敏感數(shù)據(jù),你可以在發(fā)布之前刪除它。
使用限制
GitHub Pages 服從以下使用條款:
- GitHub Pages 源代碼庫(kù)有1GB的容量限制。
- 發(fā)布的GitHub Pages 站點(diǎn)大小不應(yīng)該超過1GB。
- GitHub Pages 每月流量帶寬限制為100GB.
- GitHub Pages 站點(diǎn)每小時(shí)最多構(gòu)建10次
如果你的站點(diǎn)超過了上述使用條款,我們就會(huì)停止為你的站點(diǎn)服務(wù)或者你會(huì)收到一封來(lái)自GitHub支持中心的郵件,此郵件會(huì)給你策略來(lái)減少你的站點(diǎn)對(duì)我們的服務(wù)的影響,包括在你的站點(diǎn)上使用第三方CDN服務(wù),充分利用GitHub的其他功能,諸如發(fā)布或遷移到跟符合你的需求的其他主機(jī)服務(wù)。
除此之外,GitHub Pages 包含以下內(nèi)容的站點(diǎn)會(huì)受到限制:
- 不合法的內(nèi)容或被我們的服務(wù)條款和社區(qū)指導(dǎo)所禁止的內(nèi)容或行為
- 包含暴力或恐嚇的內(nèi)容和行為
- 過量自動(dòng)化的批量活動(dòng)(如垃圾郵件)
- 對(duì)GiuHub用戶或服務(wù)妥協(xié)的行為
- 含有過度頻繁操作
- 含有性暗示的內(nèi)容
- 不代表你個(gè)人或網(wǎng)站觀點(diǎn)的內(nèi)容
如果你對(duì)你的使用或使用目的是否包含在這些目錄中有任何疑問,請(qǐng)與GitHub 支持中心聯(lián)系
配置一個(gè)可發(fā)布的GitHub Pages 源文件
你可以配置GitHub Pages 來(lái)發(fā)布你站點(diǎn)的源文件。項(xiàng)目頁(yè)面和其他符合特定要求的頁(yè)面的源文件可以放在master、gh-pages、或者是你的master分支下的/docs文件夾中。
如果你的站點(diǎn)是在被命名為<username>.github.io 或<orgname>.github.io 的倉(cāng)庫(kù)中的個(gè)人或機(jī)構(gòu)頁(yè)面,那么你不能發(fā)布來(lái)自不同位置的站點(diǎn)源文件。這種類型的個(gè)人倉(cāng)庫(kù)名只能使用master分支來(lái)發(fā)布。
獲取更多關(guān)于不同類型的GitHub Pages 站點(diǎn)信息,請(qǐng)參考個(gè)人、企業(yè)和項(xiàng)目頁(yè)面
為沒有命名空間的倉(cāng)庫(kù)設(shè)置默認(rèn)源
發(fā)布網(wǎng)站源文件的默認(rèn)設(shè)置取決于你的網(wǎng)站類型和你的頁(yè)面?zhèn)}庫(kù)的分支。
如果你的頁(yè)面?zhèn)}庫(kù)沒有master 或gh-pages 分支,你的GitHub 頁(yè)面發(fā)布源會(huì)被設(shè)置為None并且你的頁(yè)面不會(huì)被發(fā)布。
在你同時(shí)創(chuàng)建了master 和gh-pages 分支后,你可以設(shè)置一個(gè)分支作為你的發(fā)布源,之后你的頁(yè)面將會(huì)被發(fā)布。
如果你fork 或者upload 的頁(yè)面?zhèn)}庫(kù)只包含一個(gè)master或者gh-pages分支,你的頁(yè)面源設(shè)置會(huì)自動(dòng)為該分支啟用。
為你來(lái)自master 或gh-pages 的分支啟用GitHub Pages
為了選擇master 或gh-pages 作為你的發(fā)布源,你必須在你的倉(cāng)庫(kù)里有一個(gè)當(dāng)前分支。如果你沒有master 或gh-pages 分支,你可以創(chuàng)建他們?nèi)缓蠓祷氐皆丛O(shè)置來(lái)更改你的發(fā)布源。
- 在GitHub 主頁(yè),導(dǎo)航欄選擇你要設(shè)置的GitHub Pages 頁(yè)面的倉(cāng)庫(kù)
- 在你選擇的倉(cāng)庫(kù)頁(yè)面下,點(diǎn)擊Settings
- 在Settings 頁(yè)面,向下滑動(dòng)選擇master或gh-pages作為你的發(fā)布源
- 點(diǎn)擊Save
從master 分支下的/docs文件夾發(fā)布你的GitHub Pages頁(yè)面
為了發(fā)布你的master分支下的/doc文件夾下的頁(yè)面源文件,你必須有一個(gè)master分支和倉(cāng)庫(kù)。
- 在倉(cāng)庫(kù)的根目錄有一個(gè)/docs文件夾
- 不按照<username>.github.io 或 <orgname>.github.io這樣的命名規(guī)則
為了發(fā)布你的頁(yè)面,GitHub Pages將會(huì)讀取你倉(cāng)庫(kù)下的所有文件,包括/docs下的CNAME文件.比如,當(dāng)你通過GitHub Pages設(shè)置來(lái)編輯你自己的域名時(shí),自定義域名將會(huì)寫入/docs/CNAME
tips:在/docs下的文件被使用后,如果你移除master分支下的/docs文件夾,你的頁(yè)面將不會(huì)build并且你將會(huì)收到缺少/docs文件夾的頁(yè)面build錯(cuò)誤信息。
- 在GitHub主頁(yè),導(dǎo)航欄選擇你要設(shè)置的GitHub Pages頁(yè)面的倉(cāng)庫(kù)
- 在你的master分支的根目錄創(chuàng)建一個(gè)/docs文件夾
- 在你選擇的倉(cāng)庫(kù)頁(yè)面下,點(diǎn)擊Settings
- 在Settings頁(yè)面,向下滑動(dòng)選擇master或gh-pages作為你的發(fā)布源
- 點(diǎn)擊Save
個(gè)人、企業(yè)和項(xiàng)目頁(yè)面
有兩種基本的GitHub Pages類型:個(gè)人/企業(yè)頁(yè)面和項(xiàng)目頁(yè)面。這兩種十分相似,不過他們之間有幾個(gè)重大的差別。
在2016年6月15日之后創(chuàng)建并且使用了github.io作為域名的GitHub Pages頁(yè)面將使用HTTPS傳輸協(xié)議.獲取更多相關(guān)信息,請(qǐng)參考的Securing your GitHub Pages site with HTTPS
tips:GitHub Pages不建議用來(lái)存放敏感數(shù)據(jù),如密碼或信用卡號(hào)
記住,頁(yè)面是將會(huì)一直公開訪問即使他們的倉(cāng)庫(kù)是私有的。
| 站點(diǎn)類型 | 頁(yè)面默認(rèn)域名 | 建立頁(yè)面站點(diǎn)的源文件所在位置 |
|---|---|---|
| 個(gè)人頁(yè)面 | username.github.io | master |
| 企業(yè)頁(yè)面 | orgname.github.io | master |
| 個(gè)人項(xiàng)目 | username.github.io/projectname | master, gh-pages, or a /docs folder on master |
| 企業(yè)項(xiàng)目 | orgname.github.io/projectname | master, gh-pages, or a /docs folder on master |
學(xué)習(xí)更多GitHub Pages 頁(yè)面重定向到個(gè)人域名的信息,請(qǐng)?jiān)L問custom domain redirects chart.
個(gè)人和企業(yè)頁(yè)面
個(gè)人和企業(yè)頁(yè)面需要專用的倉(cāng)庫(kù)存放GitHub Pages文件。你需要用用戶名命名此倉(cāng)庫(kù)
- 將倉(cāng)庫(kù)命名為<username>.github.io
- master分支下的內(nèi)容將會(huì)被構(gòu)建并發(fā)布到你的GitHub Pages 站點(diǎn)
你只能使用你自己的賬戶名作為個(gè)人或企業(yè)頁(yè)面的倉(cāng)庫(kù)名。像joe/bob.github.io這樣的倉(cāng)庫(kù)名將不會(huì)被build為一個(gè)個(gè)人頁(yè)面。
當(dāng)用戶頁(yè)面被構(gòu)建后,可以通過 http(s)://<username>.github.io 地址來(lái)訪問。
建立個(gè)人或企業(yè)頁(yè)面
個(gè)人頁(yè)面可以被任何已經(jīng)驗(yàn)證過郵箱的賬戶所構(gòu)建。他們瞳影可以使用deploy-keys 來(lái)自動(dòng)化完成處理。
企業(yè)頁(yè)面可以被任何push到倉(cāng)庫(kù)的成員且已經(jīng)驗(yàn)證過郵箱的賬戶所建立。為了自動(dòng)建立,你可以搭建一個(gè)機(jī)器用戶作為企業(yè)的成員。Deploy-keys 不支持企業(yè)頁(yè)面。
項(xiàng)目頁(yè)面
不像個(gè)人和企業(yè)頁(yè)面,項(xiàng)目頁(yè)面保存在項(xiàng)目的倉(cāng)庫(kù)里。個(gè)人賬戶和企業(yè)賬戶都可以創(chuàng)建項(xiàng)目頁(yè)面。個(gè)人賬戶的項(xiàng)目頁(yè)面URL 是 “http(s)://<username>.github.io/<projectname>”,企業(yè)的項(xiàng)目頁(yè)面URL 是“http(s)://<orgname>.github.io/<projectname>”。這兩種賬戶創(chuàng)建項(xiàng)目頁(yè)面的步驟是一樣的。
項(xiàng)目頁(yè)面與個(gè)人/企業(yè)頁(yè)面十分相似,只有幾點(diǎn)不同:
- 你可以建立并發(fā)布來(lái)自master 或gh-pages 分支下的項(xiàng)目頁(yè)面站點(diǎn)。你也可以發(fā)布在master 分支下/docs文件夾里的站點(diǎn)。獲取更多信息,請(qǐng)看Configuring a publishing source for GitHub Pages.
- 如果你沒有使用自定義域名,項(xiàng)目頁(yè)面站點(diǎn)會(huì)被運(yùn)行在個(gè)人頁(yè)面的子目錄下:username.github.io/projectname
- 如果你的個(gè)人/企業(yè)站點(diǎn)使用了自定義域名,自定義的域名將會(huì)替代username.github.io 作為該賬戶項(xiàng)目頁(yè)面站點(diǎn)的URL。使用了自定義域名的項(xiàng)目頁(yè)面站點(diǎn)同時(shí)也支持通過username.github.io/projectname (個(gè)人用戶),orgname.github.io/projectname (企業(yè)用戶)來(lái)訪問。
- 自定義404頁(yè)面只能應(yīng)用自定義域名的站點(diǎn),否則用戶頁(yè)面404會(huì)被使用。
警告:如果你的頁(yè)面站點(diǎn)的URL包含了以破折號(hào)"-"為起止的用戶名或企業(yè)名,或者包含了連續(xù)的破折號(hào)"--",當(dāng)Linux用戶訪問時(shí)會(huì)收到服務(wù)錯(cuò)誤。為了避免此種情況,你的GitHub 用戶名應(yīng)該刪除非字母表的字符。獲取更改用戶名指引請(qǐng)參考Changing your GitHub username