搭建hexo部署到github圖文教程 親測(cè)可用超詳細(xì)
很多網(wǎng)友想搭建Hexo博客并部署到Github,但是總是遇到各種問(wèn)題,那么下面小編就帶來(lái)這“史上最詳細(xì)“截圖”搭建Hexo博客并部署到Github”教程吧。
工具/原料
Windows(Mac也是差不多,可參照)、Git、Node.js。
安裝Hexo
1、利用 npm 命令即可安裝。在任意位置點(diǎn)擊鼠標(biāo)右鍵,選擇Git Base。
2、輸入命令:
npm install -g hexo
注意:-g是指全局安裝hexo。
創(chuàng)建Hexo文件夾
安裝完成后,在你喜愛(ài)的文件夾下(如C:\Hexo),執(zhí)行以下指令(在C:\Hexo內(nèi)點(diǎn)擊鼠標(biāo)右鍵,選擇Git Bash),Hexo 即會(huì)自動(dòng)在目標(biāo)文件夾建立網(wǎng)站所需要的所有文件。
hexo init
安裝依賴(lài)包
npm install
本地查看
現(xiàn)在我們已經(jīng)搭建起本地的hexo博客了,執(zhí)行以下命令(在C:\Hexo),然后到瀏覽器輸入localhost:4000看看。
hexo generate
hexo server
注冊(cè)Github賬號(hào)
這里不演示了。
創(chuàng)建Repository
創(chuàng)建的時(shí)候注意Repository的名字。比如我的Github賬號(hào)是angelen10,那么我應(yīng)該創(chuàng)建的Repository的名字是:angelen10.github.io。
修改配置文件
1、到你剛剛創(chuàng)建的Repository下,找到以下內(nèi)容:
2、先點(diǎn)擊HTTPS,然后復(fù)制里面的地址。然后編輯_config.yml文件(在C:\Hexo下)。
3、修改文件里面的deploy。其中的repository就改成你剛剛復(fù)制的地址。保存這個(gè)文件。
設(shè)置SSH keys
配置SSH的官方教程是:https://help.github.com/articles/generating-ssh-keys/
1、在Git Bash輸入以下指令(任意位置點(diǎn)擊鼠標(biāo)右鍵),檢查是否已經(jīng)存在了SSH keys。
ls -al ~/.ssh
2、如果不存在就沒(méi)有關(guān)系,如果存在的話(huà),直接刪除.ssh文件夾里面所有文件:
3、輸入以下指令(郵箱就是你注冊(cè)Github時(shí)候的郵箱)后,回車(chē):
ssh-keygen -t rsa -C "angelen10@163.com"
4、然后它會(huì)提示要你輸入passphrase(如上圖,我沒(méi)有輸入直接回車(chē),如果你輸入的話(huà),要記得,到時(shí)候會(huì)用到)。之后,如果出現(xiàn)類(lèi)似下圖:
5、然后鍵入以下指令:
ssh-agent -s
6、繼續(xù)輸入指令:
ssh-add ~/.ssh/id_rsa
7、輸入之后,在我這里是出錯(cuò)了,不知道你的有沒(méi)有出錯(cuò)。
8、如果你的也是這樣子出錯(cuò)了的話(huà),就輸入以下指令:
eval `ssh-agent -s`
ssh-add
9、到了這一步,就可以添加SSH key到你的Github賬戶(hù)了。鍵入以下指令,拷貝Key(先拷貝了,等一下可以直接粘貼):
clip < ~/.ssh/id_rsa.pub
10、然后到Github里面,點(diǎn)擊右上角的設(shè)置圖標(biāo):
11、在Settings sidebar那里,點(diǎn)擊SSH keys:
12、點(diǎn)擊Add SSH key:
13、輸入Title,作為這個(gè)key的描述吧(你可以輸入Personal MacBook Air,瞬間高大上)
14、然后這個(gè)Key就是剛剛拷貝的,你直接粘貼就好(也可以文本打開(kāi)以下文件):
15、點(diǎn)擊Add Key:
16、輸入你的Github密碼即可完成SSH Key的添加。嗯,最后還是測(cè)試一下吧,鍵入以下命令:
ssh -T git@github.com
17、你可能會(huì)看到有警告,沒(méi)事,輸入“yes”就好。
(一般在添加完公鑰之后, 很多人經(jīng)常會(huì)遇到下面這種問(wèn)題:
“The authenticity of host 'github.com (192.30.252.128)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
**Host key verification failed.**
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.”
說(shuō)是主機(jī)密鑰驗(yàn)證失敗,其實(shí)這是缺少了 known_hosts 文件, 而且必須生成 github.com 的ip執(zhí)行內(nèi)容。
輸入:ssh git@github.com
然后看到:
The authenticity of host 'github.com (192.30.252.131)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes #這里寫(xiě) yes
Warning: Permanently added 'github.com,192.30.252.131' (RSA) to the list of known hosts.
Permission denied (publickey)。
然后 .ssh 目錄里將是三個(gè)文件,這樣再連的時(shí)候就沒(méi)事了。)
完成部署
最后一步,快要成功了,鍵入指令:
hexo generate
hexo deploy
(有一些用戶(hù)在hexo deploy之后會(huì)有個(gè)這個(gè)提示:
那么我們要輸入我們?cè)趃it上驗(yàn)證的郵箱:
如上圖!再次hexo deploy,就發(fā)布上去了。)
OK,我們的博客就已經(jīng)完全搭建起來(lái)了,在瀏覽器輸入(你的用戶(hù)名,下面是我的演示):
http://checkfrank.github.io/
注意:每次修改本地文件后,需要鍵入hexo generate才能保存。每次使用命令時(shí),都要在C:\Hexo目錄下。每次想要上傳文件到Github時(shí),就應(yīng)該先鍵入hexo generate保存之后,再鍵入hexo deploy。大概成功之后是醬紫的:
對(duì)了,記住上圖的Username是你的Github賬號(hào)名稱(chēng),而不是郵箱;Password就是你的Github的密碼。
bugs
1.有網(wǎng)友反應(yīng)右鍵菜單中沒(méi)有 git bash 選項(xiàng),可以進(jìn)入開(kāi)始菜單找到 git bash ,然后通過(guò) cd 進(jìn)入相應(yīng)目錄執(zhí)行命令。
2.在github部署完成之后,馬上訪(fǎng)問(wèn)可能出現(xiàn)404錯(cuò)誤,這是正常的,(最多)等待十分鐘左右就可以訪(fǎng)問(wèn)了。如果還不行,那很可能是 github 發(fā)送給你的驗(yàn)證郵件你沒(méi)有打開(kāi)看,據(jù)多方反映,驗(yàn)證后就沒(méi)問(wèn)題了。
3.如果在 hexo d 之后出現(xiàn) fatal: 'username.github.io' does not appear to be a git repository ,一是檢查 repo 的名字是否合乎規(guī)范、是否含有大寫(xiě)字母、config.yml 中的 deploy 配置是否正確,二是把 git bash 關(guān)掉,重新打開(kāi)再執(zhí)行命令。
4.有的同學(xué)可能不是 IT 界的,或者對(duì)shell 命令不太了解。在要求輸入密碼時(shí),你輸入之后密碼是不顯示的,這是為了安全,并非是你沒(méi)輸上。
5.出現(xiàn)亂碼的,不要使用 windows 中的「記事本」打開(kāi)并編輯文件,推薦使用 sublime text,很簡(jiǎn)單。如果已經(jīng)在「記事本」中編輯過(guò),需要使用 sublime text 轉(zhuǎn)碼為「utf8」。
6.安裝 hexo 時(shí)卡在那兒不動(dòng),很可能是網(wǎng)絡(luò)不給力,能全局 break wall 就好了。
7.遇到什么其他的問(wèn)題,不妨刪除.deploy 和db.json 再重新生成試一試。
Tips
hexo現(xiàn)在支持更加簡(jiǎn)單的命令格式了,比如:
hexo g == hexo generate
hexo d == hexo deploy
hexo s == hexo server
hexo n == hexo new
注意事項(xiàng)
這篇和官方的說(shuō)法有一點(diǎn)不一樣,不過(guò)這是成功之談。
查看所有0條評(píng)論>>