Anki Addon Tutorial

Introduction

Let’s be honest: there’s a pretty severe lack of good information on how to write an Anki 2.1 add-on online, and for developer-minded people like you and me, that kinda sucks. One of Anki’s main advantages over other flashcard programs is its customizability. Not only can you use it to study almost anything (personally, I study code and Japanese), you can also update the look and feel of your flashcards, and altar the length of intervals to be however long or short you want. When you want to do something unique with your cards that isn’t in the base application or a third party add-on yet however…. there’s a blank. Beyond a very basic official introduction to development (as well a handful of VERY good blog posts/GitHub links I will be adding to the end of this page), there isn’t much to guide you. Most everything you’ll need to do, you’ll figure out yourself.

Why all this dull introduction text? Well, for one that’s just how blog posts start these days in early 2020, and every developer worth their weight in salt knows the fastest way to learn is imitation. More seriously though, I plan to spend the next few weeks posting an extensive step-by-step tutorial on how to build a basic Anki add-on, and as I do so, this page will serve as a index and plain table of contents. I have no set schedule yet, but as I’m between jobs at the moment (“unemployed”), and I’ve already put together a functional draft of the add-on we’ll be building, expect the first few posts to come out fast. If you’ve got any questions about the code I’m writing, or suggestions to make, you contact me via email in the side bar. I’m hoping this helps the development community out.

Table of Contents

🚧Under Construction🚧

Below, come see some of the resources I used to build my add-on. All of this are 100% great.

🚧Under Construction🚧

A Note on Level

Writing this now, I don’t have the greatest familiarity with Python. My background is in shell scripting and JavaScript (some of this add-on is adapted from an old node.js cli I built to interact with AnkiConnect), so:

  1. There’s gonna be some mistakes. If you catch some, let me know. I’ll address them.
  2. Oh, you’re new to Python? Great! This tutorial’s for you. As long as you have at least a basic familiarity with programming patterns, and a python interpreter on your machine, you’ll be good to go. I’m planning to explain everything in an almost annoying level of detail.

Posted Monday, February 3, 2020