FAQ
Answers to questions nobody has ever actually asked me. So itâs not false that these are all asked equally frequently.
How does *-docs-as-flashcards
work under the hood?
The *-docs-as-flashcards
project makes flashcards compatible with the Anki flashcard app. All *-docs-as-flashcards
projects accept markdown (.md
files) as input, and generate Anki-compatible flashcard decks (.apkg
files) as output.
The engine that does this is called md2apkg
that I did not write, wrapped in a GitHub Actions workflow I wrote (md2apkg-run
) so that GitHub can do the heavy lifting associated with the conversion process.
Is this project affiliated with the Anki or md2apkg
projects?
The *-docs-as-flashcards
and md2apkg-run
projects are not affiliated with (but grateful to) the md2apkg
project and the Anki project.
Why depend on Anki?
Of all the flashcard apps out there, Anki was selected to be leveraged by the *-docs-as-flashcards
project because itâs extremely popular with a great community, free, open-source, and easy do download for desktop and mobile.
Why depend on md2apkg
?
Of all the conversion tools that convert different inputs to Anki, md2apkg
was selected because the syntax is simple. The flashcard definition .md
files are very human-readable, which makes maintenance and new contributions a breeze. I didnât want to suffer a learning curve every time I decide to update or contribute new flashcards in the future. md2apkg
makes this easy imho.
What if md2apkg
or Anki end support? Will that be end of the *-docs-as-flashcards
project?
Since the md2apkg
syntax is so simple, this makes the flashcard definitions themselves only loosely coupled with md2apkg
. I donât plan on changing engines any time soon, but writing an automation to make these flashcards compatible with another conversion engine or flashcard app should be pretty straightforward in theory. If either of the main dependencies were to lose support, *-docs-as-flashcards
can be expected to continue support.
Does *-docs-as-flashcards
use all Anki features?
Anki is a powerful app. It offers many types of advanced flashcard formats (Cloze, for example). The ones used by *-docs-as-flashcards
are the simplest of the simple; a single flashcard definition in .md
corresponds to a single flashcard in Anki.
Does *-docs-as-flashcards
follow any writing / style conventions?
- Flashcards should be short and punchy; not open-ended
- Each question has a terse and distinct answer
- One portion of the docs corresponds to one flashcard
- I copy-paste the docs into a new
.md
file, split the concepts into distinct flashcards, and where necessary add context and arrange the wording so that it fits a Q&A format - This workflow ensures that the flashcard deck is comprehensive, and that the flashcard language mirrors the official docs as closely as possible
- I copy-paste the docs into a new
- Concepts are prioritized
Does the double-colon (::
) mean something special?
The double-colon (::
) means something special within Anki, which is why it is used so heavily in the *-docs-as-flashcards
projects. All nested tags in these projects are separated with a double-colon (::
). Also, you can edit the names of decks within Anki (e.g. âMyDeckâ for one, and âMyDeck::MySubDeckâ for another) and Anki will automatically show these as nested decks within the app. It can be pretty convenient. There is also a popular ânested tagsâ extension for Anki Desktop. I donât believe itâs available for mobile, but the tagging convention used in *-docs-as-flashcards
will work nicely with it. Also, for those of us (i.e. mobile users) who canât download the nested tags extension, the *-docs-as-flashcards
flashcards are also tagged with every tag in the nest, to simulate the benefit provided by the nested tags extension. (This is why for example a flashcard tagged with âOverview::About-Azure-Functionsâ is also tagged with just âOverviewâ. If you filter for the âOverviewâ tag, youâll get to study everything nested inside with ease, even without downloading the nested tags extension).
What is md2apkg-run
?
Itâs a bonus gift for you đ
md2apkg-run
is a wrapper I wrote around md2apkg
that automatically applies the right tags for all *-docs-as-flashcards
projects, and of course you can use it too to create and tag your own Anki flashcards.
You too can generate your own custom Anki-compatible flashcard decks on GitHub without downloading any software or tooling to your device (except the Anki app itself and your custom flashcard deck). Complete instructions are provided on the md2apkg-run
project site
What are the limitations of *-docs-as-flashcards
?
- Tutorials, how-toâs, examples, samples, and so on are great! Just not for flashcards. The point of
*-docs-as-flashcards
is make it easier to pound information into your head so that you know all the pieces of the puzzle- Thereâs this concept of Higher Order Thinking Skills, or HOTS (Wikipedia link) that makes sense (to me) when it comes to organizing my learning journey. Not that itâs the way you like to think about it. But if you look at the linked image of Bloomâs taxonomy, youâll see ârememberâ is the first step of the process. Then you get to understand, apply, analyze, evaluate, and create (i.e. write code using the concepts)
- You can always use techniques other than (or in addition to) flashcards, but canât get around that first step
- Itâs possible to make documentation about tutorials into flashcards, but at a certain point your time is better spent actually following the tutorials
- I recommend getting all the little bits of information committed to memory with flashcards, then getting keyboard time by following up on all the other cool resources