抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

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

隐藏功能

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

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

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

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

定时发布

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

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

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

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

评论