0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🐥 ZennとQiitaの記事を同期するアクション

Last updated at Posted at 2025-08-09

ZennとQiitaの記事を同期するアクションを開発しました。
Zennに記事を投稿するにあたり、Qiitaにもついでに投稿したいと思ったことがきっかけです。
同様なアクションを既に開発されている方がいらっしゃいますが、Github Actionsの学習も兼ねて実装してみました。

本アクションでは片方の記事から他方の記事を生成、リポジトリにプッシュを自動化します。
ここでは簡単な紹介に留めたいと思います。
実際の使い方は、URLからREADMEを参照いただければと思います。

ご興味のある方はご使用いただければと思います。また不明点やバグ、使い勝手、実装の良し悪しなど、ご質問、ご指導いただけますと幸いです。

対象となる方

  • ZennやQiitaで記事を執筆されている方
  • 記事の執筆・管理を効率化したい方

特徴

  • 記事を管理するリポジトリは、ZennとQiitaでそれぞれ別に管理します。
  • 記事の生成とリポジトリへのプッシュをZennからQiita、QiitaからZennの両方向に使用できます。

機能

差分検知

git diffを用いて、同期元リポジトリの前回と今回のプッシュの差分を取得し、変更のあったファイル(追加・更新・削除)のみを処理対象とします。

双方向のフォーマット変換

Zenn -> QiitaまたはQiita -> Zennの双方向にマークダウンのフォーマットを変換します。

  • メタデータの変換: プラットフォーム独自のfront matterを変換します。
  • コンテンツの変換: プラットフォーム独自のマークダウン記法を変換します。

同期先ファイルの削除

同期元のファイルが削除された場合、同期先のファイルも削除します。

リポジトリへのコミット&プッシュ

生成したファイルを同期先リポジトリへコミット&プッシュします。

ユーザ設定

コンフィグファイルによって、ユーザごとに変更可能な設定があります。

最後に

Github Actionsの学習を兼ねて、ZennとQiitaの記事を同期するアクションを開発しました。
できる限り多くの方にご利用いただけると嬉しいです。


画像URLについて
Zennには、画像をリポジトリで管理し自動でアップロードする機能がありますが、Qiitaにはそのような機能がありません。
そのためサービスへの手動アップロードなど、画像URLの運用には少し手間がかかります。

本アクションにおいても同様で、その辺の話を下記に記載しています。

https://github.com/r-dev95/sync-zenn-qiita-articles/blob/main/docs/diff_zenn_qiita.md#%E7%94%BB%E5%83%8F

一応、Qiitaも画像アップロードの手間を省く手段を検討するつもりではあるみたいです。
早めに開発してくれると嬉しい。。。

https://github.com/increments/qiita-discussions/discussions/513

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?