准備工作
-
安裝完Node.js Node.js
-
安裝git bash工具 git bash 工具
-
安裝hexo
新建一個存放blog所有東西的文件夾, 右鍵git Bash Here
輸入安裝過hexo命令 npm install -g hexo-cli
安裝完成后,查看版本 heox -v
搭建工作
初始化hexo,在剛才的文件夾中打開git bash輸入命令(git bash打開后
因為一直要用,所以不要動不動就關閉掉):
hexo init
- node_modules:為hexo的插件目錄,作用是利用此目錄的插件生成
對應功能的靜態HTML等腳本代碼。 - scaffolds:模版文件。每次新建文章時,Hexo 會嘗試在 scaffolds 文件夾中尋找同名文件,並根據其內容建立文章。所以可以在這里添加自己的 layout,作為常用的新建模板使用。
- source:這個文件夾是放文章和圖片等資源文件的。
- themes:存放主題的文件夾
- _config.yml:站點配置文件,很多全局配置都在這個文件中。
啟動本地服務
hexo server
生成靜態文件
此步是為了上傳到碼雲做的。因為目前只能自己在本地訪問博客,但是想讓其他人看到就要結合碼雲(github或者coding)來做了。
還是在咱們blog的文件夾中打開git bash輸入命令:
hexo generate
(或懶人模式直接輸入hexo g
)
目錄中就會多出一個public文件夾
部署靜態Html文件到碼雲
將網站部署到服務器上
npm install hexo-deployer-git --save
配置根目錄_config.jml文件 ( branch和message這兩個寫不寫都可以)
-
在blog文件夾中打開git bash輸入命令
git config --global user.email '1392263019@123.com'
git config --global user.name 'cjwnb'
hexo deploy
會彈出輸入碼雲賬號密碼的對話框, 輸入正確的用戶名和密碼
- 一般沒有報錯就是部署成功了
-
然后開啟碼雲的Pages功能
如果出現頁面無法渲染的情況
- 修改配置文件
-
上傳到碼雲
hexo generate --deploy
-
在碼雲上Gitee Pages 服務重啟
配置主題
# 安裝主題
$ git clone -b master https://github.com/Molunerfinn/hexo-theme-melody themes/melody
$ vim _config.yml
theme: melody
# 安裝頁面渲染插件
$ npm install hexo-renderer-jade hexo-renderer-stylus --save
# 復制主題配置文件
$ mkdir -p source/_data/
$ cp themes/melody/_config.yml source/_data/melody.yml
官方文檔: https://molunerfinn.com/hexo-theme-melody-doc/zh-Hans/quick-start.html#%E5%AE%89%E8%A3%85
本地圖片本地調用
在source下新建目錄img, 在進行調用時候通過url絕對路徑本地調用
-
markdown博客文件調用本地圖片
https://cjw1219.gitee.io/hexoblog/img/1/s14.png
-
博客的封面圖調用本地圖片
top_img: http://cjw1219.gitee.io/hexoblog/img/background.jpeg
添加本地搜索
-
安裝依賴包
$ npm install hexo-generator-searchdb --save
-
修改全局配置文件
_config.yml
search: path: search.xml field: post format: html limit: 10000
-
修改主題配置文件
melody.yml
local_search: enable: true labels: trigger: auto top_n_per_article: 1
評論區配置
配置valine評論區
-
注冊learncloud並創建應用
https://leancloud.cn/dashboard/login.html#/signup
-
復制應用key的信息復制到主題配置文件
source/_data/melody.yml
valine: enable: true # if you want use valine,please set this value is ture appId: MslkdllkC3iiMdddsdsdMnJNaAE-oHsz50sjkdjk appKey: sdlkfjfddsljkdjksdkhjsj notify: false # valine mail notify (true/false) https://github.com/xCss/Valine/wiki verify: false # valine verify code (true/false) pageSize: 10 # comment list page size avatar: mm # gravatar style https://valine.js.org/#/avatar lang: zh-cn # i18n: zh-cn/en placeholder: Just go go # valine comment input placeholder(like: Please leave your footprints ) guest_info: nick,mail,link #valine comment header inf
-
將博客的域名寫入到 learncloud的應用的 web安全域名中
域名綁定
-
本地新建CNAME文件, 沒有擴展名, CNAME文件寫去掉http:// 的域名
-
在碼雲中自定義域名(收費)
-
在域名中配置解析地址
-
通過命令
ping gitee.gitee.io
獲取對應的公網地址 -
阿里雲-域名中配置解析到上面獲得的公網地址, 分別解析主機類型
@
和www
-
報錯信息
CRLF問題
Git提交代碼發生LF will be replaced by CRLF in 問題
-
原因
需要提交的文件是在windows下生成的,windows中的換行符為 CRLF, 而在linux下的換行符為LF,所以在執行add . 時出現提示
-
解決方案
執行
git config --global core.autocrlf false
, 再提交
頁面出現亂碼
-
解決
設置全局配置文件
_config.yml
language: zh-Hans
-
可以在主題路徑下
themes\melody\languages
查看該主題支持的語言
wordcount問題
在主題配置文件中 _melody.yml
中 將wordcount
中的enable
設置為true
, 在提交代碼時候報wordcount
相關問題
wordcount:
enable: true
-
解決
安裝
wordcount
依賴包$ npm i --save hexo-wordcount