個人用WikiとしてGROWI(旧Crowi-plus)をheroku上で運用していましたが、このたびesa.ioに乗り換えることにしましたので移行方法を残しておきます。
概要
GROWIの内容をすべてesa.ioに移行します。
esa.io公式ヘルプのQiita:Teamからの移行スクリプトを参考に、これをGROWI仕様に書き換えました。
GROWIのAPIは公式にドキュメントがありませんが、GitHubにあるルーティングスクリプトを参考にしました。
手順
GROWIのAPIトークンを生成する
GROWIを開き、画面右上の「ユーザ設定」から「API設定」のタブを開いてAPI Tokenを発行しておきます。
esa.io のAPIトークンを生成する
esa.ioのユーザ管理ページのApplications(https://[team].esa.io/user/applications
)から「Personal access tokens」の横のGenerate New Tokenをクリックします。
すると、以下のようなページが現れます。
初期状態ではReadのみにチェックが入っていますが、Writeにもチェックを入れ、Saveボタンを押すとトークンが発行されます。
トークンは一度しか表示されませんので、必ず控えておきましょう。
必要なGemを用意する
以下のようにして必要なGemをインストールします。
$ gem install esa json pp net
スクリプトをコピペして適切に編集する
以下のURLに掲載しているスクリプトを手元に落としてきて、TODO
と書かれている箇所を編集します。
コンソール上で実行する
スクリプトが置いてあるディレクトリに移動し、以下のように実行すればおしまいです。
$ ruby import.rb
初期状態ではインポートされるデータがコンソールに表示されるだけになっています。
正しくデータが表示されているのを確認したら、スクリプト最終行の
importer.import(dry_run: true, start_index: 0)
の引数をdry_run: false
に変更して再度実行すると実際にインポートが行われます。
うっかり2回実行してしまうと、同じ記事が2つできてしまうので注意しましょう。
ポイント
- データの取得箇所をAPI経由に変更した以外は、ほとんどQiita:Teamと同様の手順で実行できました
- カテゴリは基本そのまま維持されますが、カテゴリのトップページはesaではREADMEになっているため、適宜手動で変更してください
- 回し者ではありませんが、楽しいesaライフを (\( ⁰⊖⁰)/)
参考サイト
以下を参考にしました。