使用 GitHub Actions 自动化 DEV.to 发布

发布: (2026年1月4日 GMT+8 08:04)
2 min read
原文: Dev.to

Source: Dev.to

概览

GitHub Actions 可以在你向仓库推送更改时,自动将 Markdown 文章发布到 DEV.to。

前置条件

  • posts/ 文件夹中存放文章的 GitHub 仓库(Markdown 文件并带有 front matter)。
  • 将 DEV.to API 密钥存储为名为 DEVTO_API_KEY 的 GitHub secret。

工作流文件

.github/workflows/publish.yml 创建工作流文件,内容如下:

name: Publish to dev.to

on:
  push:
    branches:
      - main
    paths:
      - "posts/**/*.md"

permissions:
  contents: write

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Get changed posts
        id: changed
        run: |
          if git rev-parse HEAD~1 >/dev/null 2>&1; then
            FILES=$(git diff --name-only HEAD~1 HEAD \
              | grep '^posts/.*\.md$' \
              | tr '\n' ' ')
          else
            FILES=$(git show --name-only --pretty="" HEAD \
              | grep '^posts/.*\.md$' \
              | tr '\n' ' ')
          fi
          echo "FILES=$FILES" >> $GITHUB_OUTPUT

      - name: Publish articles to dev.to
        if: steps.changed.outputs.FILES != ''
        uses: sinedied/publish-devto@v2
        with:
          devto_key: ${{ secrets.DEVTO_API_KEY }}
          github_token: ${{ secrets.GITHUB_TOKEN }}
          files: ${{ steps.changed.outputs.FILES }}
          conventional_commits: true

该配置会在你提交 posts 目录下的 Markdown 文件更改时,自动将文章发布到 DEV.to。

Back to Blog

相关文章

阅读更多 »