Anki 2.1.xアドオン作成に最低限必要なファイルは2つである。
__init__.py
manifest.json
この2ファイルをZIP圧縮すればアドオンができる。zip
コマンドを使い、myaddon.ankiaddon
というアドオンファイルを作るには下記のようにする。
$ zip myaddon.ankiaddon __init__.py manifest.json
Writing Anki Add-onsに従ってzip -r ../myaddon.ankiaddon *
を実行すると、*
を使っているので、カレントディレクトリにある不要なファイルもアドオンファイルに入ることになる。そのため、zip -r ../myaddon.ankiaddon *
はおすすめしない。
以降では、__init__.py
とmanifest.json
それぞれについて簡単に説明する。
__init__.py
AnkiはGUIライブラリとしてPyQt5を使っているので、GUIについてはPyQt5のドキュメントを読む。PyQt5のドキュメントに不足している部分は、適宜Qt5のドキュメントも参照する。
Anki特有の処理についてはWriting Anki Add-onsを参照する。また、Ankiのソースコード、特にpylib/anki配下を読む。
また、anki-addonsのdemo
ディレクトリにあるアドオンのコードも参考になる。
manifest.json
Ankiへのpull requestやqt/aqt/addon.pyを参照しながら、manifest.json
にJSONデータを書く。
Anki 2.1.38時点では、package
(フォルダ名)とname
(ユーザに表示される名前)の2つがmanifest.json
に必須である。必須ではないものとしては、下記がある。
- mod
- conflicts
- min_point_version
- max_point_version
- branch_index
- human_version