介绍
本篇文章将介绍在Linux上搭建Hexo个人博客网站,并使用Github pages部署,使用的是Ubuntu,其他系统也大同小异。
Hexo部分
通过Snap安装nodejs (你也可以通过其他方式 ubuntu预装了Snap)
注意最新版Hexo需要nodejs版本至少是14
| 12
 
 | $ sudo snap install node$ node --version
 
 | 
安装Hexo
| 1
 | $ npm install -g hexo-cli
 | 
初始化新建Hexo文件夹
| 12
 3
 
 | $ hexo init HexoInit$ cd HexoInit
 $ npm install
 
 | 
可以在 _config.yml 修改网站配置
测试并访问 
访问 http://localhost:4000/ 如果没问题即可CTRL+C退出
Github pages部分
去Github上新建一个仓库,名称随意,例如 MyHexoBlog
在Github仓库中Settings-Pages-Build and deployment中将Source改成GitHub Actions
安装git
安装Github Cli
根据提示登陆
配置git用户信息
| 12
 
 | $ git config --global user.name "你的名字"$ git config --global user.email "你的邮箱@gmail.com"
 
 | 
克隆你刚刚创建的仓库到本地
| 1
 | $ git clone 你Github的仓库地址
 | 
把刚刚Hexo建的文件夹里的内容复制到你的本地仓库文件夹
| 12
 3
 
 | $ mv -v HexoInit/* MyHexoBlog/$ mv -v HexoInit/.[!.]* MyHexoBlog/
 $ cd MyHexoBlog
 
 | 
创建GitHub Actions配置文件
| 12
 3
 
 | $ cd .github$ mkdir -p workflows && touch workflows/pages.yml
 $ xed workflows/pages.yml
 
 | 
修改pages.yml内容为以下内容
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 
 | name: Pages
 on:
 push:
 branches:
 - main  # default branch
 
 jobs:
 build:
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v4
 with:
 token: ${{ secrets.GITHUB_TOKEN }}
 # If your repository depends on submodule, please see: https://github.com/actions/checkout
 submodules: recursive
 - name: Use Node.js 20
 uses: actions/setup-node@v4
 with:
 # Examples: 20, 18.19, >=16.20.2, lts/Iron, lts/Hydrogen, *, latest, current, node
 # Ref: https://github.com/actions/setup-node#supported-version-syntax
 node-version: '20.12.2'
 # 在这里把node版本改成你的
 - name: Cache NPM dependencies
 uses: actions/cache@v4
 with:
 path: node_modules
 key: ${{ runner.OS }}-npm-cache
 restore-keys: |
 ${{ runner.OS }}-npm-cache
 - name: Install Dependencies
 run: npm install
 - name: Build
 run: npm run build
 - name: Upload Pages artifact
 uses: actions/upload-pages-artifact@v3
 with:
 path: ./public
 deploy:
 needs: build
 permissions:
 pages: write
 id-token: write
 environment:
 name: github-pages
 url: ${{ steps.deployment.outputs.page_url }}
 runs-on: ubuntu-latest
 steps:
 - name: Deploy to GitHub Pages
 id: deployment
 uses: actions/deploy-pages@v4
 
 | 
提交到Github仓库
| 12
 3
 
 | $ cd ..$ git commit
 $ git push -u origin main
 
 | 
如果成功即可访问你的网站 通常是 用户名.github.io
相关链接
Hexo中文文档
Github