Skip to content

leitner 0.1.0

Choose a tag to compare

@shbernal shbernal released this 25 Aug 21:18
· 27 commits to master since this release

First release.

leitner reviews markdown flashcards from the terminal. Every ## heading in a
file is one card — the heading is the question, everything up to the next ##
is the answer, and a *** splits a longer front from the back. Scheduling
follows the Leitner system: cards move forward when you get them right and back
when you don't.

It reads the deck format, Flashcard Markdown
1.0, as a consumer. It parses anything the format calls valid and never
refuses a file over one bad card. Nothing in it writes to your notes — review
state lives in ~/.local/share/leitner/review-state.json, never in the
markdown. The one exception is pressing e during a session, which hands the
file to $EDITOR.

Install

Not on npm yet, so install from the tag:

git clone --branch v0.1.0 https://github.com/shbernal/leitner
cd leitner
pnpm install
pnpm build

Needs Node 24 or newer. The binary is dist/index.js; bin/leitner is the
development launcher.

Commands

leitner list   [dir]   # decks and card counts
leitner stats  [dir]   # totals, due/new/suspended, parse warnings
leitner review [dir]   # interactive review session
leitner export [dir]   # review state as a portable JSON bundle
leitner import <file>  # merge a bundle into local state

dir defaults to sourceDir from ~/.config/leitner/config.json, falling back
to ~/notes/flashcards.

Documentation

  • README.md — the manual: flags, review keys, image previews
  • docs/format.md — conformance class, and the card-identity scheme that decides when an edit costs you review history
  • docs/scheduling.md — grade transitions, queue order, the state file, config keys