建立GitHub技術部落格全攻略

CopperDong發表於2017-11-12
說明: 首先,你需要註冊一個 github 賬號,最好取一個有意義的名字,比如姓名全拼,暱稱全拼,如果被佔用,可以加上有意義的數字.
本文中假設使用者名稱為 tiemaocsdn

1. 註冊賬號:

地址: https://github.com/
輸入賬號、郵箱、密碼,然後點選註冊按鈕.
圖1 第1步
2. 初始設定
註冊完成後,選擇Free免費賬號完成設定。
圖2 第2步
2.1 驗證郵箱
請開啟你的郵箱,檢視傳送給你的確認郵件,你需要驗證郵箱後,後面生成的個人主頁才會被接受和釋出.

3. 建立頁面倉庫
地址: https://github.com/new
這個倉庫的名字需要和你的賬號對應, 如 tiemaocsdn.github.io
輸入基本資訊,然後點選建立倉庫.
圖3 第3步
4. 進入專案設定頁面
因為這個專案就是專門的放頁面的,所以master分支即可. 如果是你的某個倉庫的頁面,你需要設定到 gh-pages 分支中,關於這些,請參考本文末尾提到的參考資料.
圖4 第4步

5. 進入自動頁面生成器
在設定頁面,下拉到底部, 預設分支(master)不用管.
圖5 第5步

6.1 建立使用者頁面(即技術部落格站點)
輸入一些內容,可以自己編輯,也可以從readme載入:
圖6-1 第6-1步

6.2 繼續,選擇主題
圖6-2 第6-2步

7. 選擇主題,然後釋出
如下圖所示,其實這些以後你都可以自己修改替換,這只是生成一些css,html,img到你的倉庫裡面.
圖7 第7步

8. 檢視效果
現在,你可以訪問自己的GitHub.io 上的主頁了,例如:
http://tiemaocsdn.github.io/
頁面效果如下圖所示:
圖8 第8步


9. CNAME繫結域名

到這一步,其實已經很明確了, http://tiemaocsdn.github.io/ 這麼一個域名,就指向了剛剛構建的這個站點/頁面。 如果嫌棄這個域名太土了怎麼辦? 

其實很好辦,花錢買個喜歡的域名對映過去就好了。 在根路徑下建立一個檔案, 檔名是大寫的 "CNAME", 注意沒有字尾。 因為tiemaocsdn 沒有購買域名,那麼就拿另一個來說事吧。

類似下面這樣:

https://github.com/renfufei/renfufei.github.io/blob/master/CNAME

裡面的內容,就是訪問此 xxx.github.io 時會重定向到此域名,所以其實這個地址可以是任意值。 但是為了有意義,我們可以定義為某個固定的域名,例如 :

[plain] view plain copy
  1. blog.cncounter.com  
檔案的內容只有一行,這樣訪問 http://renfufei.github.io 時瀏覽器就接收到重定向指令,跳轉到CNAME裡面指定的域名去了。  

大致的響應頭和狀態碼如下,你也可以使用Chrome開啟NetWork,勾選上 Preserve Log 保留日誌看一看相關資訊:

[plain] view plain copy
  1. Request URL:http://renfufei.github.io/  
  2. Request Method:GET  
  3. Status Code:301 Moved Permanently  
  4.   
  5. Location:http://blog.cncounter.com/  
  6. Server:GitHub.com  
這樣就很明白了,訪問此站點時,如果域名不是 blog.cncounter.com ,那麼就會跳轉到 http://blog.cncounter.com/,個人惡意推測,即便你將CNAME檔案的內容設定為 www.baidu.com 也是可行的,這樣訪問的時候直接跳轉到百度了。
但是,如果 http://blog.cncounter.com/ 是空的怎麼辦?  這就需要你自己保證咯。

當然,要是這麼結束掉,那本文就是一篇坑文。 
如果你持有這個域名,那麼你可以將域名的對應記錄也CNAME到 "renfufei.github.io" . 記住, renfufei.github.io 已經是一個網際網路上能明確定位到的地址,所以DNS記錄完全可以對映到此路徑.

