by kangruixiang on 5/7/22, 1:33 PM with 62 comments
Ankify came out of that. At the time, I did not know any programming and paid someone to write a script in Python to convert the cards. Then, eventually I learned Python myself and expanded on the script. I also uploaded the markdown files online so I could view them anywhere (https://kangruixiang.github.io/wiki/).
I ran into a wall in making user interface for the program. It was difficult to make good looking cross platform user interface with Python. I gave up on making user interface for a year or two with end of med school and residency. After a while, I went back to see if anyone else had made anything similar. Despite many plugins/programs that makes it easy to make cards, none of them really focused on readability of the original notes. I decided to sit down and learn javascript to help with UI creation.
After about 3 years, everything finally came together after I learned Svelte, Tailwind, and Electron. I know Electron is not the most efficient program, but it's what works for me.
Also, it's also the feeling of being able to make whatever my mind can think of. It feels really refreshing and empowering. Even making the website for Ankify is a lot of fun. You have to think so much about the presentation, typography, logistics.
by rsanek on 5/7/22, 7:48 PM
I see your project uses import-from-csv to get cards into Anki -- you can make this significantly more user-friendly by utilizing the genanki Python package [0]. It spits out an apkg for you that you can just double-click on and import. The other side benefit is that you can keep a stable ID of the same cards over time, which means that if you want to eg update the structure or styling of already-exported notes, it is very easy to do so.
by jwrallie on 5/7/22, 9:25 PM
Sometimes I branch into other uses. I was quite successful using Anki when studying for my amateur license exam.
I will consider using Ankify if I need to study from notes at some point in the future.
What I loved about your post is how you evolved with Ankify as you developed it, I think this is a great example for people starting on their own journeys of learning how to program, I always felt that having a project in mind from the beginning is the best way to keep moving forward, and your journey is a great example of that.
I am considering using Python for cross platform gui design. Could you expand on why you chose electron over other alternatives, for example Qt?
Also, could you share which resources you used to learn about gui development on Python?
by esrh on 5/7/22, 9:04 PM
by lervag on 5/8/22, 9:29 AM
* I communicate directly with the local Anki database - no need to keep Anki open and use any ankiconnect type plugin.
* I can sync the database before and after with "apy sync".
* I can easily add single cards from the command line. And I can add mulitple notes from a Markdown formatted file simultaneously.
* I can easily edit cards that I have marked to specifically change in some way (I find it useful to adjust cards).
by i_like_apis on 5/7/22, 8:05 PM
Is there a way in Ankify to export cards to any mobile apps?I always want to study Anki on mobile but in the mobile apps I know about, the experience of creating cards is too tedious.
It want to be able to create cards on desktop but usually study on mobile!
If you like building in Electron, you may like Ionic if you build a mobile app ;)
I wish Anki mobile apps were just a nice simple view/study experience, with the create and edit features much better suited to desktop UI.
by curacao1962 on 5/7/22, 8:42 PM
by JulianWasTaken on 5/7/22, 9:41 PM
Tangentially related, but I have a GitHub Action [1] -- which converts all the notes I write in my (oft-neglected) TIL site [2], and which may also be of interest. It's simple stuff but yeah bit of fun.
[1]: https://github.com/Julian/til/blob/1b9ae162625d20d3e4b6a3ffb... [2]: https://github.com/Julian/til/ [2b]: https://til.grayvines.com/
by falsenine on 5/7/22, 8:57 PM
An aside question: For incoming med students interested in tech, would it be worthwhile to learn programming? I know it would be great for research. But as someone who is unsure about becoming a clinician scientist, it might be a waste of time to learn programming concurrently during med school.
by kajiryoji on 5/8/22, 5:01 AM
by sean_the_geek on 5/7/22, 9:40 PM
by blindseer on 5/7/22, 8:49 PM
by LeonidBugaev on 5/8/22, 9:57 AM
Essentially no need convert your notes to Anki cards, your notes litelarly became spaced repetition cards.
by merry_flame on 5/9/22, 1:16 PM
by rg111 on 5/7/22, 8:10 PM
Also, any plans of an Android version?
by herunan on 5/8/22, 1:12 AM
by zmix on 5/7/22, 9:51 PM
by lorey on 5/7/22, 9:34 PM
by hombre_fatal on 5/8/22, 3:22 PM
by McNutty on 5/8/22, 10:25 AM
by arkades on 5/8/22, 1:12 AM
by _dmn7 on 5/8/22, 12:08 AM