KonstantinDjairo / goki

An intelligent flashcard management tool for the terminal!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Goki

A terminal-based spaced repetition flashcard tool.

Now supports importing decks from Anki!

Screenshot example of Goki

Theme: material default-community

Goki is an intelligent flashcard management tool inspired by Anki built in the terminal!

Table of contents

TUI Demo

Launch by running goki:

goki_demo.mov

Goki features a Spaced Repetion Algorithm which uses user feedback on card difficulty to effectively space out practice sessions.

Key Mappings

Home Page
Action Keybinding
Review Decks Flashcards r
Create New Deck N
View Deck Card List o
Edit Deck Name e
Delete Deck d
Move Up up arrow,k
Move Down down arrow,j
Toggle Help Menu ?
Quit q,ctrl+c
Flashcard List Page
Action Keybinding
Move Up up arrow,k
Move Down down arrow,j
Next page right arrow,l
Previous Page left arrow,h
Search Flashcards /
New Card n
Edit Card e
Delete Card d
Undo Deleted Card u
Create/Edit Flashcard Form
Action Keybinding
Next Field / Submit enter
Previous Field tab
Exit Form esc
Flashcard
Action Keybinding
Exit Review esc
Show Back o
Flashcard needs repeated again 1
Flashcard took some thought 2
Flashcard was easy to remember 3

Installation

Using go:

go install github.com/abeleinin/goki@latest

Build from source (go 1.13+)

git clone https://github.com/abeleinin/goki.git
cd goki
go build

Examples

Import from CSV

Import from stdin

Using the pipe operator < to feed flashcard data in as stdin. Apply a custom name with the -n flag, or a default name will be assigned. -t flag assigns the data seperation character, comma , separation is the default.

goki < flashcards.csv                      # default sep=','
goki -t < flashcards.txt                   # use -t to set sep='\t'
goki -n "My Deck Name" < flashcards.csv
goki -n "My Deck Name" -t < flashcards.txt

Here is an example of data formatting. Only rows with 2 elements will be parsed, the first as the question and second as answer.

"Question","Answer"
Question    Answer

Import from Anki

Export as Notes in Plain Text (.txt) in Anki, which generates a tab \t separated text file. Run the follow on the exported file.

goki -n "My Anki Cards" -t < anki.txt

Reviewing Flashcards

Press r on the selected deck you want to review on the home page. Or use the command goki review <deck index> to review from the CLI.

Review from CLI:

Review deck in cli

Review from TUI:

Review deck in tui

Creating Decks

Press N in the home page. Use e to edit the currently selected deck.

Create new deck

Creating Flashcards

Press o to view the cards in a deck. Press n to create a new card.

Create new flashcard

Commands

Usage:
  goki                      - tui mode
  goki list                 - view deck index
  goki review <deck index>  - review deck from cli
		
Create:
  opt:                 - optional flags
    -n "deck name"     - assigned deck name to imported cards
    -t                 - assigns tab sep (default sep=',')

  goki opt < deck.txt  - import deck in using stdin

Resources

About

An intelligent flashcard management tool for the terminal!

License:MIT License


Languages

Language:Go 100.0%