前言
一般故事的開始,都要有好多準備工作,在使用Hexo之前,你要做好如下準備:
- 註冊GitHub賬號
- 電腦安裝
node.js
、npm
或cnpm
- 電腦安裝git
利用好GitHub Pages,讓你免費光速搭建私人博客,點擊查看效果預覽
GitHub上的操作
創建博客倉庫
- 新建倉庫
username.github.io
,其中username必須是你的github用戶名 - 在倉庫Settings頁面找到GitHub Pages頁面,Choose a theme並保存
- 此時訪問
username.github.io
,就可以看到你的博客頁面了
綁定域名
- 還是在倉庫Settings頁面找到GitHub Pages頁面,Custom domain輸入框內輸入你的域名
- 爲自己的域名添加DNS解析,一般有兩種類型
- CNAME:將你自己的域名指向另一個域名,也就是
username.github.io
- A:將你自己的域名指向一個ip(可以ping
username.github.io
的ip)
- CNAME:將你自己的域名指向另一個域名,也就是
配置SSH
- 在git bash窗口中輸入命令
cd ~/.ssh
- 如果提示
No such file or directory
,則執行命令h-keygen -t rsa -C "your github email"
- 連續按三次回車
- 在C盤本用戶目錄文件夾下打開
.ssh\id_rsa.pub
文件,複製所有內容 - 打開GitHub,點擊右上角頭像,選擇Settings
- 選擇
SSH and GPG keys
,點擊New SSH key
- 鏈貼剛纔複製的內容,並取一個名字(隨意)
測試SSH
ssh -T [email protected] # 注意郵箱地址不用改
如果提示Are you sure you want to continue connecting (yes/no)?
,輸入yes,然後會看到:Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
看到這個信息說明SSH已配置成功!此時你還需要配置:
git config --global user.name "youusername"// 你的github用戶名,非暱稱
git config --global user.email "[email protected]"// 填寫你的github註冊郵箱
使用Hexo
安裝Hexo
- 新建你博客的本地文件夾
- 在文件夾根目錄內右鍵打開git bash窗口
- 按順序執行以下三條命令(可用cnpm代替npm可以加速)
npm install hexo-cli -g
hexo init
npm install
新建完成後,指定文件夾的目錄如下:
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
此時按順序執行以下兩條命令,其中第一條用來生成靜態文件,第二條用來啓動本地服務器。在瀏覽器訪問http://localhost:4000/
,可以預覽當前博客的效果。
hexo g
hexo s
上傳到github
配置站點配置文件_config.yml
中有關deploy的部分,其中username
改爲自己的github用戶名。
deploy:
type: git
repository: [email protected]:username/username.github.io.git
branch: master
在博客本地文件夾的source
子文件夾內,新建CNAME
文件,注意不要後綴名,文件內容填寫你自己綁定github.io的那個域名。
按順序執行以下命令:
npm install hexo-deployer-git --save
hexo g -d
查看博客
現在在瀏覽器打開你自己的域名,就可以看到Hexo爲你渲染的博客啦。
自定義主題配置,可參考其他教程,也可以download我的github倉庫查看(注意在hexo-blog分支下)。點擊訪問
常用hexo命令
hexo g -d #一鍵生成並部署,最常用
hexo new "postName" #新建文章
hexo new page "pageName" #新建頁面
hexo g #生成靜態頁面至public目錄
hexo s #開啓預覽訪問端口(默認端口4000,'ctrl + c'關閉server)
hexo d #部署到GitHub
hexo clean #清理舊文件
注意新建的博客markdown文件都在
source
文件夾下的_posts
子文件夾中