ObsidianからAnkiに直接同期できるプラグインを見つけて、PC移行の悩みが消えた話

スーツマンはCLAUDEをVS codeの拡張機能からインストールして、主にVScode上でつかっています。

英文をVSCodeにペタッと貼ると、CLAUDE君(Claude Code)が「〇〇という意味ですか?」と意図を確認しながら添削してくれて、直すべきところ・別の言い方・関連単語まで整理して教えてくれる。この添削の流れ自体は、もう普段の習慣になってるくらい馴染んでます。

きっと、英語学習者もAIつかってすごい飛躍的な学習方法がどんどん確立されて効率を上げ、みんな必死に勉強してるのかとひび背中をおされておりますが・・・

でも、AIに詳しく整理してもらった内容を、いちいち自分でAnkiカードに手打ちで入力し直すのは正直しんどいなと思ってました。以前はしてたんです、コピーしてぺっ。コピーしてぺっ。かとちゃんぺッ。

理想は、CLAUDE君が整理してくれた情報がそのままObsidianのノートに追加されて、あとはボタン一発でAnkiにカードとして生まれ変わる、という状態です。今回はそこまで辿り着いた話を書きます。

スポンサーリンク

添削からカードになるまでの流れ

最終的にできあがった流れはこうです。

  1. VSCodeでCLAUDE君に英文を貼って添削してもらう
  2. 直すべき点・例文・別表現・関連単語をCLAUDE君が整理してくれる
  3. その内容が、決まったフォーマットでObsidianのノート(英語/Anki候補/フォルダ)に保存される
  4. Obsidian側で同期ボタンを押すだけで、Ankiに添削カードが自動で作られる

3から4に繋げる部分が、今回の主役であるObsidian_to_Ankiプラグインです。ここが繋がってなかった頃は、整理された情報をAnkiに転記する作業だけ手動でやってて、地味に手間でした。

あ、ちなみにこのカードは「英語添削カード」というノートタイプ専用に作ったフォーマットで、日常会話・SNSの添削で出てきたミスを一枚のカードにまとめる設計になっています(英会話レッスンや英検1級のライティング添削は、また別のフォーマットを使っているので今回は割愛します)。

以前、ObsidianのノートをAnkiに送る仕組みを、Google Driveとrsync(フォルダ間でファイルを同期させるコマンド)を組み合わせて作ってました。

最初に設定していたGoogledrive、MacbookAirつかってたんですが、ローカルのスクリプトとlaunchd(Macの定期実行の仕組み)かAutomatorが必要で、ちょっと手間だったんですよね。

何がしんどいって、そこまで頻度はないですが、PC移行のたびに全部再設定しなきゃいけないところとか、容量が5GBまでなとこ、もしくはずっとバックググラウンドでMacの定期実行をうごかしてるとことか、きになるじゃないですか。

新しいMacとかPCを買うたびに「あ、またあの設定するのか…」ってちょっと憂鬱になる。どのPCからも、簡単に設定が戻せるようにしたい、という基本理念。

もっとシンプルにできないかなとずっと思ってました。

そんな時に見つけたのが、Obsidian_to_Ankiというプラグインでした。

Obsidian_to_Ankiプラグインとは

ObsidianのノートをAnkiに直接同期できるプラグインで、Google Driveもrsyncもフォルダアクションも一切不要でした。PC移行のときも、ObsidianとAnkiを入れるだけで済むらしいと。

これだけで今までの複雑な構成が丸ごと不要になるというのは、地味に嬉しい発見でした。

Obsidianは拡張プラグインがめっちゃ豊富にあるので、だいたい欲しいものって探せばあるイメージです。

今まで自分が組んでたパイプライン、なんだったんだろうと笑

