1. 程式人生 > >利用gitlab pages和hexo搭建一個個人部落格

利用gitlab pages和hexo搭建一個個人部落格

AI’boy原創,轉載請註明出處。

1.使用github pages存在的問題

目前網上有很多利用github pages和hexo搭建個人部落格的教程,但是github目前拒絕了百度蜘蛛的爬取,因此如果希望自己的部落格能夠被百度收錄,就需要採用一些別的方法託管。之前網上有一些利用coding.net進行託管共百度爬取的方法,但是最近coding.net進行了改版,在開啟託管的個人pages時會強行加入一個5s的等待跳轉頁面,導致百度的蜘蛛無法正確爬取到部落格的內容。因此,這篇文章將手把手教你如何用gitlab託管你的部落格,實現讓百度可以爬取你的部落格內容。

2.安裝必要的環境

以下操作均在windows10的環境下進行,其他的環境操作如果有問題請自行進行必要的修改。

2.1安裝nodejs

最新版的nodejs可以在這裡獲取,下載後直接安裝即可,安裝完後開啟cmd,輸入npm -v,如果能輸出版本號則說明安裝成功。

2.2 安裝git

git的安裝和配置請自行百度,這裡就不詳細寫了,這是git的下載地址

2.3 安裝hexo

如果已經完成了以上兩步,在一個私人資料夾下開啟cmd,執行

npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

3.將部落格部署到gitlab pages上

3.1新增ssh-key

gitlab完成註冊後,首先訪問這裡,向你的帳戶新增ssh keys,ssh keys的生成可以參考如下的步驟,開啟2.2安裝的Git Bash,輸入如下命令(自行替換其中的使用者名稱和郵箱資訊)

git config --global user.name "Boyuan"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C "[email protected]"

最終生成的檔案一般位於C:\Users\UserName.ssh資料夾下,開啟id_rsa.pub,將裡面的所有內容新增到

這裡

3.2 新建一個專案

接著點頁面右上角的+號,新建一個專案。專案名為”username.gitlab.io”,其中username為你的gitlab賬號使用者名稱,專案型別選擇Private

3.3 新增.gitlab-ci.yml檔案

利用gitlab部署你的部落格和github最大不同在於,在github上部署部落格需要先在本地生成各種頁面檔案,然後再推送到github上就可以直接訪問了。而使用gitlab則需要在伺服器端完成生成和部署兩個階段,應該需要在專案的根目錄下新增一個.gitlab-ci.yml檔案用來指導伺服器如何處理你提交的原始檔。一個完整可用的.gitlab-ci.yml如下,其中我把hexo預設的公式渲染引擎替換為了pandoc,同時添加了生成站點地圖的功能。

before_script:
  - apt-get update -qq && apt-get install -y -qq pandoc
image: node:4.2.2
pages:
  cache:
    paths:
    - node_modules/
  script:
  - npm install hexo-cli -g
  - npm install
  - npm uninstall hexo-renderer-marked --save
  - npm install hexo-renderer-pandoc --save
  - npm install hexo-generator-sitemap --save
  - npm install hexo-generator-baidu-sitemap --save
  - npm install hexo-util --save
  - hexo deploy
  artifacts:
    paths:
    - public
  only:
  - master

3.4 修改站點配置檔案&更換主題

這裡推薦大家使用NexT主題,這也是本站目前使用的主題,具體的安裝步驟可以參考這裡,有一點需要注意的是,將themes\next\目錄下的.git資料夾刪除。
下面主要還需要對專案根目錄下的_config.yml進行修改

接下來,在專案根目錄下執行如下命令

git init
git remote add origin [email protected].com:feixiang/feixiang.gitlab.io.git
git add .
git commit -m "init blog"
git push -u origin master

以上第二句命令請根據自己的專案名稱進行調整。
完成推送後,訪問你的專案主頁,如果看到passed的圖示,就表示構建成功了,訪問https://username.gitlab.io/ 就可以看到自己剛剛建立的部落格了。
如果需要新增新的文章,將文章的md檔案儲存到source_posts資料夾下然後重新執行推送就可以了,伺服器端完成構建後,如果沒有錯誤就會出現在你的部落格頁面上。
到此何如在gitlab上搭建一個部落格就說完了,如果想繫結自己的域名實現讓百度爬取請繼續往下看。

4.繫結個人域名

修改_config.yml檔案中的url地址為http://你的域名,重新提交,伺服器端編譯通過後,在專案主頁訪問Settings->Pages->New Domain,輸入你的自己的域名就可以了。然後去你的域名註冊商那新增一條指向username.gitlab.io. 的CNAME記錄記錄,輸入你的域名,看看是不是可以訪問了。
利用百度爬蟲抓取,可以看到可以成功抓取。圖一是使用gatlab託管的抓取狀態,圖二是利用github抓取的狀態。
圖一
圖二