從一個小白開始搭建個人博客,期間參考了不少博客,踩了無數坑才搭起來的,現在總結下,希望能幫助大家少踩點坑。
一、整體流程:
二、具體實現:
1、配置環境
- 1、 Node.js 安裝
- 用來生成靜態頁面。移步Node.js官網,下載左邊穩定版的就可以,按照提示安裝即可。
- 在終端里面輸入
node -v
,可以查看node.js版本,以此來驗證是否安裝成功 - 也可以按照hexo文檔上提示用命令行安裝Node.js
- 2、 git安裝
- Mac電腦自帶git,如果沒有可以參考上hexo官網的安裝方法
- 在終端里面輸入
git --version
,可以查看git版本,以此來驗證是否安裝成功
2、安裝hexo
<span style="color:red">必須確保Node.js和Git都安裝好才可以正式安裝Hexo了<span>
Node.js和Git都安裝好,在終端執行如下命令:
sudo npm install -g hexo
輸入管理員密碼(Mac登錄密碼)即開始安裝 (sudo:linux系統管理指令 -g:全局安裝)
注意坑一、Hexo官網上的安裝命令是$ npm install -g hexo-cli,安裝時不要忘記前面加上sudo,否則會因為權限問題報錯。
- 在終端里面輸入
hexo -v
,可以查看hexo版本,以此來驗證是否安裝成功
3、hexo本地配置,實現本地發布、預覽
完成hexo的本地配置,即可實現本地的靜態博客,實現發布文章、預覽文章。
- 初始化
終端cd到一個你選定的目錄,執行hexo init命令:
hexo init blog
blog是你建立的本地博客文件夾名稱。 - 安裝npm
cd到blog文件夾下,執行如下命令,安裝npm:(NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題)
npm install
- 發布文章
在終端執行如下命令,發布文章:
hexo new "test" #發表文章
test是文章名字,默認是markdown的.md格式,名字盡量不要使用漢字。
test.md會默認生成在blog/source/_post文件夾下。以后發布文章都要在這個_post文件夾下,也可以把文章寫好后直接拖到這個文件夾下。 - 生成靜態頁面
hexo generate 或者 hexo g #生成靜態頁面,生成的內容在public文件夾下
此時若出現如下報錯:
ERROR Local hexo not found in ~/blog
ERROR Try runing: 'npm install hexo --save'
則執行命令:
`npm install hexo --save`
若無報錯,自行忽略此步驟。
- 開啟hexo服務器
hexo s 或者 hexo serve
此時,瀏覽器中打開網址http://localhost:4000,就能看到博客內容
4、關聯Github
- 1、創建倉庫
登錄你的Github帳號,新建倉庫,名為 ”用戶名.github.io“ 固定寫法,如sunny-xl.github.io 。用戶名必須和你的github的用戶名username一致,注意這個username是您github主頁上地址欄后顯示的那個username。 - 2、把本地博客和github新建的倉庫地址關聯起來
此時,本地blog
文件夾下內容為:
_config.yml
node_modules
package.json
public
scaffolds
source
themes
1、修改_config.yml內容,關聯github
我是用的Sublime Text,強烈推薦使用,支持很多語言格式
終端cd到blog文件夾下,vim打開_config.yml,命令如下:
vim _config.yml
打開后往下滑到最后,修改成下邊的樣子:
deploy:
type: git
repository: https://github.com/sunny-xl/sunny-xl.github.io.git
branch: master
message: 'Daily updated:{{now("YYYY-MM-DD HH:mm:ss")}} by sunny'
你需要在repository后填寫你剛才建立的倉庫地址,可以用https地址,也可以用ssh地址。hexo 3.1.1版本后type:值為git。
注意坑二:在配置所有的_config.yml文件時(包括theme中的),在所有的冒號:后邊都要加一個空格,否則執行hexo命令會報錯,切記 切記
2、博客部署到github上
在blog文件夾目錄下執行生成靜態頁面命令:
hexo g
再執行部署命令:
hexo deploy 或者:hexo d
注意坑三:若執行命令hexo deploy仍然報錯:無法連接git或找不到git,則執行如下命令來安裝hexo-deployer-git:
npm install hexo-deployer-git --save
再次執行hexo generate和hexo deploy命令。
若你未關聯Github,則執行hexo deploy命令時終端會提示你輸入Github的用戶名和密碼,即
Username for 'https://github.com':
Password for 'https://github.com':
hexo d
命令執行成功后,瀏覽器中打開網址https://sunny-xl.github.io(將sunny-xl換成你的賬戶名)能看到和打開http://localhost:4000
時一樣的頁面
至此,搭建基于Github Pages的Hexo博客就完成了。下面的內容是介紹安裝theme,如果有興趣且還有耐心的話,請繼續吧。
5、配置hexo的主題
你可以到Hexo官網主題頁去搜尋自己喜歡的theme。這里以hexo-theme-next為例
- 下載next主題
終端cd到 blog 目錄下執行如下命令:
git clone https://github.com/iissnan/hexo-theme-next themes/next
- 修改配置
將blog目錄下_config.yml里theme的名稱landscape修改為next即可。
終端cd到blog目錄下執行如下命令(每次部署文章的步驟):
hexo clean //清除緩存文件 (db.json) 和已生成的靜態文件 (public)
hexo g //生成緩存和靜態文件
hexo d //重新部署到服務器
至于更改theme內容比如名稱、描述、頭像等去修改blog/_config.yml文件和blog/themes/next/_config.yml文件中對應的屬性名稱即可, 不要忘記冒號:后加空格。 NexT使用文檔 里有極詳細的介紹。