背筋を伸ばしてスタートアップするブログ

株式会社ペライチで開発責任者をやっています。

感謝を込めてKobitoのデータを移行した

KobitoというMarkdownエディタをスニペットツールとして愛用しているのですが、2017年の12月にサポート終了し新たなダウンロードもできなくなったのですね。

f:id:katsuki1207:20180705192134p:plain

まあそれ以降も気にせず使っていたのですが、新しいPCを購入したため中のデータを別のツールに移行せざるをえなくなりました。

どうしたものかと思いとりあえず検索してみたところ、同じ課題を自作スクリプトで解決している方を発見。 https://qiita.com/jnchito/items/3a6861c179e2ab4a28a2

QuiverというMarkdown形式対応のメモアプリに移行するというものです。

早速スクリプトをCloneし、動かしてみました。

手順

1 ) 手元にソースコードをCloneする。

git clone git@github.com:JunichiIto/kobito-to-quiver.git 

2 ) リポジトリのルートに移動し、Kobitoのバックアップデータを所定ディレクトリにコピー

cd ~/kobito-to-quiver
cp ~/Library/Containers/com.qiita.Kobito/Data/Library/Kobito/Kobito.db ./db 

3 ) gemをインストールし、バックアップデータをもとにoutputディレクトリにMarkdownファイルを生成

bundle 
bundle exec rake export 

4 ) Quiverを起動 > File > Import > Markdown で、上で生成したMarkdownファイルをすべてインポートする。

5 ) 上記によりQuiverデータとして生成されたqvnotebookディレクトリの名前を確認(6E2E7794-D4B5-48F6-AB34-B8DBB09DB2EB.qvnotebookのような名前のものがそれ)

ls -lt ~/Library/Containers/com.happenapps.Quiver/Data/Library/Application\ Support/Quiver/Quiver.qvlibrary/ | grep .qvnotebook 

6 ) 所定のqvnotebookディレクトリ配下に、上記ディレクトリをコピー

cp -r ~/Library/Containers/com.happenapps.Quiver/Data/Library/Application\ Support/Quiver/Quiver.qvlibrary/6E2E7794-D4B5-48F6-AB34-B8DBB09DB2EB.qvnotebook ./qvnotebook 

7 ) 記事タイトルとタグを更新する処理を走らせ、Quiverデータにコピー

bundle exec rake update_qvnotebook 
cp -rf ./qvnotebook/6E2E7794-D4B5-48F6-AB34-B8DBB09DB2EB.qvnotebook ~/Library/Containers/com.happenapps.Quiver/Data/Library/Application\ Support/Quiver/Quiver.qvlibrary/ 

無事、Quiverに移行完了しました!ちなみにruby2.4以上と書いてましたが、ruby2.3.3でも動きました。

Kobitoのおかげで得られたもの

Kobitoはスニペットツールとしてとても重宝していましたが、それだけでなくQiitaに投稿するきっかけを作ってくれました。

記録したメモをワンクリックでQiitaに投稿する機能があるため、メモった内容をカジュアルに公開することができるのです。気づいたらKobitoにメモった技術調査の内容やスニペットをQiitaに公開するのが習慣になっていました。

おかげで過去たくさんのリアクションをもらう事ができました。中には感謝のコメントをくれる人や間違った内容を指摘してくれる人もいて自らのアウトプットを世の中に公開する意義を大いに感じることができました。

Qiita

人から反応をもらえるのは励みになります。 些細な内容だとしても、世の中に1ミリでも還元できているという実感が得られるからです。

KobitoとQiitaがあったから、些細な内容でも恥ずかしがらず公開してみよう!というメンタリティを得られたように思います。

サービスとしては終了してしまったKobitoですが、得られた教訓を胸に今後もアウトプットを続けたいと思います。