scrapbox-converterの使い方 ~EvernoteからScrapboxへの移行~

EvernoteからScrapboxに移行するときに、scrapbox-converterというツールを使えば簡単に移行できるので、その使い方をまとめておきます。

今回は、Windows10のWindows Subsystem for Linux (WSL)、すなわちBash on Windows上でscrapbox-converterを動かします。

※ 記事の最後にも書いてありますが、ありがたいツールではあるものの、現状まだまだな雰囲気を感じるツールです。うまく変換できたらラッキーくらいで試してみるのがいいと思います。
※ どうやらもう少ししたらEvernote XMLからの変換精度がよくなる模様(参考:僕の作ったScrapbox関連ツールの紹介)

npmのインストール

まずはBashを開いてにnpmコマンドをインストールします。すでにインストール済みの場合はこの手順は飛ばしてください。

# nodejsとnpmをインストール
$ sudo apt update 
$ sudo apt install nodejs npm

# aptコマンドでインストールされるnodejsとnpmはバージョンが古いので、念のため最新版をインストール
$ npm --version
3.5.2 # バージョンが古いことを確認
$ sudo npm cache clean 
$ sudo npm install n -g
$ npm --version
6.4.1 # バージョンが新しくなったことを確認

参考:Ubuntuに最新のNode.jsを難なくインストールする

scrapbox-converterのインストール

npmをインストールしたら、scrapbox-converterをインストールします。

sudo npm install -g scrapbox-converter

GyazoのAPIトークンを取得

Evernote XML (.exml)からjsonへ変換する場合、画像はGyazoにアップロードされるようなので、Gyazoのアカウントを持っていないなら作成しましょう。さらにscrapbox-converterで変換する場合、GyazoのアクセスIトークンが必要になるので、こちらから取得しましょう。

Gyazo

APIトークンを作成する場合、こんな画面に行き着くと思いますが、Nameに任意の文字列、Callback URLの任意のURLを入力します。どうやらCallback URLはURLの形をしてたら存在しないアドレスでも大丈夫っぽいです。(今回は適当にhttp://piyopiyo.comにしましたw)

トークンを作成したら、トークンの詳細からAccess TokenをGenerateできると思うので、Generateしてやります。すると、Your access tokenという部分に文字列が表示されるので、この文字列を控えておきましょう。

Evernote XML (.exml)からjsonファイルへ変換

さて、いよいよscrapbox-converterを動かしましょう。まずは、環境変数にトークンを設定します。

# アクセストークンを見つけられるようにする
$ export GYAZO_ACCESS_TOKEN="アクセストークンの文字列"

そして、exmlファイルをjsonへ変換します。

# exmlからjsonへ変換。WSLのBashでは/mnt以下にCドライブとかDドライブがマウントされてる風になってる
$ scrapbox-converter /mnt/c/tmp/hogehoge.enex > /mnt/c/tmp/import.json

これでScrapboxでインポートできる形式になりました。

参考:https://github.com/pastak/scrapbox-converter

Scrapboxでインポート

作成したjsonファイルを、ScrapboxのSetting -> Page Data -> Import Pagesから読み込みます。

するとScrapboxにjsonに含まれるページがインポートされます。

感想

このscrapbox-converter、Evernote XMLを一気にjsonに変換できて便利なんですけど、レイアウトの精度はいまいちな気がします。あとは、エラーが出力されて変換できないこともあったので、今後に期待ですかね。

きれいに移行したいなら、1件1件手作業で移行させるのが今のところ一番なんですかね。

コメント