Hexo學習筆記 —— 多端同步、Github Pages部署、更改主題、評論功能(一)

舊的博客是用Typecho做的,什麼都挺好,就是這個博客沒法直接上載.md文件,備份也顯得挺麻煩。

在15年的時候嘗試搭建Hexo博客,那時候的Hexo的配置流程比現在復雜特別多。現在比之前方便多了,想着要不要遷移到Hexo。

基本了解

Hexo主要由三個部分組成

  • 生成端
    • 生成更新後的博客靜態頁面
  • 推送端
    • 負責把靜態頁面推送到網頁
  • 網頁端
    • 提供網頁瀏覽服務

一般生成端和推送端整合在一起,網頁端獨立部署在虛擬主機或者Github Pages、Coding Pages上。
但是文章內容都是保存在生成端的source/_posts,要是換一臺機子就沒法同步文章,也沒法推送文章。

安裝hexo

首先需要安裝nodejs與npm,在官網上也有不同系統使用包管理器安裝的指引

1
2
3
4
5
6
7
8
9
10
11
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

# Using RHEL, CentOS, CloudLinux and Fedora, as root

curl -sL https://rpm.nodesource.com/setup_12.x | bash -

安裝完nodejs之後使用node -vnpm -v查看nodejs與npm的版本。可以使用npm install npm進行升級,然後使用npm安裝hexo。

1
2
3
4
5
6
7
8
mkdir blog && cd blog
npm install -g hexo-cli

hexo init #初始化hexo
#輸入以下命令檢查網站雛形
hexo new test
hexo g #構建靜態頁面
hexo s #開啓服務器

完成之後在瀏覽器輸入網址localhost:4000。應該會看到生成的test頁面和hello world頁面。

hexo的目錄結構如下

1
2
3
4
5
6
7
8
|-- _config.yml #配置文件
|-- package.json #hexo的依賴,插件信息也保存在這文件內
|-- scaffolds #標準模板,一般不需要關心
|-- source #資源目錄,文章與各種附件也都保存在這
|-- _posts #文章文件夾
|-- themes #主題
|-- .gitignore #git同步的時候忽略的目錄與文件
|-- public #生成後的靜態博客文件夾

常用的命令有以下幾條

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
npm install hexo -g #安装Hexo
npm update hexo -g #升级
hexo init #初始化博客

#命令简写
hexo n "我的博客" == hexo new "我的博客" #新建文章
hexo g == hexo generate #生成
hexo s == hexo server #啓動伺服器
hexo d == hexo deploy #推送部署

hexo server #Hexo監視文件變動並自動更新,無需重啓服務器
hexo server -s #靜態模式,只監視public文件夾下的內容
hexo server -p 5000 #更改端口
hexo server -i 192.168.1.1 #自定義 IP
hexo clean #清除緩存

而_posts內.md文件的文章大致結構如下

1
2
3
4
5
6
7
8
9
10
---
title: [標題]
date: [YYYY-MM-DD HH:MM:SS]
tags:
- [tag1]
- [tag2]
- [tag3]
categories: [分類]
---
[文章內容]

推送網站

剛剛介紹文件目錄結構提到有一個_config.yml配置文件,使用atom或你喜歡的編輯器打開這個文件,在最後幾行會看到以下字樣

1
2
3
deploy:
type: #推送類型
repo:

這個就是hexo自帶的網站推送功能的配置行,這次我使用Github中自帶的Github Pages當作網頁端,而這需要安裝hexo的git推送插件

1
npm install hexo-deployer-git --save

然後修改_config.yml

1
2
3
4
deploy:
type: git
repo: yourname.github.com
branch: master

可以看這裏查看如何配置Github以實現二級域名訪問

其他的部署渠道可以在這裏查看如何部署

修改完_config.yml後,分別輸入以下三條命令

1
2
3
hexo clean
hexo g
hexo d

然後你的第一次部署便完成了。訪問 yourname.github.com,應該可以看到你部署的hexo博客了。

接下來要處理的是如何同步多端