hexo+butterfly+Qexo后端+github自动化👍

参考:

https://www.oplog.cn/qexo/ (官网)
https://blog.kwxos.top/posts/18807.html (只此一篇即可👍 )

概览:

  • 新建两个仓库一个放博客源文件 一个存放静态文件
    存放源文件仓库:qexo-blog-source此仓库需设置为私有
    存放静态文件仓库:zznn-cloud.github.io 此仓库公开
  • 常规部署方式hexo clean && hexo g && hexo d将静态文件推送到仓库zznn-cloud.github.io
  • 使用Git或者vscode等工具将博客源文件推送到仓库qexo-blog-source
  • 源文件仓库qexo-blog-source .github下新建Github Action配置文件
  • 使用Vercel部署qexo管理博客
  • 浏览器访问zznn-cloud.github.io 此时部署完成

note: 关于博客如何搭建及Github pages如何使用相对简单本文不做介绍

一. 两个仓库配置

  1. 公开仓库zznn-cloud.github.io静态文件推送较为简单此处略

  2. github-token生成此token填入下方action配置文件(配置永不过期以及下方权限)

  3. 私有仓库qexo-blog-source只需要push下方文件即可

  4. 私有仓库.github目录新建配置文件如下

    配置如下

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    name: 自动部署
    # 当有改动推送到main分支时,启动Action
    on:
    push:
    branches:
    - main
    #2020年10月后github新建仓库默认分支改为main,注意更改
    release:
    types:
    - published

    jobs:
    deploy:
    runs-on: ubuntu-latest
    steps:
    - name: 检查分支
    uses: actions/checkout@v2
    with:
    ref: main

    - name: 安装 Node
    uses: actions/setup-node@v1
    with:
    node-version: "16.x"

    - name: 安装 Hexo
    run: |
    export TZ='Asia/Shanghai'
    npm install hexo-cli -g

    - name: 缓存 Hexo
    id: cache-npm
    uses: actions/cache@v3
    env:
    cache-name: cache-node-modules
    with:
    path: node_modules
    key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
    restore-keys: |
    ${{ runner.os }}-build-${{ env.cache-name }}-
    ${{ runner.os }}-build-
    ${{ runner.os }}-

    # Install pandoc for mathjax (Optional)
    - name: Install pandoc
    run: |
    cd /tmp
    wget -c https://github.com/jgm/pandoc/releases/download/2.14.0.3/pandoc-2.14.0.3-1-amd64.deb
    sudo dpkg -i pandoc-2.14.0.3-1-amd64.deb

    - name: 安装依赖
    if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }}
    run: |
    # npm install gulp-cli -g #全局安装gulp
    npm install --save

    # - name: 修改双栏插件的CDN
    # run: |
    # sed -i "s/cdn.jsdelivr.net/blogresource.sqwdream.top\/cdn.jsdelivr.net/g" node_modules/hexo-butterfly-article-double-row/index.js

    - name: 生成静态文件
    run: |
    hexo clean
    hexo bangumi -u #bilibili番剧更新
    hexo generate
    # gulp

    - name: 部署到Github
    uses: JamesIves/github-pages-deploy-action@v4
    with:
    token: github-token # github高权限token
    repository-name: zznn-cloud/zznn-cloud.github.io
    branch: main
    folder: public
    commit-message: "${{ github.event.head_commit.message }} Updated By Github Actions"

二. Qexo部署及配置

  1. 此处申请vercel免费的数据库作为存储数据使用

  2. 使用vercel函数计算部署Qexo前端

    Note:上方两步骤较为简单本文不做介绍

  3. 一键部署Qexo传送门(New Project – Vercel

  4. Qexo写博客参数留存

三. 扩展😘

Qexo logo等信息

Github图床设置

https://github.com/Qexo/Qexo/wiki/%E5%9B%BE%E5%BA%8A%E9%85%8D%E7%BD%AE

1
2
3
4
5
6
7
8
9
10
# 仓库
zznn-cloud/zznn-cloud-blog-images
# 分支
main
# 高权限token
ghp_Qknm...................
# 保存路径
Qexo/{year}/{month}/{filename}_{md5}.{extName}
# 自定义域名
https://github.com/zznn-cloud/zznn-cloud-blog-images/raw/main/Qexo/{year}/{month}/{filename}_{md5}.{extName}

https://github.com/zznn-cloud/zznn-cloud-blog-images/raw/main/Qexo/24/1/image_3292d63d8f8d8a13d3e5c4da5693056e.png

结语:Qexo是一个极其好用的hexo管理平台感谢维护此项目大佬们的贡献👍 。