abreujp
ExDocAnki - generate Anki flashcards from Elixir project documentation using ExDoc
Hi everyone,
I built a small Elixir library called ex_doc_anki to generate Anki flashcards from any Elixir project’s documentation using ExDoc.
The main goal is to help you study Elixir APIs through spaced repetition, turning documentation into practice.
How it works:
- uses ExDoc under the hood to extract documentation
- for each function, type, and callback, generates a card
- Front: Module.function/arity (e.g., Enum.map/2)
- Back: documentation, type spec, and code examples
- outputs a CSV file you can import directly into Anki
Typical usage inside a project:
{:ex_doc_anki, “~> 0.1.1”, only: :dev, runtime: false}
Then:
Generate cards for your project
mix doc_anki
Generate cards for a dependency
mix doc_anki ecto
mix doc_anki phoenix ecto ecto_sql
The CSV is saved at doc/anki_cards.csv. To import into Anki:
- File → Import, select the CSV
- Set separator to Semicolon
- Map column 1 to Front, column 2 to Back
A few notes:
- it works as a Mix task added to your project, not as a standalone CLI
- you can generate cards for any dependency, even transitive ones
- if you already have ex_doc as a dependency, you may need to adjust the :only option (the docs explain why)
It has already been useful in my own workflow, especially for memorizing common Elixir patterns and function signatures.
Feedback is very welcome, especially around: - card formatting and content quality
- edge cases in documentation parsing
- ideas for improving the Anki import experience
Links: - Hex.pm: ex_doc_anki | Hex
- GitHub:
https://github.com/abreujp/ex_doc_anki
Thanks!
Popular in Announcing
Hi there,
for my project DBLSQD, I needed a file storage solution that is a bit more flexible than Arc. Because I thought others might f...
New
Hello everyone!
I want to share with you something that I’m really proud of: https://stillstatic.io/
Still is a static site builder for...
New
Presenting Aviacommerce, open source e-commerce platform in Elixir
Aviacommerce is an open source e-commerce platform in Elixir. We at...
New
Hey everyone
i’ve developed a library for Jalaali calendar for elixir which supports converting Gregorian dates to Jalaali and vice vers...
New
You may know https://ui.shadcn.com/, a UI component library for React. I really love it’s design style and components. I’ve built some co...
New
Hey everyone!
Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
WebAuthnLiveComponent WebAuthnComponents
See this post about renaming the package.
Passwordless authentication for Phoenix LiveView app...
New
Hey folks!
Want to present a toolkit for writing command-line user interfaces.
It provides a convenient interface for
colorizing text...
New
TypeCheck: Fast and flexible runtime type-checking for your Elixir projects.
Core ideas
Type- and function specifications are const...
New
Lexical
Lexical is a next-generation language server for the Elixir programming language.
Features
Context aware code completion
As-you...
New
Other popular topics
Hi All,
I set a environment variables in dev.exs , like below code.
when i start server, how can i set the ${enable} value?
thanks.
d...
New
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service.
Currently when I de...
New
Anybody knows a comprehensive comparison of Django and Phoenix, thanks for the help.
Where are they similar?
Where do they differ the m...
New
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
I tried installing
elixir 1.11.2
erlang 23.3.4
via asdf in my zsh shell. Enabled the versions locally and globally.
When I list them ...
New
I am trying to run a deploy with docker and I successfully runned with this command:
docker build -t romenigld/blog-prod .
but when I t...
New
What is the proper way to load a module from a file in to IEX?
In the python world, doing something like this pretty standard:
from ....
New
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








