-
Notifications
You must be signed in to change notification settings - Fork 137
History of script development
My workflow is to have notes be flashcards - one of my notes (before I discovered Obsidian). However, it got tedious to keep copy-pasting cards into Anki, so I got the idea to write a script to do it automatically.
Yes, the script did actually have a 'version -1'! This was me trying to make a working prototype in a private repository.
This was the initial release of the script - the very first version only supported the START END syntax, with custom note types, as well as a 'substitutions' feature. I've since removed this feature - it caused too many problems! Including making the config file huge.
Features slowly got added here, in this order:
- Can now edit notes and have them auto-update
- Deck and tag organisation added
- Reading markdown formatting and embedded images
This release was marked by improved performance of the script, as well as the option to run the script on a directory of files at a time, non-recursively.
Features in this order were added:
- FILE TAGS for a file specified
- Syntax configurable via config file
- Inline notes
This release was marked by the addition of Custom Regexps to the script, which I consider to be one of the main features. It's basically fully custom syntax!
Features in this order were added:
- Audio supported
- Script now has a GUI with Gooey
- CurlyCloze
- Web-hosted image support
- GUI updated, option to disable gui
- Setup file added
- IDs wrapped in HTML comments
- Recursively scanning a folder
- Script will attempt to open Anki if Anki Path and Anki Profile are supplied
- More available syntax for CurlyCloze
- Link to Obsidian file that generated the flashcard.
Gooey was notorious for causing many headaches for people trying to install the script! An issue I still haven't fixed...
I started and finished developing the script in the month before my university term started. Once I was at university, I paused all development of the script until I came back, during which time the plugin API was released! The list of bugs had increased substantially though, and this update was aimed at addressing those bugs.
This release is marked by the script becoming an actual Obsidian plugin! It took many days of programming to port everything over to TypeScript, which I had to learn simultaneously! TypeScript did allow me the opportunity to clean up my code base a bit - since everything compiles to one file anyway, it's easier to split functionality across multiple files.