開發背景:年後回來公司業務不忙,閒暇時間瞭解一下node的使用場景,一篇文章吸引了我15個Nodejs應用場景,而後就被這個hexo框架吸引了,說時遲,那時快,趕忙動手搭建起來,網上找了好多資料一天時間才搭建完成,個人博客地址:博客,記錄一下過程,以便之後學習。html
學習新框架的通常步驟:node
前提:
既然是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
一、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
按照提示操做輸入密碼,
配置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/