翻譯自GitHub Pages的Help頁面(仍在更新中)

GitHub-Pages

翻譯自GitHub Pages的Help頁面———https://help.github.com/categories/github-pages-basics/
歡迎你們關注個人github: http://getcha22.github.io/
歡迎你們一塊兒翻譯。初次翻譯,有錯誤但願你們多提醒。html

GitHub 幫助

目錄

  • 什麼是GitHub Pages? (完工)git

  • 我的/組織頁面和項目頁面(完工)github

  • 經過自動生成器建立頁面(完工)安全

  • 經過手動的方式建立頁面 (完工)ruby

  • 使用Jekyll工具建立頁面 (完工)服務器

  • 網站自定義域名編輯器

  • 爲頁面自定義域名ide

  • 經過DNS提供商配置CNAME文件的幾點提示工具

  • 在你的庫中添加CNAME文件fetch

  • 經過DNS提供商配置一條A記錄的幾點提示

  • 延伸說明

什麼是GitHub Pages?

GitHub Pages是經過咱們的網站託管和發佈的公共網頁。
你能夠經過在線生成器建立和發佈GitHub Pages頁面。若是你偏心本地操做,你可使用Mac和Windows的GUI軟件,或者是命令行。
頁面經過HTTP協議傳播,不是HTTPS。建議您不要在發送密碼和信用卡號碼的時候使用它

提示:GitHub Pages在互聯網上是公開的,即使對應的是私人庫,若是在您的GitHub Pages的庫中有敏感數據,建議你在發佈以前移走他們。

我的/組織頁面和項目頁面

GitHub Pages 有兩種基礎類型:我的/組織的GitHub Pages和項目的GitHub Pages
他們十分類似,可是也有一些不一樣點須要留意。
兩種GitHub Pages都經過HTTP協議,而不是HTTPS,建議您不要在私密信息上使用它們,好比發送密碼或者信用卡號。
請注意GitHub Pages是公開發布的,即使你的庫是私人庫。

我的&組織頁面(User&Organization Pages)

我的&組織頁面放在一個特殊的庫中,你須要用你的帳戶名去命名這個項目。

  • 庫須要使用uesrname.github.io命名

  • master分支將被用來創建和發佈你的GitHub Pages網站。

在建立我的或者組織頁面對應的庫時,你只可使用本身的帳戶名,像joe/bob.github.io不能用來創建我的頁面。
當我的頁面被成功創建後,經過http(s)://username.github.io訪問。

創建你本身的GitHub Pages

任何驗證了email地址的我的帳戶,均可以創建我的頁面,他們也可使用一鍵部署的按鈕來自動生成頁面

能夠給庫進行推送而且驗證了email地址的組織庫成員,均可以創建組織庫,爲了讓過程自動化,你創建一個machine user做爲你組織的成員,沒法在項目庫中使用一鍵部署。

項目頁面(Project Pages)

項目頁面保存在當前項目庫中,這點與我的/組織頁面不一樣,全部的我的帳戶和組織帳戶均可以建立項目頁面。
我的帳戶建立的項目頁面能夠經過http(s)://<username>.github.io/<projectname>訪問,對於組織帳戶能夠經過URLhttp(s)://<orgname>.github.io/<projectname>訪問。
我的用戶和組織用戶建立頁面的步驟是相同的。

項目頁面和我的/組織頁面大致相同,如下是一點差別:

項目頁面使用gh-pages分支(我的組織頁面使用master分支)。
若是沒有自定義域名,項目頁面被運行在我的頁面的子路徑下:username.github.io/projectname
若是爲我的/組織頁面自定義了域名,那麼全部組織頁面被重定向到這個域名下,固然,我的帳戶建立的項目頁面依然能夠經過username.github.io/projectname訪問,組織帳戶建立的項目頁面依然能夠經過orgname.github.io/projectname訪問
自定義域名後才能夠自定義404頁面

經過自動生成器建立頁面

你可使用GitHub的頁面自動生成功能,快速爲項目,我的/組織建立一個網站。

我的/組織頁面

爲了生成用戶/組織頁面網站,你須要建立一個名爲username.github.io的項目,我的用戶名或者組織名稱必須是已經擁有的,不然GitHub Pages沒法創建。自動頁面生成功能在項目庫設置中能夠找到,有關我的/組織頁面的介紹,能夠閱讀上面的說明我的/組織頁面和項目頁面

