Hexo + gitHubPage +git博客搭建
之前參照網(wǎng)上的教程完成了博客的搭建。記錄下自己怎么搭建博客的。
大致流程如下:
- 環(huán)境搭建(包括Node Git)
- Github賬號注冊和配置
- 安裝配置Xexo
- 關(guān)聯(lián)Hexo 和 Github Pages
- Hexo 的常用操作
- 結(jié)束語
環(huán)境搭建
為什么要搭建環(huán)境?--因為Hexo 是一個基于Node的靜態(tài)博客系統(tǒng)
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境,可以在非瀏覽器環(huán)境下,解釋運行 JS 代碼。
在 Node.js 官網(wǎng):https://nodejs.org/en/ 下載安裝包 v6.10.3 LTS
保持默認設(shè)置即可,一路Next,安裝很快就完成了。
然后打開命令提示符,輸入 node -v、npm -v,出現(xiàn)版本號則說明 Node.js 環(huán)境配置成功!??!
然后配置Git環(huán)境:
為什么要配置Git 環(huán)境? 因為可以通過Git命令上傳內(nèi)容到GitHub上,類似大家常用的SVN.
Git 是一款免費、開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目。
在 Git 官網(wǎng):https://git-scm.com/ 下載安裝包 Git-2.13.0-64-bit.exe.
然后一直默認點next即可.
在電腦的任何地方鼠標(biāo)右鍵有個Git Bash 的東西點擊一下彈出一個控制臺輸入 git --version,出現(xiàn)git 的相關(guān)版本信息環(huán)境就搭建好了。
Github賬號注冊和配置
GitHub 是一個代碼托管平臺,因為只支持 Git 作為唯一的版本庫格式進行托管,故名 GitHub。
Github注冊:https://github.com/
然后注冊什么的就自己搞搞很簡單。
下面說明怎么配置github 里的GitHubPages:
首先創(chuàng)建一個倉庫:
點擊如圖所示:然后會讓你填Repository Name:
請注意:這里的name的格式是:你的注冊賬戶名.github.io 比如我這里的是EzHomeSixGod.github.io,創(chuàng)建成功后默認是Master分支:你也可以新開一個pages分支:
點擊1 可以新建分支,我這里沒有新建直接在master 上面的。然后點擊2 Setting配置Github Pages.
這里這個Source會自動選擇如果你是分支會是分支名。然后點擊下面的Choose Theme 即可選擇自己的主題。成功的話會有一個 https://你的賬戶名.github.io/ 就可以直接點擊訪問了。
Hexo安裝
Node, npm和Git都安裝成功, 開始安裝hexo
npm install hexo -g #-g表示全局安裝, npm默認為當(dāng)前項目路徑安裝
等待一會安裝完成后輸入
hexo --v:
如果打印出hexo的版本信息那么恭喜你安裝成功。
安裝 Hexo 完成后,請執(zhí)行下列命令來初始化 Hexo,用戶名改成你的,Hexo 將會在指定文件夾中新建所需要的文件。
hexo init EzHomeSixGod.github.io
cd EzHomeSixGod.github.io
npm install
新建完成后,指定文件夾的目錄如下:
安裝 Hexo 完成后,請執(zhí)行下列命令來初始化 Hexo,用戶名改成你的,Hexo 將會在指定文件夾中新建所需要的文件。
hexo init EzHomeSixGod.github.io
cd EzHomeSixGod.github.io
npm install
新建完成后,指定文件夾的目錄如下:
.
- ├── .deploy #需要部署的文件
- ├── node_modules #Hexo插件
- ├── public #生成的靜態(tài)網(wǎng)頁文件
- ├── scaffolds #模板
- ├── source #博客正文和其他源文件,404、favicon、CNAME 都應(yīng)該放在這里
- | ├── _drafts #草稿
- | └── _posts #文章
- ├── themes #主題
- ├── _config.yml #全局配置文件
- └── package.json #npm 依賴等
下面運行下本地Hexo:
hexo server
或者
hexo s
您的網(wǎng)站會在 http://localhost:4000 下啟動。如果 http://localhost:4000 能夠正常訪問,則說明 Hexo 本地博客已經(jīng)搭建起來了,只是本地哦,別人看不到的。下面,我們要部署到Github。
注意:執(zhí)行hexo server提示找不到該指令
解決辦法:在Hexo 3.0 后server被單獨出來了,需要安裝server,安裝的命令如下:
sudo npm install hexo-server
或者
npm install hexo -server --save
關(guān)聯(lián)Hexo 和Github pages
我們?nèi)绾巫尡镜豨it項目與遠程的github建立聯(lián)系呢?用 SSH keys
生成SSH keys
輸入你自己的郵箱地址
ssh-keygen -t rsa -C "*********@qq.com"
在回車中會提示你輸入一個密碼,這個密碼會在你提交項目時使用,如果為空的話提交項目時則不用輸入,我們按回車不設(shè)置密碼。
添加 SSH Key 到 GitHub
打開 C:\Users\.ssh\id_rsa.pub,此文件里面內(nèi)容為剛才生成的密鑰,文件名可能不一樣,大家可以看控制臺輸出的內(nèi)容,然后準(zhǔn)確的復(fù)制這個文件的內(nèi)容,粘貼到 https://github.com/settings/ssh 的 new SSH key 中
測試
可以輸入下面的命令,看看設(shè)置是否成功,git@github.com的部分不要修改:
ssh -T git@github.com
如果提示:
Hi aierui! You've successfully authenticated, but GitHub does not provide shell access.
說明配置成功。
配置Git個人信息
現(xiàn)在你已經(jīng)可以通過 SSH 鏈接到 GitHub 了,還有一些個人信息需要完善的。
Git 會根據(jù)用戶的名字和郵箱來記錄提交。GitHub 也是用這些信息來做權(quán)限的處理,輸入下面的代碼進行個人信息的設(shè)置,把名稱和郵箱替換成你自己的。
git config --global user.name "yourname"
git config --global user.email "yourqq@qq.com"
配置 Deployment
在_config.yml文件中,找到Deployment,然后按照如下修改,用戶名改成你的:
需要注意的是:冒號后面記得空一格!
Deployment
Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:yourgithubname/youtgithubname.github.io.git
branch: master
本地文件提交到 GitHub Pages
刪除舊的 public 文件
hexo clean
生成新的 public 文件
hexo generate
或者
hexo g開始部署
hexo deploye
或者
hexo d在瀏覽器中輸入 https://yourgithubname.github.io (用戶名改成你的)看到了 Hexo 與 GitHub Pages 已經(jīng)成功關(guān)聯(lián)了
注意:若上面操作失敗,則需要提前安裝一個擴展:
npm install hexo-deployer-git --save
注意2:如果在執(zhí)行 hexo d 后,出現(xiàn) error deployer not found:github 的錯誤(如下),則是因為沒有設(shè)置好 public key 所致,重新詳細設(shè)置即可。
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
在執(zhí)行hexo deploy前把在本地寫好的README.md文件復(fù)制到.deploy文件夾中,再去執(zhí)行hexo deploy。
Hexo 常用操作
這個大家可以參考官方文檔還是很詳細的。https://hexo.io/
發(fā)表一篇文章
hexo new "文章標(biāo)題"
在本地博客文件夾 source_posts 文件夾下看到我們新建的 markdown 文件。當(dāng)然,我們也可以手動添加Markdown文件在source->_deploy文件夾下,其效果同樣可以媲美hexo new
文章編輯好之后,運行生成、部署命令:
hexo clean
hexo g
hexo d
當(dāng)然你也可以執(zhí)行下面的命令,相當(dāng)于上面兩條命令的效果hexo clean
hexo d -g
結(jié)束語
其他的配置大家可以參考官方文檔,包括主題,樣式,標(biāo)簽,還有很多其他的特效。