IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    通过 GitHub Actions 实现 Hexo 定时发布

    Teacher Du发表于 2024-11-01 03:51:26
    love 0

    经常会有小伙伴说杜老师总发穿越文,确实这种发布方式会让新伙伴一脸懵,且对搜索引擎不大友好。本文讲解如何通过 GitHub Actions 变相实现 Hexo 定时发布功能!

    隐藏功能

    其实 Hexo 根配置文件有个隐藏功能,通过调整 future 值可以实现是否显示当前时间点之后的文章。

    为什么说隐藏功能,因为杜老师曾问了一圈,没一个知道的!

    默认 future: true 时发布所有文章,改为 future: false 则隐藏当前时间点之后的文章。

    需要注意的是,这里的隐藏指不生成该文章页面,而不是主页不显示。且到了文章的时间点后还需手动生成页面文件才可显示。

    定时发布

    这里借助 GitHub Actions 的计划任务功能实现,workflow 配置文件中加入如下代码即可:

    1
    2
    schedule:
    - cron: '30 16 * * *'

    提示一下,GitHub Actions 和国内有时间差,杜老师设置每天 16 点 30 分部署后,实际部署时间为第二天 0 点 52 分,完整参考代码如下:

    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
    name: CI
    on:
    push:
    branches: [ "main" ]
    workflow_dispatch:
    schedule:
    - cron: '30 16 * * *'
    jobs:
    build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-node@v1
    with:
    node-version: '16.17'
    - name: npm
    run: |
    npm i -g hexo-cli
    npm i
    - name: hexo
    run: |
    hexo g --silent
    gulp
    - name: Deploy
    uses: peaceiris/actions-gh-pages@v3
    with:
    deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
    external_repository: penndu/my-website
    publish_branch: master
    publish_dir: ./public


沪ICP备19023445号-2号
友情链接