Astro Ink 定时发布指南用 GitHub Actions 让未来日期的草稿文章自动上线【免费下载链接】astro-inkCrisp, minimal, personal blog theme for Astro项目地址: https://gitcode.com/gh_mirrors/as/astro-inkAstro Ink 是一款基于 Astro 的极简个人博客主题原生支持定时发布功能把文章写成草稿、填上一个未来日期GitHub Actions 就会在指定日期自动把草稿移入正式目录并重新构建站点让文章准时上线。本指南面向新手带你用 3 个步骤完成 Astro Ink 定时发布的全部配置。什么是 Astro Ink 定时发布传统静态博客要发一篇文章得等它写完、手动提交代码、触发构建才能按当天日期上线。而 Astro Ink 的定时发布机制解决了这个问题 草稿统一放在src/drafts/目录不会出现在正式博客列表中 草稿的 frontmatter 里填写一个未来日期YYYY-MM-DD格式⏰ GitHub Actions 定时任务周期性检查草稿到期后自动转正✅ 转正后的文章自动触发站点重新构建准点对外可见也就是说你只管提前写好文章发布这件事交给自动化流水线。三步完成定时发布配置第 1 步克隆项目并编写带未来日期的草稿首先克隆 Astro Ink 仓库作为你的博客起点git clone https://gitcode.com/gh_mirrors/as/astro-ink然后在src/drafts/目录下新建一个 Markdown 文件例如src/drafts/my-future-post.md在 frontmatter 中填入比今天更晚的日期--- title: 我的一篇未来文章 date: 2026-09-01 tags: [astro] author: 我 --- 正文内容……这里的关键就一个date必须是未来日期。Astro Ink 的博客集合 schema 定义在 src/content/config.ts 中date是必填字段草稿到期后移入正式目录时会被直接用于排序和展示。第 2 步创建 GitHub Actions 定时任务在仓库的.github/workflows/目录下创建一个工作流文件参考 README.md 中 Future Posts 功能说明可用main.yml。核心逻辑非常简单定时触发 → 检查草稿 → 把已到期的草稿移入src/content/blog/name: Publish Drafts on: schedule: - cron: 0 * * * * # 每小时检查一次 workflow_dispatch: # 也支持手动触发 jobs: publish-drafts: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - name: 移动已到期的草稿到正式目录 run: node publish-drafts.js # 自定义小脚本 - name: 提交改动 uses: actions/github-scriptv7 with: script: | github.rest.git.createRef({...}) # 有改动才提交其中publish-drafts.js的职责只有一件事扫描src/drafts/下所有草稿把date 今天的文件移动到src/content/blog/。检查频率由cron表达式决定想更准点可以改成*/10 * * * *每 10 分钟检查一次。第 3 步构建自动触发文章准点上线草稿被移入src/content/blog/并推送后你的托管平台会照常执行构建。此时 src/pages/blog/[slug].astro 会通过getStaticPaths扫描 blog 集合生成文章页src/pages/blog/[...page].astro 按date倒序重新排列首页列表——整条链路无需任何额外操作文章就自动上线了。✨上线前预览草稿预览页定时发布不等于盲发。Astro Ink 自带草稿预览能力src/pages/drafts/[...page].astro 会列出src/drafts/中的全部未发布文章每篇草稿有独立预览页见 src/pages/drafts/[slug]/index.astro顶部会显示黄色提示条Youre viewing a preview of /blog/xxx which isnt published yet!若不想公开草稿列表把 src/config.ts 中的listDrafts设为false即可这样你可以在发布日之前反复检查草稿的渲染效果确保万无一失。常见问题定时发布没生效怎么办⏳到点了文章却没出现最常见原因是检查间隔如果 cron 是每小时执行一次文章最多会延迟 1 小时上线。把频率调高即可。日期填了但草稿一直躺在 drafts检查date是否为标准的YYYY-MM-DD格式且确认确实早于当前日期。想提前手动发布怎么办手动把草稿文件从src/drafts/移动到src/content/blog/并提交代码即可效果和自动发布完全一致。小结Astro Ink 的定时发布方案非常轻量一个未来日期 一个 GitHub Actions 定时任务就能实现博客文章写好即排队、到期自动发。对于需要固定更新时间比如每周一早上 8 点的博主来说这是零成本、零额外服务的最佳实践快去给你的博客安排上吧【免费下载链接】astro-inkCrisp, minimal, personal blog theme for Astro项目地址: https://gitcode.com/gh_mirrors/as/astro-ink创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考