Skip to content

rkxy01/anki-cleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

anki-cleaner

Ankiの学習カードのテキストフィールドを自動整形するツールです。HTMLタグの削除、句読点の後のスペース調整、[sound:]タグの位置修正などを行います。

概要

このツールは、AnkiConnectを通じてAnkiのノート情報を取得し、指定したデッキ内のテキストフィールドを整形して更新します。主に以下の処理を行います:

  • 不要なHTMLタグ(<div>, <br>, &nbsp;)の削除
  • 句読点(., !, ?)の後に適切なスペースを挿入
  • [sound:]タグの前に適切なスペースを確保
  • 三点リーダ(...)や特殊な句読点の組み合わせを保護
  • 連続する空白を1つに統一

必要な準備

1. Ankiのインストール

2. AnkiConnectアドオンのインストール

  1. Ankiを起動
  2. メニューから「ツール」→「アドオン」を選択
  3. 「アドオンを入手」をクリック
  4. コード 2055492159 を入力してインストール
  5. Ankiを再起動

3. Pythonの環境構築

  • Python 3.6以上が必要です
  • 必要なライブラリをインストール:
pip install requests

4. バックアップの作成

重要: 整形処理を実行する前に、必ずAnkiのデータをバックアップしてください。

  • Ankiメニューから「ファイル」→「エクスポート」でデッキ全体をエクスポートしておくことを推奨します

利用方法

基本的な使い方

  1. Ankiを起動し、AnkiConnectが有効になっていることを確認
  2. AnkiConnectのポート番号を確認(デフォルトは8765)
  3. スクリプトを実行:
python anki.py

カスタマイズ

デフォルトでは deck:English::Listening デッキを対象に整形を行います。別のデッキを整形したい場合は、anki.pyreform_listening() 関数内の以下の行を編集してください:

notes = anki.get_notes("deck:English::Listening")  # ここを変更

ポート番号を変更する場合:

anki = Anki(port=8765)  # ポート番号を変更

トラブルシューティング

AnkiConnectに接続できない

  • Ankiが起動しているか確認してください
  • AnkiConnectアドオンが正しくインストールされているか確認してください
  • ファイアウォールでポート8765がブロックされていないか確認してください

タイムアウトエラーが発生する

  • ネットワーク接続を確認してください
  • 大量のノートを処理する場合は時間がかかることがあります

整形結果が期待と異なる

  • バックアップから復元して、整形ロジックを確認してください
  • 特定のパターンに対応が必要な場合は、Formatter.format_listening_html() メソッドをカスタマイズしてください

注意事項

  • このツールはノートの内容を直接変更します。必ずバックアップを取ってから実行してください
  • 整形処理は元に戻せません。慎重に実行してください
  • 大量のノートを処理する場合は時間がかかることがあります

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages