🎃

[2023年最新版]Qiitaの記事をZennに移行する方法

2023/12/22に公開1

はじめに

今回は、QiitaからZennへの記事一括移行の方法について記載します。
きっかけは、2023年12月から記事の作成をZennで行うようになったため、それまでに記事を書いていたQiitaの記事もZennで管理したいと思ったためです。
(Qiitaも悪くはないのですが、UI・UXがZennのほうが好みだったので、年末ということもあり整理という意味合いも込め移行を決断しました)

それでは、早速はじめていきましょう!

環境

  • M2 MacBookAir

事前準備

ZennのGit連携を行う

以下の記事を参照し、ZennとGitの連携を行います。
https://zenn.dev/zenn/articles/connect-to-github

以下から簡単にGit連携できます。
https://zenn.dev/dashboard/deploys

連携済みのリポジトリを作成したら、それを自分のPCにクローンします。

クローンしたら、リポジトリのディレクトリまで移動して、articlesディレクトリを作成します。
(私の場合は、zenn-contentリポジトリで連携しているため、cdコマンドでzenn-contentディレクトリまで移動して、articlesを作成しました)

fish
cd zenn-content
mkdir articles

Goのinstall

今回の移行ではgoで作成された移行ツールを使用するため、goをinstallしていない場合は、以下の公式URLを踏んでinstallする必要があります。

https://go.dev/doc/install

移行作業

基本的には、以下のリポジトリのツールを使用して行います。

https://github.com/ikawaha/zenn-importer

ツールの使い方は以下の記事に書いてある通りに使用します。

https://qiita.com/ikawaha/items/ab9906581e34f26993a9

ツールでの移行作業

ツールをgit cloneしたら、zenn-importerコマンドを実行します。
以下のような出力ができていれば、ツールを使用できます。

fish
zenn-importer
zenn-importer: a command to save blog posts in zenn format.
subcommands:
  - qiita
  - hatena

私の場合、シェルにfishを使用していたためか、コマンドが見つからないとエラーになりました。もしかしたら、fishを使用している方は同じエラーとなる可能性があるので、その場合は、pathを通して、エラーを解消しましょう。

fish
set -U fish_user_paths /Users/ユーザー名/go/bin $fish_user_paths

次に行うのが、zennと連携しているリポジトリのarticlesまで移動し、Qiitaの記事をimportします。
(Qiitaのユーザー名はマイページの「@」から始まるものを指定します)

fish
cd zenn-content/articles
qiita-zenn -user Qiitaのユーザー名 -verbose

これを実行すると、qiita-hogefuga.mdimg/articles内に作成され、gitの管理下に置かれているはずです。

最後にここまでの変更をgitのmainブランチにcommit -> pushしましょう。
mainブランチ以外で作業をしていた方はmainブランチにmergeまで行ってください。)

これで、zennのgit連携の自動デプロイが走ります。
自動デプロイが完了し、zennのマイページに行くとQiitaの記事が移行されているはずです。
(もちろん、Qiitaにも記事は残っています)

以上で、移行作業を終了です。

参考文献

https://go.dev/doc/install
https://qiita.com/ikawaha/items/ab9906581e34f26993a9
https://github.com/ikawaha/zenn-importer
https://zenn.dev/zenn/articles/connect-to-github

Discussion

yasunayasuna

意外と簡単に移行できるんですね!わたしも昔のQiitaを掘り起こしてみます!笑