項目頁面

經過頁面自動生成功能,你能夠爲任何項目庫建立GitHub Pages。

自動生成功能

1.登錄GitHub,進入該庫的主頁

2.在該庫右側的邊欄,點擊setting

repo-actions-settings

3.點擊下側Automatic Pages Generator按鈕

repo-actions-settings

4.在Markdown編輯器中編輯本身的內容

5.點擊 Continue To Layouts按鈕。

6.在咱們提供的主題中預覽你的內容

repo-actions-settings

7.當你選擇了本身喜歡的主題後,點擊Publish Page

你的頁面產生以後,你能夠獲得這個頁面對應的HTML代碼,若是使用自動生成功能生成的是項目頁面網站,你須要fetch(下載)checkout(切換)到新的分支.

cd repository //切換到repository對應的目錄
git fetch origin //從遠程倉庫更新
# remote: Counting objects: 92, done.
# remote: Compressing objects: 100% (63/63), done.
# remote: Total 68 (delta 41), reused 0 (delta 0)
# Unpacking objects: 100% (68/68), done.
# From https://github.com/user/repo.git
#  * [new branch]      gh-pages     -> origin/gh-pages

git checkout gh-pages //切換到gh-pages分支,須要您先建立
# Branch gh-pages set up to track remote branch gh-pages from origin.
# Switched to a new branch 'gh-pages'

若是生成的是我的頁面,代碼會在master分支,而不是gh--pages分支,因此經過checkout(切換) master(主)分支,以後再pull

cd repository
git checkout master
# Switched to branch 'master'
git pull origin master
# remote: Counting objects: 92, done.
# remote: Compressing objects: 100% (63/63), done.
# remote: Total 68 (delta 41), reused 0 (delta 0)
# Receiving objects: 100% (424/424), 329.32 KiB | 178 KiB/s, done.
# Resolving deltas: 100% (68/68), done.
# From https://github.com/user/repo.git
#  * branch      master     -> FETCH_HEAD
# Updating abc1234..def5678
# Fast-forward
# index.html                                     |  265 ++++
# ...
# 98 files changed, 18123 insertions(+), 1 deletion(-)
# create mode 100644 index.html

經過手動的方式建立頁面

若是你對於Git命令行比較熟,你能夠直接手動建立項目頁面

建立一個新的clone(克隆)

創建項目頁面,你須要在你的項目庫中創建"孤兒"分支(這個分支不能與之前的分支衝突),最安全的辦法就是
直接從新clone項目:

git clone github.com/user/repository.git
# Clone our repository
# Cloning into 'repository'...
# remote: Counting objects: 2791, done.
# remote: Compressing objects: 100% (1225/1225), done.
# remote: Total 2791 (delta 1722), reused 2513 (delta 1493)
# Receiving objects: 100% (2791/2791), 3.77 MiB | 969 KiB/s, done.
# Resolving deltas: 100% (1722/1722), done.

建立gh-pages分支

若是你有了一個乾淨的項目庫,你就能夠建立一個gh-pages分支,以後把你工做區和暫存區中的全部內容移走:

cd repository //切換目錄

git checkout --orphan gh-pages //建立一個新的分支,無父分支,意味着裏面是無任何文件的
# Creates our branch, without any parents (it's an orphan!)
# Switched to a new branch 'gh-pages'

git rm -rf .  //刪除以前工做區可能有的全部文件
# Remove all files from the old working tree
# rm '.gitignore'

增長內容,進行推送

如今你有一個空的工做區,你能夠在這個分支上建立內容,推送到GitHub,例如:

echo "My Page" > index.html
git add index.html
git commit -a -m "First pages commit"
git push origin gh-pages