例如如下的記錄, DNS中,A記錄那就是直接指定一個IP。 CNAME就是重新命名,指向另一個域名。 主機記錄就是字首,例如: blog, 與 cncounter.com 拼接在一起就是 blog.cncounter.com ,如果你想對映 www.cncounter.com ,那麼主機記錄就是 www ,記錄型別是CNAME,記錄值是renfufei.github.io;如果想將 http://cncounter.com 這個根域名也對映到,那麼記錄型別也是CNAME,主機記錄就是一個英文的 at: "@". 你可以將多個域名都對映到 xxxxx.github.io 之類的你自己的站點上,但原則上都會跳轉到你新建的 CNAME檔案中的域名上。【放心,不會死迴圈。。。】.好的,恭喜你!



10. 倉庫的頁面

建立好個人或組織的Github首頁之後,就擁有了一個固定的二級域名。 

那麼,每個專案都可以使用頁面生成器生成一個專案的頁面(page)。 當然,專案使用的 pages 就不是 master 分支了,而是一個叫做 gh-pages 的分支。gh 是 github 的簡稱, github會自動解析下面的頁面。

相應的訪問路徑類似 http: //xxx.github.io/project-name/ 這樣。例如: http://blog.cncounter.com/cncounter/

對應的分支為: https://github.com/cncounter/cncounter/tree/gh-pages

有興趣你可以點進去看看,生成方式和上面的基本一樣。 當然,Github現在改版了,新版的佈局,Settings 被挪到了上方,但是基本操作還是不變的。

cnc-github


注意事項:
  • 如果報404,或者其他錯誤,請稍等,或者檢查你的郵箱,看看構建失敗的提示資訊.
  • 比如我的,因為最初沒有驗證郵箱,結果收到了好幾次釋出失敗的通知(如下面的郵件提示)。
  • 以後每次你提交(或線上修改後提交)檔案到這個倉庫,GitHub 都會自動為你構建,併發布。
  • 所以,有問題,請修改並提交某個檔案,重新試試吧!
[plain] view plain copy
  1. The page build failed with the following error:  
  2.   
  3.   
  4. You need a verified email address in your GitHub account to publish Pages.  
  5. You can verify your email addresses from your Settings panel:  
  6.   
  7.   
  8.     https://github.com/settings/emails  
  9.   
  10.   
  11. If you have any questions please contact us at https://github.com/contact.  

下面是參考的一部分:

您可以通過GitHub的頁面自動生成器快速為 專案,使用者(User,比如你的賬號),或組織(Organization, 比如 alibaba) 建立一個網站(其實就是技術部落格啦)。

生成使用者/組織的網頁

要生成使用者/組織的網站頁面,你需要建立一個倉庫(repository,程式碼庫),名為: username.github.io 或 orgname.github.io ; 使用者名稱或組織名 必須 是你自己的賬號/或所屬的組織, 否則GitHub Pages 站點不會幫你生成(build,構建,編譯,)。 GitHub的頁面自動生成器可以通過倉庫的設定頁面(Settings page)看到。 您可以閱讀更多關於使用者和組織頁面的內容 。

警告: GitHub頁面網站在網際網路上是公開,即使其所屬的倉庫是私有的。 如果你有敏感資料在頁面倉庫中,您可能需要在釋出之前刪除他們。

參考地址:
如果你看到這裡,如果你已登入, 如果覺得對你有幫助,請點選下面的 “頂” 按鈕.

如果有問題,有建議,請留言。

趕快試試吧!

GitHub.io技術部落格的好處: 寫部落格,你可以自己定義JS,CSS,圖片,嵌入iframe 顯示程式碼示例,什麼你都可以自定義,什麼標籤都允許,而在其他的技術部落格站點,因為安全限制,很多是不允許的。

如果你對學習Git,以及使用這種強大的工具和專案/程式碼管理思想感興趣,那麼推薦你閱讀這一系列的文章,講得深入淺出,生動有趣: http://www.worldhello.net/gotgithub/01-explore-github/010-what-is-github.html

Windows下Git使用入門系列: 

  1. 目錄
  2. 安裝及配置Git
  3. 安裝及配置TortoiseGit
  4. Git與TortoiseGit基本操作
  5. MarkDown示例
  6. 解決 TortoiseGit 詭異的 Bad file number 問題
  7. 加入QQ群GitHub家園: 225932282

相關文章