date: 2016-11-29
個人搭建的博客地址:https://yiweiwoshiniya.github.io
如果你不熟悉建站各種編碼語言,也不想花很多錢,卻很想擁有一個獨立的個人博客,那Github Pages是你絕佳的選擇。github作為現在最流行的代碼倉庫,已經得到了很多大公司和項目的青睞。github推出的Github Pages服務不僅可以方便的為項目建立介紹站點,也可以用來建立個人博客。跟著本博的順序,你將順利搭建自己的博客。
Github Pages
創建倉庫
登錄你自己的
github
賬號,接下來去這個頁面去創建一個新倉庫https://github.com/new
這個新倉庫就是存放你博客的地方
注意一點,你的倉庫名字格式應為:用戶名.github.io
建完倉庫,進入你剛創建的倉庫,找到設置,進入設置頁面
在設置頁面,一般都默認就好,在
github pages
那欄點擊launch automatic page generator
編輯用戶界面
到這一步,就是編輯的博客頁面展示信息
Page name
頁面的標題
tagline
頁面副標題(描述)
body
正文
一般都默認就可以了,反正當前只是創建一個demo頁面,后續還得自己改
,直接點擊下面的綠色按鈕continue to layouts
公布頁面
隨便選擇一個主題模板(不用糾結,這里的主題很少,一般都是
jekyll
或者hexo
的主題),然后點擊Publish page
,你的頁面就出來了。可以直接在瀏覽器中輸入你的博客地址:用戶名.github.io
就可以看到效果了。
克隆倉庫
使用
git
工具或者命令行來git
到本地,然后做自己的修改就可以了,換主題請往后看。
Jekyll
jekyll是一個基于ruby開發的,專用于構建靜態網站的程序。它能夠將一些動態的組件:模板、liquid代碼等構建成靜態的頁面集合,Github-Page全面引入jekyll作為其構建引擎,這也是學習jekyll的主要動力。同時,除了jekyll引擎本身,它還提供一整套功能,比如web server。我們用jekyll –server啟動本地調試就是此項功能。讀者可能已經發現,在啟動server后,之前我們的項目目錄下會多出一個_site目錄。jekyll默認將轉化的靜態頁面保存在_site目錄下,并以某種方式組織。使用jekyll構建博客是十分適合的,因為其內建的對象就是專門為blog而生的,在后面的逐步介紹中讀者會體會到這一點。但是需要強調的是,jekyll并不是博客軟件,跟workpress之類的完全兩碼事,它僅僅是個一次性的模板解析引擎,它不能像動態服務端腳本那樣處理請求。
更多關于jekyll
請看
github
: https://github.com/jekyll/jekyll
靜態博客地址:https://jekyllrb.com/
中文靜態博客地址:http://jekyllcn.com/
選擇主題
剛才只是搭建好你的倉庫,現在你該考慮你的博客風格了,到這個網站選擇你喜歡的模板http://jekyllthemes.org/
找到喜歡的主題下載到本地解壓,將本地倉庫除了
.git
隱藏文件夾的都刪除,,將下載下來的主題的文件全部復制出來到git倉庫
jekyll是如何工作的
在jekyll解析你的網站之前,需要確保網站有以下目錄結構:
|-- _config.yml
|-- _includes
|-- _layouts
| |-- default.html
| |-- post.html
|-- _posts
| |-- 20011-10-25-open-source-is-good.html
| |-- 20011-04-26-hello-world.html
|-- _site
|-- index.html
|-- images
|-- css
|-- style.css
|-- javascripts
_config.yml
:保存配置,該配置將影響jekyll構造網站的各種行為。
_includes
:該目錄下的文件可以用來作為公共的內容被其他文章引用,就跟C語言include頭文件的機制完全一樣,jekyll在解析時會對{ % include file.ext %}
標記擴展成對應的在_includes文件夾中的文件。
_layouts
:該目錄下的文件作為主要的模板文件。
_posts
:文章或網頁應當放在這個目錄中,但需要注意的是,文章的文件名必須是YYYY-MM-DD-title
。
_site
:上面提到過,這是jekyll默認的轉化結果存放的目錄。
images
:這個目錄沒有強制的要求,主要目的是存放你的資源文件,圖片、樣式表、腳本等。
以上就是大概的簡介,可以在_config.yml
文件中修改網站以及自己的個人信息,_posts
文件夾放你的博文,切記文件名格式,更多詳細的語法上面貼出來的jekyll
的官方博客以及github
可以參考。
現在可以將改動提交到遠端倉庫,提交后請求:用戶名.github.io
看看是不是變了。
Jekyll安裝本地服務
如果每次改動都需要提交到遠端倉庫才能看到效果的話,那就太麻煩了,有時候我們需要在本地測試好了,才提交上去,這就需要我們安裝Jekyll本地服務。
注意:
- ruby版本,macOS自帶了ruby,但是不建議用。
- 由于國內網絡,gem官方的源可能不好用,切換成國內的。
Ruby安裝
- jekyll本身基于Ruby開發,想要本地搭建測試環境需要有Ruby環境。
雖然macOS有自帶ruby,但是不推薦。我們使用rvm來管理ruby。
rvm官網:https://rvm.io/ 安裝有介紹。
\curl -sSL https://get.rvm.io | bash -s stable --ruby
- 安裝完成查看版本
rvm -v
-
rvm list known
查看可用的ruby版本
- 找到最新的版本(不一定是非要安裝最新的)
rvm install 版本號(如2.2.0)
- 因為系統自帶ruby,我們需要切換成我們自己的ruby版本
rvm use 2.2.0 --default
- 查看
rvm list
就可以看到當前默認的是我們自己的ruby版本。ruby -v
也可以看到是我們自己的的ruby版本。
安裝jekyll
- 首先,我們需要切換rubygem倉庫鏡像地址
sudo gem sources --remove http://rubygems.org/
sudo gem sources -a https://gems.ruby-china.org/
- 更新gem自身版本
gem update --system
- 執行下面的命令安裝jekyll
gem install jekyll
如果有報錯提示權限問題的話,在Mac OS X El Capitan或者更高版本下
gem install -n /usr/local/bin jekyll
- 待安裝成功后,終端文件夾路徑切到本地倉庫下,執行
jekyll server
如果報錯,看下報錯信息(原諒我當時沒有保存報錯信息),如果有提到bundler的話。
gem install bundler
待成功后繼續執行
jekyll server
如果還是報錯,如果有提到 bundle install 的話,執行:
bundle install
繼續執行
jekyll server
控制臺提示: Server address: http://127.0.0.1:4000/
,將這個地址粘貼到瀏覽器中請求看看,你的博客出來了。
這樣就可以本地測試,如果修改了,啟動jekyll服務進行本地測試,測試沒有問題再提交到遠端github倉庫。
域名綁定
購買域名,國內,國外的域名服務商都可以。我自己在阿里云買的域名。
假如你現在購買成功了如:abc.com
你需要在阿里云后臺去配置這個域名的解析
ping 用戶名.github.io
在終端執行,會看到一個IP,記住這個IP
在git本地倉庫下,新建一個CNAME文件,里面寫上你購買的域名,保存提交。過一會,就可以在你的github的倉庫設置中看到你的域名已經配置上去了。
這下可以在瀏覽器中訪問abc.com
就可以看到你的博客了。
總結
至此就搭建完成,可以愉快的寫作了!搭建的過程挺不順利的,安裝本地測試服務的時候遇到各種版本、路徑、權限問題,不過都解決了。大家如果有什么問題,歡迎留言。
感謝幫過我的各個博主。
http://www.ezlippi.com/
http://baixin.io/
http://cyzus.github.io/