你的GitHub頁面網站這是應該已經創建了,若是你沒有成功的話,會收到一封email。

 載入建立的`GitHub Pages

在你推送到gh-pages後,項目頁面網站能夠經過http(s)://<username>.github.io/<projectname>
訪問。注意:在你推送以後,這個頁面是公開的,即使你的庫是私人庫。

使用Jekyll工具建立頁面

除了支持常規的HTML內容,GitHub Pages還支持Jekyll(哲基爾),它是一個簡單的博客形態的靜態頁面生成器,它讓在建立全站公用的Header,Footer後,不須要在每一個頁面上覆制這些部分。它還提供一些高級模板功能。

使用Jekyll

當你把內容推送到倉庫中指定分支後,jekyll就能夠被使用了。對於我的頁面,使用username.github.io倉庫中的master分支,對於項目頁面,能夠在當前項目倉庫中使用gh-pages分支,由於一個正常的HTML網頁也是有效的,Jekyll有完整的使用文檔,涵蓋他的特色和用法。提交符合Jekyll格式的文件,你就可使用了。

安裝Jekyll

咱們強烈推薦安裝Jekyll在你電腦上來預覽你的網站,這樣在你將網站推送到GitHub Pages前,就能夠覈實錯誤

爲了保障你的電腦能夠完美使用GitHub Pages,你可使 (the GitHub Pages Gem)[https://github.com/github/pages-gem]來下載你須要的依賴.如今咱們先來安裝Jekyll:

1.Ruby-Jekyll須要Ruby語言環境,若是你使用Mac,你極可能已經預裝Ruby環境了,你能夠打開命令行終端,容許命令ruby --version來確認是否安裝。你的Ruby至少應該在2.0.0以上,若是你已經得到了Ruby,你能夠跳到第二步,不然,參考(這個說明)[https://www.ruby-lang.org/en/downloads/]安裝Ruby。

2.Bundler-Bundler是一個包管理工具,若是你想要在本地創建GitHub Pages,使用它來控制Ruby環境的軟件,好比Jekyll會方便不少。若是你尚未按照過Bundler,你能夠經過命令行gem install bundler來安裝它。

3.Jekyll-重要的來了,你須要在你的庫中建立一個叫作Gemfile的文件,同時須要增長一行代碼gem 'github-pages',這些完成以後,能夠運行bundle install來自動安裝。若是您跳過了第二步,沒有安裝包管理器,你能夠須要經過命令行gem install github-pages,此時可能會遇到一些麻煩。
下面是Gemfile的的例子:

source 'https://rubygems.org'
gem 'github-pages'

設置jekyll

  • 打開命令行工具

  • 使用命令jekyll new加網站的名字來自動生成jekyll網站

    jekyll new YOUR-JEKYLL-SITE
    New jekyll site installed in /Users/YOUR-USERNAME/YOUR-JEKYLL-SITE

  • 使用cd進入jekyll網站根目錄

    cd YOUR-JEKYLL-SITE

  • 進入以後便可將它初始化爲git倉庫

    git init
    Initialized empty Git repository in /Users/YOUR-USERNAME/YOUR-JEKYLL-SITE/.git/

更詳細的信息,能夠參考jekyll快速使用指南

運行Jekyll

  • 使用git checkout命令移動到該去的分支(我的/組織頁面master/項目庫gh-pages),

  • 在github pages文件的根目錄,使用bundle exec jekyll serve來執行jekyll

  • 參考提示,使用http://localhost:4000來訪問網站

更多的jekyll命令,能夠參考Jekyll文檔

檢查Jekyll的更新

Jekyll是一個開源的項目,會頻繁的進行升級,github pages也會緊跟更新,若是您本地的Jekyll版本太久,可能在推送到github pages以後會發生不一樣,爲了保證Jekyll的版本更新,您能夠bundle update

配置Jekyll

建立了_config.yml文件後,您能夠自定義jekyll的設置

默認狀況

在GitHub Pages網站使用自定義域名

兩類域名能夠被重定向到GitHub Pages網站:子域名和頂級域名。
子域名
經過你的DNS服務提供商,能夠(配置一條CNAME記錄)[https://help.github.com/articles/tips-for-configuring-a-cname-record-with-your-dns-provider/]

咱們有如下緣由,建議你強烈使用子域名:

引用文字
子域名不會受到GitHub服務器底層IP地址變化的影響
頁面將會加載顯著變快,由於DOS服務能夠更有效

頂級域名
頂級域名一般須要配置A ALIAS ANAME記錄,而且經常分配一個或者多個IP地址
咱們建議使用自定義子域名,而不是頂級域名。

1.HTTPS and HTTP Difference
https://www.instantssl.com/https-tutorials/what-is-https.html

相關文章
相關標籤/搜索