使用Hexo框架搭建博客,並部署到github上

開發背景:年後回來公司業務不忙,閒暇時間瞭解一下node的使用場景,一篇文章吸引了我15個Nodejs應用場景,而後就被這個hexo框架吸引了,說時遲,那時快,趕忙動手搭建起來,網上找了好多資料一天時間才搭建完成,個人博客地址:博客,記錄一下過程,以便之後學習。html


開始搭建

學習新框架的通常步驟:node

  • 中文文檔擼一遍,跟着作(Hexo中文文檔),通常都會有各類問題出現,固然直接成功的也有,很不幸,我就是出現問題的那一類,不要緊,出現問題,解決問題的過程,才能學到更多東西;
  • 上網找一些hexo使用的教程,繼續弄;
  • 這個時候要是再有問題就是很難解決的有針對性的問題了,繼續上網找相關的解決辦法;
  • 網上資源真的不少,很好用,只要想學沒有找不到的東西,哈哈哈...

1、安裝

前提:
既然是node框架,確定前提是你已經安裝過Node.js(下載地址),另外還須要你安裝Git(下載地址);
若是你已經成功安裝了上述程序後,接下來就是hexo的安裝:git

$ npm install -g hexo-cli

安裝完成之後,須要初始化一下項目,執行下列命令:github

$ hexo init
$ npm install

完成之後,項目大概目錄就是這樣的:shell

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

_config.yml
網站的配置信息,能夠在此配置大部分的參數。後面發佈到github上面時,有用到這個文件;npm

package.json
應用程序的信息。json


文件的其餘部分的詳細解釋請看文檔,此處只是記錄一下搭建以及發佈的過程,具體寫文章的步驟,先不進行過多說明;緩存


接下來能夠在本地啓服務來查看一下項目的初始狀態:bash

$ npm install hexo-server --save
$ hexo server

效果大概就是下面的樣子:
首頁
我稍微修改了一下文字配置,可能你的會跟個人有點不同,項目能啓動就是成功了;hexo


2、發佈到github並設置成我的博客

一、github上新建一個倉庫


登陸本身的github後,在界面右上角用戶信息點擊左邊的加號,新建一個repository:
圖片描述

而後給新建的倉庫起個名字,注意:這個名字必須跟用戶名一致,github纔會默認設置成用戶的博客:
圖片描述

項目建好之後,就是一些信息的設置:
圖片描述
圖片描述
設置頁面裏面有分支選項,若是有master分支,會默認成博客的首選代碼;


二、將本地搭建好的hexo發佈到github上:
將本地代碼上傳到github上的方法有不少:
能夠用Github Desktop,簡單直觀,可是須要把以前咱們搭建好的項目生成的文件放到GitHub Desktop指定的位置,再上傳,感受不那麼智能,還有點麻煩,因此我選擇planB,耶!我可真是個小機靈鬼...


下面是在項目中生成靜態文件的命令:

$ hexo generate

簡寫,結果是同樣的

$ hexo g

執行完以上代碼,會在項目的根目錄下生成public文件夾,選擇planA的童鞋就能夠將裏面的全部文件用GitHub Desktop上傳到github上了;


而另一種,就是在當前項目直接遠程鏈接本身的github上傳文件,這會涉及到SSH(關於SSH是什麼,網上有不少詳細說明,能夠本身查找學習)

安裝插件:

npm install hexo-deployer-git --save

修改網站配置文件_config.yml,添加deploy信息:

deploy:
  type: git 
  repo: git@github.com:wjlilh/wjlilh.github.io.git 
  branch: master

上面的repo的配置信息,替換成本身的項目名字


生成SSH key:

按照網上的教程生成ssh key的時候是直接ssh-add,可是失敗了,調查問題,發現緣由是由於,我是第一次使用ssh-agent代理,第一次須要首先執行如下命令,之後就不須要了(具體原來請參考此處連接):

$ ssh-agent bash

以上命令回車,啓動進程,後再輸入命令:

$ ssh-add ~/.ssh/id_rsa

圖片描述

按照提示操做輸入密碼,

這樣就在c盤對應位置生成了ssh-key;

配置github帳戶的ssh-key
打開id_rsa.pub文件將一整串公鑰拷貝下來

進入你的github帳戶設置,在ssh and GPG keys中新增一個ssh key,以下
圖片描述

圖片描述

title隨意,key填id_rsa.pub文件中內容,保存便可;


驗證是否鏈接成功:

$ ssh -T git@github.com

出現下面的語句說明你的ssh key已經配置好了

Hi wispyoureyes! You've successfully authenticated, but GitHub does not provide shell access.

ok,到了這一步,本地跟遠程github的鏈接已經創建,在項目中,直接生成靜態文件,上傳就能夠了:

$ hexo clean  //清除緩存文件db.json和已生成的靜態文件public
$ hexo g   //生成網站靜態文件到默認設置的public文件夾
$ hexo d   //部署網站到設定的倉庫

這樣就完成了我的博客的github部署,直接打開過程當中設置的地址就能夠查看了,個人是:https://wjlilh.github.io/

相關文章
相關標籤/搜索