Gomi is a Python package used to store and manage Note Types for Anki in a git repository. At Ajatt-Tools, we store our note types here. Gomi provides a super user-friendly mechanism of importing and exporting note types, and everyone is welcome to add their templates to our collection by making a pull request.
Install Python 3.12 or later if you haven't already.
Windows is not recommended because it is malware.
Details
Install Python from the Microsoft Store or check if you already have the good version putting on your file explorer search bar
%LOCALAPPDATA%\Microsoft\WindowsApps\python3
If you have the correct version, you can just close the python's window that just popped up.
Make sure to add python3 to the PATH.
The path you need to add should look like C:\Users\[YourUsername]\AppData\Local\Microsoft\WindowsApps\python3.
If you don't have the python installed, when you'll put this command into the search bar, it will open a microsoft store window directly on the correct python version, and you just need to click Download.
After doing this step, you can make sure that everything is good
by opening the command prompt with Windows+R, cmd and put the command:
python3 -m
If everything's good, you should get a response like : Argument expected for the -m option
Install gomi using pipx: pipx install gomi.
Make sure Anki is running, and you have AnkiConnect installed.
Clone AnkiNoteTypes and cd into it.
If you have never cloned a repository before,
you need to install git.
If you have git installed,
open your terminal and type the following commands.
git clone "https://github.com/Ajatt-Tools/AnkiNoteTypes.git"
cd AnkiNoteTypes
To import one of the available Note Types to Anki, run:
gomi import
If you imported a note type from the AJATT collection before, it received an update, and you want to import the new version, run:
gomi update
To export one of your Note Types, run:
gomi export
Then write a helpful readme and commit your changes:
git add templates media && git commit
After committing your template, please create a pull request.
Additionally, you can install Anki Preview Reloader
to automatically reload the preview in the templates screen or the card preview window
when you update your note type using gomi.
For example, you can edit your templates in Vscodium,
and then run gomi update to send the changes to Anki,
with the updates being shown immediately.
Although gomi supports note types that reference external CSS and JS files
stored in the collection.media folder,
for example,
by using <script src="_script.js"></script> in a Front or Back template,
or by using @import url("_styling.css"); in the Styling section,
there are a few caveats to keep in mind.
-
The filenames should begin with an underscore to prevent Anki from flagging them as unused.
-
If you use AnkiWeb to sync your collection with other devices (like an Android phone), external files will only sync once. If you change your externally linked
CSSorJSfile, you'll need to rename it so that updates are sent to your other devices. However, referencing external fonts is acceptable because they typically need to be synced only once. -
Specifically, loading external
JSfiles causes a slight flicker or lag whenever you flip a card. It is recommended that you use inline scripts instead:<script> // some code </script>