Ankiの学習カードのテキストフィールドを自動整形するツールです。HTMLタグの削除、句読点の後のスペース調整、[sound:]タグの位置修正などを行います。
このツールは、AnkiConnectを通じてAnkiのノート情報を取得し、指定したデッキ内のテキストフィールドを整形して更新します。主に以下の処理を行います:
- 不要なHTMLタグ(
<div>,<br>, )の削除 - 句読点(
.,!,?)の後に適切なスペースを挿入 [sound:]タグの前に適切なスペースを確保- 三点リーダ(
...)や特殊な句読点の組み合わせを保護 - 連続する空白を1つに統一
- Anki公式サイトからAnkiをダウンロードしてインストールしてください
- Ankiを起動
- メニューから「ツール」→「アドオン」を選択
- 「アドオンを入手」をクリック
- コード
2055492159を入力してインストール - Ankiを再起動
- Python 3.6以上が必要です
- 必要なライブラリをインストール:
pip install requests重要: 整形処理を実行する前に、必ずAnkiのデータをバックアップしてください。
- Ankiメニューから「ファイル」→「エクスポート」でデッキ全体をエクスポートしておくことを推奨します
- Ankiを起動し、AnkiConnectが有効になっていることを確認
- AnkiConnectのポート番号を確認(デフォルトは8765)
- スクリプトを実行:
python anki.pyデフォルトでは deck:English::Listening デッキを対象に整形を行います。別のデッキを整形したい場合は、anki.py の reform_listening() 関数内の以下の行を編集してください:
notes = anki.get_notes("deck:English::Listening") # ここを変更ポート番号を変更する場合:
anki = Anki(port=8765) # ポート番号を変更- Ankiが起動しているか確認してください
- AnkiConnectアドオンが正しくインストールされているか確認してください
- ファイアウォールでポート8765がブロックされていないか確認してください
- ネットワーク接続を確認してください
- 大量のノートを処理する場合は時間がかかることがあります
- バックアップから復元して、整形ロジックを確認してください
- 特定のパターンに対応が必要な場合は、
Formatter.format_listening_html()メソッドをカスタマイズしてください
- このツールはノートの内容を直接変更します。必ずバックアップを取ってから実行してください
- 整形処理は元に戻せません。慎重に実行してください
- 大量のノートを処理する場合は時間がかかることがあります