介绍
本篇文章将介绍在Linux上搭建Hexo个人博客网站,并使用Github pages部署,使用的是Ubuntu,其他系统也大同小异。
Hexo部分
通过Snap安装nodejs (你也可以通过其他方式 ubuntu预装了Snap)
注意最新版Hexo需要nodejs版本至少是14
1 2
| $ sudo snap install node $ node --version
|
安装Hexo
1
| $ npm install -g hexo-cli
|
初始化新建Hexo文件夹
1 2 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用户信息
1 2
| $ git config --global user.name "你的名字" $ git config --global user.email "你的邮箱@gmail.com"
|
克隆你刚刚创建的仓库到本地
1
| $ git clone 你Github的仓库地址
|
把刚刚Hexo建的文件夹里的内容复制到你的本地仓库文件夹
1 2 3
| $ mv -v HexoInit/* MyHexoBlog/ $ mv -v HexoInit/.[!.]* MyHexoBlog/ $ cd MyHexoBlog
|
创建GitHub Actions配置文件
1 2 3
| $ cd .github $ mkdir -p workflows && touch workflows/pages.yml $ xed workflows/pages.yml
|
修改pages.yml内容为以下内容
1 2 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仓库
1 2 3
| $ cd .. $ git commit $ git push -u origin main
|
如果成功即可访问你的网站 通常是 用户名.github.io
相关链接
Hexo中文文档
Github