经常会有小伙伴说杜老师总发穿越文,确实这种发布方式会让新伙伴一脸懵,且对搜索引擎不大友好。本文讲解如何通过 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
条评论