Gnosis (γνῶσις), pronounced “noh-sis”, meaning knowledge in Greek, is a Spaced Repetition System for note taking and self testing.
Git repositories:
Gnosis is still in active development, if you encounter any bugs feel free to send me an email
About
Gnosis (γνῶσις), pronounced “noh-sis”, meaning knowledge in Greek, is a spaced repetition system implementation for note taking and self testing. Notes are organized in a Question/Answer/Explanation format and reviewed at spaced intervals, determined by the success or failure to recall the answer.
The goal of Gnosis is to enhance memory retention through active recall. To achieve optimal results, users review gnosis notes by writing out the answers.
Screenshots
Basic note review
Basic note answer evaluation
Cloze note type review
fill-in-the-blank sentences, mutli-cloze notes are supported as well.
Cloze note answer evaluation
Installation
Gnosis is available via MELPA & GNU Guix
Example using use-package
(use-package gnosis
:ensure t
:init (define-prefix-command 'my/gnosis-map)
:config
(gnosis-modeline-mode)
:bind (("C-c g" . my/gnosis-map)
:map my/gnosis-map
("r" . 'gnosis-review)
("a" . 'gnosis-add-note)
("C-d" . 'gnosis-dashboard)
("d" . 'gnosis-add-deck)))
After installing gnosis, it’s recommended to try out the demo by running
M-x gnosis-demo
Note types
Gnosis includes the following note types:
- MCQ: Multiple Choice Questions
- Cloze: fill-in-the-blank sentences
- MC-Cloze: fill-in-the-blank sentences with multiple choice
- Basic: Question-Answer-Explanation
- Double: Creates 2 basic notes, second one is generated with the question & answer switched
- y-or-n: Question with y/n answer (yes or no)
Editing notes
Currently there are 2 ways for editing notes:
- You can edit a note after review by pressing
e
- Open
gnosis-dashboard
withM-x gnosis-dashboard
, find the note you want to edit and presse
Sync between devices
Gnosis uses git to maintain data integrity and can be used facilitate synchronization of it’s database across devices.
You can set a git remote manually:
cd ~/.emacs.d/gnosis # default location for gnosis
git init # After completing your first review session, a git repo should have been initialized automatically.
git remote add origin <remote_url>
git push --set-upstream origin master
You can interactively use gnosis-vc-push
& gnosis-vc-pull
. As the
name suggests, they rely on vc
to work properly.
Depending on your setup, vc
might require an external package for
the ssh passphrase dialog, such as x11-ssh-askpass
.
To automatically push changes after a review session, add this to your configuration:
(setf gnosis-vc-auto-push t)
(gnosis-vc-pull) ;; Run vc-pull for gnosis on startup