あ、でもCLAUDE君、いつもありがとねん♪( ´▽`)

Anki側の準備:デッキ・ノートタイプ・HTMLテンプレート

プラグインの設定に入る前に、実はAnki側でやることが3つありました。ここ、最初すっ飛ばしそうになったんですが、先にやっておかないとプラグインが「どこに」「どんな形で」カードを作ればいいのか判断できません。

①デッキを作る

Anki側に「英語添削」というデッキを新規作成しておきます。ここが、あとでプラグイン設定の「Default Deck」で指定する送り先になります。

②ノートタイプ(カードタイプ)を作る

ツール→ノートタイプを管理→追加、で「英語添削カード」という名前のノートタイプを作りました。フィールドはこんな構成にしています。

フィールド内容
Front元の文章(間違いを含む)
Back修正後の文章(修正箇所だけ色付け)
Point解説。複数ミスは①②③で整理
Example例文
AlternativesB2/C1レベルの別表現
Words関連単語・コロケーション情報
Spellingスペルミス(誤→正)
Level重要度(高・中・低)

③HTMLテンプレートを貼る

カードの見た目(表面・裏面)を決めるHTMLテンプレートも、このタイミングでノートタイプに貼り付けておきます。このHTML部分だけでかなりのボリュームになるので、デザインの詳細は別記事でまとめています。今回は「Anki側にこの3つを先に作っておく必要がある」ということだけ押さえておいてください。

この3つが終わって、ようやくプラグイン側の設定に進めます。

セットアップ手順

  1. Obsidian_to_Anki(バージョン3.6.0)をインストールする
  2. AnkiConnectのCORS(Cross-Origin Resource Sharing、異なるオリジン間の通信を許可する設定)設定を追加する
  3. Default Deck・Scan Directoryを設定する
  4. Obsidianを再起動してプラグイン設定画面を表示する
  5. Note Type TableでRegenerate → Front/Backを設定する
  6. Scan Vaultで同期する

言葉にするとシンプルなんですよね。でもここからがハマりポイントの連続でした。

ハマりポイント全部(実体験)

①AnkiConnectのCORSに追加しないと接続できない

AnkiConnectのCORS設定にapp://obsidian.mdを追加しないと、Obsidianからそもそも接続できませんでした。まずここで1個詰まりました。プラグイン入れて「よし動かそう」と思った瞬間にこれなので、出鼻をくじかれた気分です。

{
  "webCorsOriginList": [
    "http://localhost",
    "app://obsidian.md"
  ]
}

②プラグイン設定画面が出てこない

プラグインを入れたのに設定画面がどこにも見当たらなくて、あれ、インストール失敗した?って焦ったんですけど、実はObsidianを再起動したあとにようやく表示される仕組みでした。え、そこ再起動必要なの、事前に言ってよ…と思いました(;´Д`A

③Note Type Tableの「▼」が見えない

設定画面の中にNote Type Tableという項目があるんですが、展開するための「▼」が見た目上ほぼ見えないカーソルになってるんです。

あ、ちなみにこの見えないカーソル、ブラウザの拡大表示を使っても気づかないレベルで薄いです。空白部分をクリックしたら展開できることに気づくまで、地味に時間がかかりました。何度も同じところをクリックして「あれ、反応しないな」ってなってたので、同じ轍を踏む人がいたらここだけ先に教えてあげたいです。

上の図で言うと、Note Type Table っていう文字の真上をクリックする感じです。そうするとカパって開いてくれます。

④Front→Backに変えないとカードが正しく作られない

Note Type Tableでは「Regenerate」ボタンを押すと、さっきAnki側で作った「英語添削カード」のフィールド一覧を取得できるんですが、3列目のフィールドがデフォルトのままだとカードが正しく作られませんでした。

ここを「Front」から「Back」に変更して、ようやく想定通りの見た目になりました。

Point・Example・Alternatives・Words・Spelling・Levelも、Note Type Table側で同じ名前のフィールドにちゃんと紐付いているか確認が必要です。

設定画面の見た目に慣れるまでが一番の壁でした。仕組み自体はシンプルなのに、ここでつまずく人は結構いる気がします。

PC移行時の手順(まとめ)

これが一番の目的だったので、実際にPCを移行するときの手順もまとめておきます。

  1. Synology Driveにサインインする → Obsidianのvaultが自動で復元される
  2. AnkiをインストールしてAnkiConnectをインストールする(コード:2055492159)
  3. AnkiConnectのCORS設定を追加する
  4. Ankiで「英語添削カード」ノートタイプを作成する
  5. HTMLテンプレートを貼り付ける
  6. おわり

以前のrsync方式だと、ローカルスクリプトの再設置やlaunchdの登録が必要で、正直PC移行のたびに気が重かったんですよね。手順、6ステップですよ、6ステップ。今はそれだけで済むようになりました。あの頃の自分に教えてあげたいくらいです。

感想

Obsidian_to_Ankiプラグイン自体は無料で、設定さえ乗り越えればすごくシンプルに使えます。CORSの設定と、Note Type Tableの見た目の癖さえわかっていれば、詰まる時間はだいぶ短縮できると思います。同士の皆さん、この2箇所だけ先に押さえておけばだいぶ楽になるはずです。

なにより、CLAUDE君に添削してもらった内容が、ボタン一発でAnkiカードになる状態にたどり着いたのが一番の収穫でした。副産物として、PC買い替えのたびに設定を組み直す面倒もなくなりました。同じようにObsidianとAnkiを連携させたい人の参考になればと思います。

今日学んだの英語表現(B2〜C1)

一応英検1級目指してるスーツマンのこの記事のトピックから使えるフレーズをAIがピックアップ。

① streamline(= 〜を効率化する、無駄を省く) > Switching plugins streamlined my whole correction-to-flashcard workflow. 「プラグインを切り替えたことで、添削からフラッシュカードまでのプロセス全体が効率化された」。今回の話そのものを表す単語でした。

② redundant(= 不要になった、余分な) > The old rsync script became redundant after the switch. 「切り替え後、古いrsyncスクリプトは不要になった」。今回rsync方式を手放した状況にぴったりです。

③ tweak(= 微調整する) > I had to tweak the field settings before the cards looked right. 「カードが正しく見えるようになるまで、フィールド設定を微調整しないといけなかった」。Note Type Tableの調整のような細かい作業にぴったりの単語です。

参照:Obsidian_to_Anki公式ドキュメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です