Qiita:Teamを移行するかもしれない件について

  • 3
    Like
  • 0
    Comment

移行作業のために調べたこと

APIキー利用の準備

ここからAPIを利用するためのキーを作成します。

https://qiita.com/settings/applications

次に準備したもの

以下のコマンドを使います。

brew install jq curl

pythonを今後使っていくつもりなので、pythonも最新版にすると良いのですが、本日の記事では割愛します。

取得するためにはどうするか

まずはそもそもどうやってデータを取得するか、という点に絞っていくと、以下のようにAPIを叩けば全て取得できるようです。

curl -sSH "Authorization: Bearer xxxx" https://yyyy.qiita.com/api/v2/items?per_page=100 | jq -C .

この状態ですと、素のmarkdownではなく、html入りのjsonデータが落ちてきますので、そのままでは流用できません。

素のmarkdownが欲しい

以下のように取得したjsonからURLの末尾に.mdで加えてアクセスすれば、素のmarkdownがダウンロード可能です。

https://yyyy.qiita.com/{username | shared}/{適当な英数字}.md

画像を取得したい

ファイルの中から特定キーワードで画像を取得するように処理を書いてあげる

curl -sSH "Authorization: Bearer xxxx" https://yyyy.qiita.com/files/yyyyy.{png | jpg}

悩ましいところ

最終的にはgitlabに放り込むことを想定しています。
他に良いプランへ移行できるならそのままポイっと放り投げてうまく変換してくれるならそれも良しかな、というところです。
ただmdのファイル名をtitleにし、画像ファイル名はそのままでfilesディレクトリに保存するのがほとんど修正要らずでいい感じなのですが、ディレクトリをどういう風に分けるのかが難しい…。
月単位でいいのかなぁなどとぼんやり考えてみてます。
全部同じディレクトリに放り込むと現実的じゃないし、画像もごちゃまぜになるので探しにくく、辛いです。

とりあえずCLIで年月に分けるならcreated_atに対して、

cut -d"-" -f 1,2

ってやればサクッと年と月が取れるんですよね。
ファイル数も人によってはしれたものなので、可搬性が良いように、年月で取るのが良さそうかなぁ…。

ということで、仕様を明らかにしましたので後日、のんびり作ろうかと思います。