原來(lái)發(fā)了一個(gè)關(guān)于Hexo搭建博客系列的總綱,想要搭建個(gè)人博客的同學(xué),建議直接根據(jù)官方文檔(https://hexo.io/zh-cn/docs/)搭建博客,本文針對(duì)Windows系統(tǒng)補(bǔ)充講解一些個(gè)人設(shè)置。
Hexo是一個(gè)開(kāi)源的博客框架,是一位臺(tái)灣小哥(tommy351)在大學(xué)時(shí)開(kāi)發(fā)出來(lái)的。我們可以直接基于這個(gè)框架,選擇一個(gè)自己喜歡的主題,修改一些配置,就搭建出一個(gè)博客了。我使用的是NexT主題,最終效果可看我的博客:https://depp.wang。個(gè)人博客是也通過(guò)Jekyll和WordPress搭建,但是Hexo簡(jiǎn)單免費(fèi),建議使用Hexo。
Hexo搭建的博客是靜態(tài)的,沒(méi)有后臺(tái)代碼,所以速度很快。
安裝Git+NodeJS環(huán)境
Hexo是基于Node.js的靜態(tài)博客生成器,所有需要提前安裝Node.js,可使用命令行下載(詳見(jiàn)官方文檔教程),最好下載長(zhǎng)期維護(hù)版,地址:
https://nodejs.org/zh-cn/
Hexo是在本地使用MarkDown語(yǔ)法寫(xiě)博客,再使用Git發(fā)布到遠(yuǎn)程代碼托管平臺(tái)上,如GitHub。
需要安裝Git,一個(gè)代碼管理工具。以下所有命令均是在Git Bash(Git命令行窗口)中執(zhí)行的。下載地址:
https://git-scm.com/downloads //官方地址,速度應(yīng)該比較慢
https://github.com/waylau/git-for-win //github下載地址
推薦一個(gè)廖雪峰大神的Git經(jīng)典入門(mén)教程,講得非常好,學(xué)完肯定對(duì)git原理了然于胸。
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
Hexo配置使用
Hexo安裝
當(dāng)Node.js安裝完畢后,在任意文件夾鼠標(biāo)右擊選擇Git Bash Here打開(kāi)Git命令行,執(zhí)行如下命令安裝Hexo:
$ npm install -g hexo-cli
初始化博客
新建一個(gè)文件夾(如E:\Hexo,以下教程都以這個(gè)目錄為博客根目錄),在博客根目錄下點(diǎn)擊鼠標(biāo)右鍵,選擇Git Bash Here,執(zhí)行如下命令,如果以下命令執(zhí)行失敗,說(shuō)明你Hexo沒(méi)有安裝成功。
$ hexo init
在博客根目錄下會(huì)生成以下文件
/source:/_post中存放MarkDown編寫(xiě)的博文等源文件
/themes:存放主題文件,每個(gè)主題包含主題配置文件(_config.yml)
_config.yml:站點(diǎn)配置文件,用于配置博客信息,如網(wǎng)站信息,主題設(shè)置
在博客根目錄可執(zhí)行如下命令用于啟動(dòng)服務(wù)器,主要用來(lái)本地預(yù)覽:
hexo g #完整命令為hexo generate,用于生成靜態(tài)文件(即public文件夾)
hexo s #完整命令為hexo server,將上面的文件部署到本地服務(wù)
瀏覽器訪(fǎng)問(wèn)http://localhost:4000,你會(huì)看見(jiàn)一個(gè)默認(rèn)主題是landscape的博客,可以在Git Bash中按Ctrl+C停止。

NexT主題配置使用
NexT比較簡(jiǎn)潔耐看,幾乎大多數(shù)人都喜歡。主題的官方文檔
NexT主題安裝
在博客根目錄下運(yùn)行以下命令,將下載NexT主題。
$ cd themes //切換到主題文件夾
$ git clone https://github.com/theme-next/hexo-theme-next next //將其克隆的hexo-theme-next重命名為next
Hexo 有兩份主要的配置文件(_config.yml):一份位于站點(diǎn)根目錄下,稱(chēng)為
站點(diǎn)配置文件,關(guān)鍵字站點(diǎn);另一份位于主題目錄下,稱(chēng)為主題配置文件,關(guān)鍵字主題。
建議使用Notepad++打開(kāi)配置文件,它內(nèi)存比較小、免費(fèi)。下載地址:
https://notepad-plus-plus.org/download/v7.5.9.html
修改站點(diǎn)配置文件
主要包含以下內(nèi)容:
1、新增網(wǎng)站的信息
# Site
title: DeppWang's Blog #網(wǎng)站標(biāo)題
subtitle: 這是副標(biāo)題 #網(wǎng)站副標(biāo)題
description: 堅(jiān)持分享知識(shí),堅(jiān)持留言支持 #網(wǎng)站描述
author: DeppWang #你的名字
language: zh-Hans #網(wǎng)站使用的語(yǔ)言
timezone:
2、修改博客文章的URL,默認(rèn)顯示英文,避免中文過(guò)長(zhǎng)亂碼,需要在新建文章中的Front-matter(頂部-線(xiàn)包裹區(qū)域)中新增一個(gè)字段english_title配合使用,方生效。此項(xiàng)可暫時(shí)跳過(guò)
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://depp.wang #你網(wǎng)站的URL
root: /
permalink: :year/:month/:day/:english_title/ #此處將文字url改為英文,避免中文亂碼。
permalink_defaults:
3、將標(biāo)簽和分類(lèi)名在此處對(duì)應(yīng)設(shè)置,這樣URl的中文改為對(duì)應(yīng)英文,此項(xiàng)可暫時(shí)跳過(guò)
# Category & Tag
default_category: uncategorized
category_map:
設(shè)計(jì)模式: Design Pattern #為避免分類(lèi)名稱(chēng)為中文造成URL過(guò)于冗長(zhǎng),將中文轉(zhuǎn)換成對(duì)于英文
數(shù)據(jù)庫(kù): Database
tag_map:
單例模式: Singleton Pattern #為避免標(biāo)簽名稱(chēng)為中文造成URL過(guò)于冗長(zhǎng),將中文轉(zhuǎn)換成對(duì)于英文
排序算法: Sort Algorithms
4、主題更改next
# Extensions
# Plugins: -hexo-generator-sitmap
## Themes: https://hexo.io/themes/
theme: next #主題設(shè)置,改為next
5、設(shè)置GitHub倉(cāng)庫(kù)托管路徑
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo:
github: git@yourname.github.com:yourname/yourname.github.io.git,master //博客文件存儲(chǔ)位置;注意格式
修改主題配置文件
主要修改以下內(nèi)容:
1、修改網(wǎng)址圖標(biāo),可在http://tool.lu/favicon/上設(shè)計(jì)自己的網(wǎng)址圖標(biāo),替換themes/next/source/images/文件下對(duì)應(yīng)文件
favicon:
small: /images/favicon-16x16-next.png
medium: /images/favicon-32x32-next.png
apple_touch_icon: /images/apple-touch-icon-next.png
safari_pinned_tab: /images/logo.svg
2、新增頁(yè)面標(biāo)簽、分類(lèi)選項(xiàng)
menu:
home: / || home #主頁(yè)
#about: /about/ || user #關(guān)于頁(yè)面
tags: /tags/ || tags #標(biāo)簽頁(yè)
categories: /categories/ || th #分類(lèi)頁(yè)
archives: /archives/ || archive #歸檔頁(yè)
#schedule: /schedule/ || calendar
#sitemap: /sitemap.xml || sitemap #搜索引擎抓取
#commonweal: /404/ || heartbeat #公益404
#about: /about #關(guān)于頁(yè)面(需手動(dòng)創(chuàng)建)
#search: /search #搜索頁(yè)面(需手動(dòng)創(chuàng)建)
3、根據(jù)個(gè)人喜好切換主題,以下切換為Mist主題
# Schemes
#scheme: Muse
scheme: Mist #切換為Mist主題
#scheme: Pisces
4、設(shè)置博客頭像,將頭像(如:deppwang.jpg)放在站點(diǎn)下的 /themes/next/source/images文件夾下
# Sidebar Avatar
# in theme directory(source/images): /images/avatar.jpg
# in site directory(source/uploads): /uploads/avatar.jpg
avatar: /images/deppwang.jpg #設(shè)置頭像
5、設(shè)置博客友鏈
# Blog rolls
links_title: Links
#links_layout: block
#links_layout: inline
links: #鏈接
阿里中間件團(tuán)隊(duì)博客: http://jm.taobao.org/
Jark's Blog: http://wuchong.me/
廖雪峰個(gè)人網(wǎng)站: http://www.liaoxuefeng.com/
6、設(shè)置文章中代碼主題
# Code Highlight theme
# Available value:
# normal | night | night eighties | night blue | night bright
# https://github.com/chriskempson/tomorrow-theme
highlight_theme: night #代碼主題
生成標(biāo)簽、分類(lèi)頁(yè)面
主題文件修改第2條,已經(jīng)在頁(yè)面上顯示出標(biāo)簽和分類(lèi)頁(yè)選項(xiàng),但此時(shí)還未完全成功配置。需要在站點(diǎn)下打開(kāi)Git Bash運(yùn)行分別以下命令生成標(biāo)簽和分類(lèi)頁(yè)面
hexo new page "tags"
hexo new page "categories"
在/source目錄下會(huì)生成一個(gè)tags和categories文件夾,里面包含一個(gè)index.md文件。
可用有道云筆記或其他MarkDown編譯器打開(kāi),修改title為中文名標(biāo)簽、分類(lèi)
常用hexo命令
hexo g :完整命令為hexo generate,用于生成或更新靜態(tài)文件(即public文件夾,也就是整個(gè)博客網(wǎng)站的靜態(tài)文件)
hexo d : 完整命令為hexo deploy,用于將public文件夾發(fā)布到遠(yuǎn)程代碼托管網(wǎng)站中(如GitHub)
hexo clean :用于清除靜態(tài)文件(public文件夾)。當(dāng)hexo g命令更新文件失敗時(shí),可先清除文件
hexo g -d :同時(shí)生成靜態(tài)文件,并發(fā)布,最實(shí)用
總結(jié)
Hexo主題不斷更新,各項(xiàng)配置也在變化,建議直接根據(jù)官方文檔配置。網(wǎng)上此類(lèi)教程十分豐富,可多加參考。此文不免出現(xiàn)差錯(cuò),有問(wèn)題請(qǐng)留言。