Card Format
Store decks anywhere, for example:
flashcards/
math.md
science/
physics.md
chemistry.md
Cards live in everyday Markdown. repeater scans for tagged sections and turns them into flashcards, so you can mix active-recall prompts with your normal notes.
-
Basic cards
Q: What is Coulomb's constant? A: The proportionality constant of the electric force. -
Cloze cards
C: The [order] of a group is [the cardinality of its underlying set].
Parsing Logic
- Cards are detected by the presence of a
Q:/A:orC:block. A horizontal rule (---) or the start of another card marks the end. - Each card gets a hash (think fingerprint) built from its letters, numbers, and any
+/-signs. Punctuation, spacing, and capitalization are ignored, so only meaningful text changes create a new history. - Metadata lives in
cards.dbunder your OS data directory (for example,~/Library/Application Support/repeater/cards.dbon macOS). Delete this file to reset history; the Markdown decks remain untouched. - Multi-line content is supported.
Edge case examples
- Markers must start at column 0. Indented
Q:,C:, or---lines are ignored by the scanner, so the snippet below produces zero cards.Q: Skipped A: Because the tag is indented - Next marker auto-closes the previous card. A new
Q:orC:flushes the current buffer even without---.Q: First? A: Ends here Q: Second starts now - Notes need a separator. Without a flush-left
---, trailing notes remain part of the last card.Q: Term? A: Definition This line still belongs to the answer - Basic cards require both tags. Missing or blank
Q:/A:blocks throw a parse error for that card.Q: What is ATP? --- ← rejected; no answer was captured - Cloze blocks need real
[hidden]text. Empty brackets or unmatched[/]abort parsing.C: Bad [] ← rejected C: Half [good ← rejected