5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-09-11

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

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

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

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

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?