使用 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。