互聯網從誕生髮展至今日,天天有無數的人在上面留下本身的足跡,他們用它記錄生活、抒發情感、分享看法,這一切都離不開一個能夠承載文字的平臺,一個獨立的、由本身掌控的平臺,而 GitHub Pages 就是這麼一個平臺。git
在這個平臺裏你可使用本身的個性域名;能夠在海量的主題裏挑選最適合你的那一款,若是你技術極客,也能夠根據本身的喜愛,設計屬於本身的個性化頁面;你既能夠在線建立和發佈網站,也能夠在本地經過客戶端工具或者命令行進行網站和內容的管理。瀏覽器
你徹底能夠經過 GitHub Pages 展現和輸出自身價值,甚至能夠把它打形成屬於本身的互聯網「身份證」。ruby
爲何使用 GitHub Pagesbash
若是你把他做爲一個輕量級的我的博客服務,GitHub Pages 相較 WordPress 之類的建站服務有什麼優點呢?markdown
首先他是徹底免費的,相較其餘的同類產品,他能替你省下一筆服務費,節約下的錢可讓你買一些其餘的會員服務;編輯器
無須本身購買雲服務進行搭建,只需按步驟一步步操做便可,即便你不懂他的技術細節;ide
支持的功能多,玩法豐富,你能夠綁定你的域名、使用免費的 HTTPS、本身 DIY 網站的主題、使用他人開發好的插件等等;工具
當完成搭建後,你只須要專一於文章創做就能夠了,其餘諸如環境搭建、系統維護、文件存儲的事情一律不用操心,都由 GitHub 處理post
固然了,做爲一款免費的服務,咱們也是要遵照 GitHub 官方使用建議和限制,在使用的時候項目和網站的大小要超過 1GB,也不要過於頻繁的更新網站的內容(每小時不超過 10 個版本),每月的也要注意帶寬使用上限爲 100GB。網站
綜合來看,GitHub Pages 依舊能夠說是中小型博客或項目主頁的最佳選項之一。
如何使用 GitHub pages
介紹了這麼多,下面就具體來談談如何使用它。
基本頁面的生成
首先你須要註冊一個 GitHub 帳號,並在我的主界面裏選擇建立一個新的 Repository 。
進入頁面後,在 Repository name 的位置填寫域名,格式是 username.GitHub.io。
建立成功以後,點擊右上角的 Settings
找到 GitHub Pages 選項,選擇一個 GitHub 官方提供的主題
這裏咱們就隨意選擇一個主題 Cayman,來看看他的效果是什麼樣的
選擇完畢以後 GitHub Pages 就會自動幫你生成好網站,在他跳轉的界面點擊 Commit changes 按鈕,網站就能夠訪問了。
在瀏覽器裏輸入你的項目名稱,好比 brick713.GitHub.io,就能夠看到,你剛剛選擇的主題的我的網站的頁面了。
到這裏若是你只是想作一個例如能夠隨時在互聯網上HX訪問的簡歷,那麼你只須要 GitHub Pages 項目的主頁修改你 index.md 文件就能夠了,好比我給出的這個模板。
修改完後,點擊上圖中左下角的 Commit Changes,而後訪問你的自定義域名你就能夠看到以下的樣式了。
若是你想作一個功能更豐富的博客,那咱們繼續往下走。
配置自定義域名並無償使用 HTTPS
在 2018 年 5 月 1 日以後,GitHub Pages 已經開始提供免費爲自定義域名開啓 HTTPS 的功能,而且大大簡化了操做的流程,如今用戶已經再也不須要本身提供證書,只須要將本身的域名使用 CNAME 的方式指向本身的 GitHub Pages 域名便可。
首先在你的 DNS 解析裏添加一條解析記錄,例如我選擇添加子域名 blog.moyu.life 經過 CNAME 的方式指向我剛剛自定義的 GitHub Pages 域名 brick713.GitHub.io。添加完成後等待 DNS 解析的生效(DNS 的解析記錄生效到全球可能須要幾分鐘時間)。
以後從新回到最開始進入過的 Settings 界面,找到 GitHub Pages 的設置,填寫咱們剛剛創建的子域名,以我本身的 blog.moyu.life 舉例,點擊保存。
保存後 GitHub 須要必定的時間生成證書並確認域名的解析是否正常,咱們只須要耐心的等待便可,成功後顯示結果以下
如今咱們再訪問 blog.moyu.life 就會發現,咱們的自定義域名和 HTTPS 都生效了!能夠看到證書是由著名的機構 Let's Encrypt 提供的。
網站的同步
如今咱們已經有了一個基本功能健全的網站了,接下來咱們須要試着對博客的內容進行管理,而且給博客添加一些更個性化的設置,官方提供兩種方式:
命令行方式(Mac 和 Windows 確保擁有 Git 環境)
桌面客戶端形式(須要安裝官方提供的客戶端)
若是你沒有任何 Git 的基礎,也不想進行一些繁瑣的配置,那麼我推薦你使用桌面客戶端的形式進行管理,若是你有必定的技術基礎,那麼 Git 的方式則更適合你。這裏我兩種方法都介紹一下。
首先在命令行中切換到你自定義的路徑下,而後 Clone 下來你的項目(操做須要在 Mac 的 Terminal 中完成,Windows 系統可使用 Git-bash。)這裏注意這裏的 path 和 username 須要根據你我的狀況進行替換。
cd ~/Path git clone https://GitHub.com/username/username.GitHub.io
接着進入你的項目的文件中,並創做一個文章。
cd username.GitHub.io echo "Hello World 我愛這個世界 " > index.md
而後按照 Git 提交內容的流程,將咱們的新創做的文章上傳。
git add --all git commit -m "Firs Push" git push -u origin master
這裏可能會碰到下面的狀況:
按照他的提示咱們把註冊 GitHub 的郵箱和用戶名依次輸入便可:
git config user.email " 你的郵箱 " git config user.name " 你的用戶名 "
以後他可能會讓你輸入你的 GitHub 帳號和密碼,不用擔憂,正常輸入便可。當咱們看到這樣的提高就證實提交成功了。
能夠去咱們的網站主頁看看是否是起了變化。
若是你是使用GitHub 桌面客戶端 那麼就更簡單了,下載安裝了客戶端以後,按照客戶端的提示正常登錄你的 GitHub 帳號。而後 Clone 下來你的 GitHub Pages 項目。
等待 Clone 完成後,界面上會顯示幾種管理修改你的項目的方式。
這裏我選擇使用 Sublime Text 進行管理,把開始的 index.md 裏的內容改成 Hello World 我也愛這個世界 保存,而後在客戶端上咱們能看到文件的變化,咱們先點擊左下角的 Commit to master,再點擊 Fetch origin 就能夠將內容上傳。
而後你發現你的主頁也發生了相應改變了。到這裏你基本上就掌握了網站管理的基本流程和文章發佈的基本流程,下面咱們要開始來學會使用靜態模板系統來管理博客了。
GitHub Pages 的生成工具
經歷了上面的步驟,如今你的已經有了一個簡單的頁面了,但是他還遠遠未知足咱們的需求,咱們須要利用靜態模板系統來讓生產接管你博客的文章的生成,讓你把更多的經歷投入在創做裏。下面就 GitHub 官方推薦的 Jekyll 爲例子來展開講講。
由於 Jekyll 是基於 Ruby 的靜態網頁生成系統,所以咱們首先得安裝 Ruby 環境,在 Mac 下咱們可使用的 Homebrew 來進行安裝。若是是其餘操做系統,能夠去參考 Ruby 官方安裝文檔進行安裝。
brew install ruby
等 Ruby 安裝完畢後再執行如下命令完成 Jekyll 的安裝。
gem install jekyll bundler
而後進入你 Clone 下來的 GitHub Pages 項目的路徑,例如:
執行如下命令:
jekyll new . --force
完成後,Jekyll 會在你指定的目錄下生成好全部文件,你可使用 bundle exec jekyll serve 命令,而後就能夠經過訪問 127.0.0.1:4000 查看初始界面的樣子了。
默認的界面看起來很是的簡陋也很醜,可是不要緊,你能夠在這些網站裏HX根據本身的喜愛找到一些美觀的主題http://jekyllthemes.org/、https://jekyllthemes.io/、http://themes.jekyllrc.org/。
安裝方法很簡單,通常狀況下只須要下載主題包解壓後完整的,複製到你的 GitHub Pages 的項目目錄裏,並覆蓋你以前的文件便可,有些特殊的主題要參考做者給的安裝步驟,這裏我隨意的更換了一個主題。
主題裏的全部關鍵性配置都在 _config.yml 文件中,你能夠根據我的的喜愛和不一樣主題支持的功能來修改具體的內容,這裏就不作展開。
到這裏完整的搭建的流程已經結束了,你已經能夠正常訪問你一路配置下來的博客了,接下來你只須要找一個趁手的 Markdown 編輯器來編輯在你本地 GitHub Pages 項目中的 _posts 文件夾裏的文章,並使用前面提到的兩種方式將文章同步到 GitHub 上便可。須要注意的是,文章的內容和標題須要按照 Jekyll 的格式進行寫做。
文章的文件名遵循下面的格式:
年 - 月 - 日 - 標題 .markdown
文章內容頂部必須有下面的 YAML 頭信息:
--- layout: post title: Blogging Like a Hacker ---
尾巴
其實除了 Jekyll 還有很是多的第三方的靜態模板系統來搭建 GitHub Pages。好比:
Node.js 編寫的 Hexo
Go 編寫的 Hugo
Python 編寫的 Pelican
以及更人性化的 Gridea
他們在各自的基礎上實現了更多的功能,好比分析統計、搜索、評論系統、廣告、分享系統等。喜歡折騰的同窗不妨能夠嘗試嘗試,將來若是有機會但願能更詳細的給你們分享一下。