利用 GitHub Actions 自动更新博客 RSS(mp.jobleap4u.com/rss 示例)

102 阅读1分钟

1. 修改 README.md,加入占位符

在 README.md 中添加:

text
<!-- BLOG-POST-LIST:START -->
<!-- BLOG-POST-LIST:END -->

Action 执行时,会替换注释间内容为最新文章列表。

2. 新建 GitHub Actions workflow 文件

.github/workflows/blog-rss-update.yml 文件中写入:

text
name: Update Latest Blog Posts

on:
  schedule:
    - cron: "0 * * * *"   # 每小时执行一次,可按需调整
  workflow_dispatch:       # 支持手动触发
  push:
    branches:
      - main              # 推送 main 分支时触发,若默认分支是其他请修改

permissions:
  contents: write          # 明确赋予写权限,允许更新 README

jobs:
  update-readme-with-blog:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Update README with latest blog posts from RSS
        uses: gautamkrishnar/blog-post-workflow@v1
        with:
          max_post_count: 6
          committer_username: "github-actions"
          committer_email: "actions@github.com"
          feed_list: "https://mp.jobleap4u.com/rss"
          template: |
            $newline- $randomEmoji(🚀,📝,🔥,💡,🎉,✨) [$title]($url) $newline

3. 使用说明

  • cron 表达式可自行调整执行频率,支持灵活配置。
  • workflow_dispatch 允许 GitHub 页面手动触发执行,方便调试和即时更新。
  • push 事件确保每次你推送主分支代码时同步更新。
  • permissions.contents: write 是 GitHub 推荐的显式权限配置,避免自动写入权限失败。
  • feed_list 是要抓取的 RSS 地址,此处用实例 https://mp.jobleap4u.com/rss
  • template 控制展示格式,每篇文章自动配上随机 emoji,更吸引眼球。

4. 额外技巧

  • 支持多源 rss
    以逗号分隔多个 RSS 地址,并设置不同的 comment_tag_name 以支持多块渲染。
  • 版本管理
    使用掉用 action 时,保持版本号固定(如@v1),避免不必要的安全风险。
  • 维护 workflow 权限
    定期检查仓库设置中 Actions 权限,确保 Workflow 有充足的写权限。