From 7f8cb81eb86d855865e7c34bc8bde6fa2ae396bc Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Thu, 11 Nov 2021 18:28:35 +1300 Subject: Article for Flashcard Deck Converter added --- project/templates/deckconv.html | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 project/templates/deckconv.html (limited to 'project/templates/deckconv.html') diff --git a/project/templates/deckconv.html b/project/templates/deckconv.html new file mode 100644 index 0000000..688346c --- /dev/null +++ b/project/templates/deckconv.html @@ -0,0 +1,67 @@ + +{% extends "base.html" %} + + + +{% block title %}Flashcard Deck Converter{% endblock %} + + + +{% block content %} + +

Flashcard Deck Converter

+ +

Git repository: Link

+ + +
11/11/2021
+ +

Anki is a sophisticated spaced repetition flashcard program. It also has a codebase going on 15 +years old made of Python and Rust, dependencies that make heavy use of Go, and a + +convoluted deck format, all to produce a desktop program 100-140MB in size depending on +operating system. In short? It's a mess. But since it has been around for so long and is currently +the most used open source flashcard program it is also the one with the most decks people have made +for it.

+ +

The nearest competitor to Anki in my assessment is Fresh Memory. It is a much more compact and +tidy project written in C++ using Qt with similar functionality for spaced reptition using +arbitrarily sided flashcards. On the list of what's available the only other open source options are Mnemosyne, +another massive mess of Python, or OpenCards, which uses Microsoft Powerpoint of all things for the +deck format. Unfortunately Fresh Memory was abandoned shortly after it was open sourced and has a +whole host of minor issues that need working on. I'll get around to doing that eventually.

+ +

In the meantime, here's a utility that converts Anki .apkg decks to Fresh Memory .fmd decks. +Oh, and it can also output to comma separated value format too if you find that more useful. Due to +differences between formats some information does not carry over very well, but for most decks it +should still perform adequately.

+ +
+ A screenshot of the command line deck converter +
Command line utility
+
+ +

Aside from the command line there's also a simple graphical interfaces put together using FLTK. +Not the most pretty, but it works.

+ +
+ A screenshot of the graphical interface to the deck converter +
Graphical utility
+
+ +

Anyone trying to compile this utility or otherwise taking a quick peek at the code or readme may +note there are quite a few dependencies involved. This is due to Anki's aforementioned convoluted +deck format. Digging down through layers of JSON inside an SQLite database inside a zipfile is a +little bothersome. Dealing with Fresh Memory's current XML based deck format is a walk in the park +by comparison, even if it is more unwieldy due to any deck with media not being all one file.

+ +{% endblock %} + + -- cgit