使用hexo搭建github.io博客(一)


使用github.io可以搭建一個自己的博客,把靜態文件項目托管到github上,可以寫博客,可以使用markdown語法,也可以展示作品.靈活性高.但是有較大的難度.

node,git版本變化日新月異,每段時間都會有不同,而這個小不同可能直接導致搭建失敗.這里把我搭建的過程記錄下來.如果將來搭建失敗,可以參考,下載對應的版本嘗試.

 

我使用的版本(win7系統下:):

node: v0.10.22

git: Git-1.9.5-preview20141217  

 

搭建步驟:

1.安裝好node和git,注冊好github賬號. 注意:用戶名一定不能有大寫.

想下載最新的git可以嘗試這個地址: http://msysgit.github.io/

想下載我使用的版本,移步我的網盤: http://pan.baidu.com/s/1qWt5u36

 

2.安裝hexo:

執行: npm install -g hexo

這里常常安裝了一半就卡住裝不下去了,fq后就ok了...

 

3.創建hexo文件夾:

自己找一個喜歡的路徑,創建hexo文件夾,我的是安裝在 E:\hexo 下的. 

cmd窗口切換到對應的目錄下,然后執行: hexo init 

也可以在 E:\hexo 下右鍵,選擇git bash,在窗口中執行 hexo init

它就自動安裝了需要的文件.

 

4.安裝依賴:

繼續執行: npm install

安裝好了所有的依賴

 

5.完成本地安裝:

繼續在 E:\hexo 下執行:  hexo generate

繼續執行: hexo server

然后在打開瀏覽器 localhost:4000 ,就可以看到,本地已經安裝好了.

 

6.在github上創建博客倉庫:

  6.1新建倉庫.

  右上角的加號點擊一下,選擇New repository

  

      跳轉的后如下填寫:(其中Repository name的格式是 '用戶名'.github.io  ),然后點創建倉庫

      

  

  6.2 生成測試頁面

  進入剛才創建的倉庫,點擊右邊菜單中的Settings按鈕,在跳轉到的頁面 Update your site 對應處點擊“Automatic page generator”按鈕,這樣就有了一個github自動生成的頁面用來測試的時候使用。之后點擊繼續。

  

  

  6.3選擇主題,點擊'Publish page'發布:

  

  

  6.4發布成功

  再次回到倉庫,點擊6.2里的Settings按鈕:

  點擊鏈接就可以看到測試地址頁面.

  

7.創建SSH keys

  7.1 監測是否有已經存在的SSH keys:

  打開 git bash 終端(可以在  E:\hexo 下右鍵打開,也可以直接在開始菜單里打開)

  執行:  $ ls -al ~/.ssh 

 

       如果有SSH keys: 就會看到如下文件 id_rsa    id_rsa.pub

  

  (除了我自己生成的這種,官方教程里說,SSH keys也有可能是以下幾種文件:

  • id_dsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

       )

  

  7.2 如果沒有的話,就生成一個SSH keys: 粉色部分寫自己的郵箱

  ssh-keygen -t rsa -C "your_email@example.com" 

  然后會出現:

  Generating public/private rsa key pair.

  Enter file in which to save the key (/Users/you/.ssh/id_rsa): 

  就是讓你輸入SSH keys要保存在哪里,一般不用改,就直接回車就好了.

  然后會出現:

  粉色部分輸入一個密碼,這個密碼后面會用到,所以要記住咯~

    Enter passphrase (empty for no passphrase): [Type a passphrase]  

  # Enter same passphrase again: [Type passphrase again] 

   

  7.3 保存SSH keys:

  創建成功后,他會提示你SSH keys保存在哪里:

  Your identification has been saved in /Users/you/.ssh/id_rsa.

  # Your public key has been saved in /Users/you/.ssh/id_rsa.pub.

  # The key fingerprint is:

  # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

 

  7.4 找到SSH keys:

  根據上一步里告訴你的路徑,找到保存SSH keys的地方,我的是在 C:\Users\2000104591\.ssh

  其中 id_rsa.pub 就是SSH keys 如果為了防止以后找不到,可以把他們自己另存到其它地方

 

8. 為github倉庫添加SSH keys

SSH keys創建好了,我們還要把它添加到倉庫里去

打開6.1創建的倉庫,點擊6.2時點擊的右側的'Settings',再左側的'Deploy keys':

   

點擊'Add deploy key':

然后把7創建的id_rsa.pub里的內容復制到Key里去,Title部分隨便填. 點擊'Add key'

添加的過程中,還要再輸入一次github的密碼

  

 

9. 測試連接

回到git bash

執行: 

ssh -T git@github.com

它可能會出現一些亂七八糟的提示,最后是問你yes/no,就輸入yes.

如果是這樣子叫你輸入密碼.那這個密碼就是在7.2里面設置的那個密碼,就輸入一下就好了

Enter passphrase for key '/c/Users/2000104591/.ssh/id_rsa':

最后它提示你:

Hi, 用戶名/用戶名.github.io! You've successfully authenticated, but GitHub does notprovide shell access.

這樣就算ok了~~~

 

10.配置_config.yml文件並發布:

在 E:\hexo 下,有一個文件叫 _config.yml ,打開它,拉到最底下,做如下修改: 

deploy:
  type: github //改成github
  repository: https://github.com/jinyanhuan/jinyanhuan.github.io    //改成自己的用戶名
  branch: master    

配置完以后還是在E:\hexo下執行:

hexo generate

hexo deploy

 

執行完以后,如果報錯 Error: Deployer not found : github,則執行如下命令:

npm install hexo-deployer-git --save

同時修改 _config.yml :

deploy:
  type: git //改成github   

然后再執行:

hexo generate

hexo deploy

然后訪問: http://jinyanhuan.github.io/ (用戶名改成自己的),就可以看到了.

注意,每次修改本地文件后,需要  hexo generate  才能保存。每次使用命令時,都要在 E:\hexo 目錄下 

 

好了,雖然搞了這么多,但這只是一個開始~~~  慢點繼續搭建~~~

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

2015 - 02 - 16 補充:

一. 如果需要在多台電腦上安裝hexo:

1.執行步驟1-5

2.復制一個原來就有的ssh key到新的電腦.或者在新電腦上生成一個新的ssh key,添加到對應的github博客倉庫里.

3.把原來的hexo目錄下東西復制到新的電腦里.

 

二. hexo可能更新過了,所以老的hexo可能會報錯:

{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

解決辦法,執行:

npm install hexo --no-optional

 

 

 

以上搭建過程共參考以下文章:

搭建過程:

http://zipperary.com/2013/05/28/hexo-guide-2/

http://jingyan.baidu.com/article/ed2a5d1f3732cb09f7be1745.html

 

SSH keys:

https://help.github.com/articles/generating-ssh-keys/

http://blog.sina.com.cn/s/blog_698b9e160100nwna.html

http://blog.csdn.net/keyboardota/article/details/7603630

http://www.freehao123.com/hexo-node-js/

 

Error:Deployer not found:github

https://github.com/hexojs/hexo/issues/1040

 

后續操作全部轉到本人的github.io博客: http://jinyanhuan.github.io/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM