NAME

tarotplane - Curses flashcard program

SYNOPSIS

tarotplane [options] file ...

DESCRIPTION

tarotplane is a TUI flashcard program written in Perl using the Curses module. It reads cards from specially formatted text files consisting of terms and definitions, then displays them in a TUI.

Card Files

A tarotplane card file is a text file that contains cards. Each card must contain a term and definition, which are seperated by a colon (:). Terms precede the colon, definitions follow the colon. Cards are seperated from each other by a delimitting line, which is a line that only contains a percentage (%) sign. Any whitespace found in the terms and definitions will be truncated to a single space character. Leading and trailing whitespace for terms/definitions are trimmed. A detailed example card file can be found in the EXAMPLES section of this manual.

Empty cards are ignored and will not throw an error. This means if you have a card file like this:

%
Term 1: Definiton 1
%
%
%
Term 2: Definition 2
%

tarotplane will only read two cards, and ignore the two empty cards between Term 1 and Term 2.

Lines starting with a hash (#) are treated as comments and are ignored. Blank lines are also ignored.

Escape Sequences

An escape sequence is a pair of characters, a forward slash (\) and some other character, that signals to tarotplane to perform special behavior when reading/displaying the card. Below is a list of all the escape sequences tarotplane supports:

\\

Single back slash (\).

\:

Colon (:).

\n

Force linebreak.

Controls

The controls for tarotplane can be viewed during runtime by entering '?'.

Right Arrow, l

Next card.

Left Arrow, h

Previous card.

Space, Up/Down Arrow, j/k

Flip to other side.

Page Down, End

Go to last card.

Page Up, Home

Go to first card.

q

Quit.

?

Help screen for controls.

OPTIONS

-o [by], --order[=by]

Order cards to appear alphabetically. by can either be 'Term' or 'Definition' (case-insensitive) to specify which sides to compare when ordering. If by is not specified, defaults to sorting by terms.

-r, --random

Randomizes the order the cards appear in.

-t, --terms-first

Show terms first rather than definitions.

-h, --help

Print help message and exit.

-v, --version

Print version and copyright information, then exit.

EXAMPLES

An example of a valid card file:

# American authors
%
Thomas Pynchon:
Author of Gravity's Rainbow, V, and The Crying of Lot 49.
%
Joseph Heller:
Author of Catch-22.
%
John Steinbeck:
Author of East of Eden, Of Mice and Men, and Grapes of Wrath.
%
Cormac McCarthy:
Author of Blood-Meridian, No Country For Old Men, and The Road.
%
Herman Melville:
Author of Moby-Dick, Billy Budd the Sailor, and Bartleby the
Scrivener.
%

# Russian authors
%
Leo Tolstoy:
Author of War and Peace, Anna Karenina, and Death of Ivan Ilyich.
%
Fyodor Dostoevsky:
Author of Crime and Punishment, Notes from the Underground, and The
Brothers Karamazov.
%
Aleksander Solzhenitsyn:
Author of One Day in the Life of Ivan Denisovich.
%
Vladimir Nabokov:
Author of Lolita and Pale Fire.
%

AUTHOR

Written by Samuel Young <samyoung12788@gmail.com>.

COPYRIGHT

Copyright 2024, Samuel Young.

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.