summaryrefslogtreecommitdiff
path: root/doc/gnosis.info
diff options
context:
space:
mode:
authorThanos Apollo <[email protected]>2024-02-18 16:33:05 +0200
committerThanos Apollo <[email protected]>2024-02-18 16:33:05 +0200
commitf5334b5ba4a2bf8bc4e1abbbf5f7890c3891b701 (patch)
tree9b16a5b73d66c09611d32955ffec38fcaf489ef5 /doc/gnosis.info
parent6a91e428cdb78c9f2add0aadc27c4509f11aff08 (diff)
doc: Update for version 0.1.7
Diffstat (limited to 'doc/gnosis.info')
-rw-r--r--doc/gnosis.info185
1 files changed, 94 insertions, 91 deletions
diff --git a/doc/gnosis.info b/doc/gnosis.info
index 712033c..348e70a 100644
--- a/doc/gnosis.info
+++ b/doc/gnosis.info
@@ -15,12 +15,11 @@ Gnosis (γνῶσις), pronounced "noh-sis", _meaning knowledge in Greek_, is
a spaced repetition system implementation for note taking and self
testing.
-This manual is written for Gnosis version 0.1.5, released on 2023-01-29.
+This manual is written for Gnosis version 0.1.7, released on 2023-02-18.
• Official manual: <https://thanosapollo.org/user-manual/gnosis>
• Git repositories:
- • main: <https://git.thanosapollo.org/gnosis>
- • sourcehut (mirror): <https://git.sr.ht/~thanosapollo/gnosis>
+ • <https://git.thanosapollo.org/gnosis>
* Menu:
@@ -29,6 +28,7 @@ This manual is written for Gnosis version 0.1.5, released on 2023-01-29.
* Adding notes::
* Note Types::
* Customization & Extension::
+* Gnosis Algorithm::
-- The Detailed Node Listing --
@@ -47,16 +47,15 @@ Note Types
Customization & Extension
-* Adjust string comparison::
+* Adjust for typos | String Comparison::
* Creating Custom Note Types::
-* Customizing Gnosis Algorithm::
-* Auto push changes::
-Customizing Gnosis Algorithm
+Gnosis Algorithm
-* Gnosis Algorithm Initial Interval::
-* Gnosis Algorithm Easiness Factor::
-* Gnosis Algorithm Forgetting Factor::
+* Initial Interval::
+* Easiness Factor::
+* Forgetting Factor::
+* Auto push changes::

@@ -79,10 +78,8 @@ File: gnosis.info, Node: Installation, Next: Adding notes, Prev: Introduction
2 Installation
**************
-Gnosis is not currently available in any ELPA, the recommended way to
-install gnosis is via straight.el:
-
- <https://github.com/radian-software/straight.el>
+Gnosis is available via MELPA
+ • <https://melpa.org/#/gnosis>
* Menu:
@@ -256,43 +253,41 @@ the ANSWER must be either 121 (‘y’) or 110 (‘n’), as those correspond to
the character values used to represent them.

-File: gnosis.info, Node: Customization & Extension, Prev: Note Types, Up: Top
+File: gnosis.info, Node: Customization & Extension, Next: Gnosis Algorithm, Prev: Note Types, Up: Top
5 Customization & Extension
***************************
To make development and customization easier, gnosis comes with
-‘gnosis-dev’ module, that should be used to create a custom database for
-testing.
+‘gnosis-test’ module, that should be used to create a custom database
+for testing.
- To use ‘gnosis-dev’, first you have to ‘(require 'gnosis-dev)’ & run
-‘M-x gnosis-dev-test’. This will create a new directory 'testing' with
-a new database.
+ To use ‘gnosis-test’, first you have to ‘(require 'gnosis-test)’ &
+run ‘M-x gnosis-test-start’. This will create a new database 'testing'
+with random inputs.
- To exit the testing environment, rerun ‘M-x gnosis-dev-test’ and then
-enter ‘n’ (no) at the prompt "Start development env?"
+ To exit the testing environment, rerun ‘M-x gnosis-test-start’ and
+then enter ‘n’ (no) at the prompt "Start development env?"
* Menu:
-* Adjust string comparison::
+* Adjust for typos | String Comparison::
* Creating Custom Note Types::
-* Customizing Gnosis Algorithm::
-* Auto push changes::

-File: gnosis.info, Node: Adjust string comparison, Next: Creating Custom Note Types, Up: Customization & Extension
+File: gnosis.info, Node: Adjust for typos | String Comparison, Next: Creating Custom Note Types, Up: Customization & Extension
-5.1 Adjust string comparison
-============================
+5.1 Adjust for typos | String Comparison
+========================================
-You may adjust ‘gnosis-string-difference’, this is a threshold value for
+You can adjust ‘gnosis-string-difference’, this is a threshold value for
string comparison that determines the maximum acceptable Levenshtein
distance between two strings, which identifies their similarity
Let's illustrate with an example:
(setf gnosis-string-difference 1)
- In this scenario, we set 'gnosis-string-difference' to 1. This
+ In this scenario, we set ‘gnosis-string-difference’ to 1. This
implies that two strings will be recognized as similar if they exhibit a
difference of at most one character edit.
@@ -301,7 +296,7 @@ similar, considering that the latter involves just one additional
character."

-File: gnosis.info, Node: Creating Custom Note Types, Next: Customizing Gnosis Algorithm, Prev: Adjust string comparison, Up: Customization & Extension
+File: gnosis.info, Node: Creating Custom Note Types, Prev: Adjust for typos | String Comparison, Up: Customization & Extension
5.2 Creating Custom Note Types
==============================
@@ -333,22 +328,23 @@ should be done.
‘gnosis-display’ functions

-File: gnosis.info, Node: Customizing Gnosis Algorithm, Next: Auto push changes, Prev: Creating Custom Note Types, Up: Customization & Extension
+File: gnosis.info, Node: Gnosis Algorithm, Prev: Customization & Extension, Up: Top
-5.3 Customizing Gnosis Algorithm
-================================
+6 Gnosis Algorithm
+******************
* Menu:
-* Gnosis Algorithm Initial Interval::
-* Gnosis Algorithm Easiness Factor::
-* Gnosis Algorithm Forgetting Factor::
+* Initial Interval::
+* Easiness Factor::
+* Forgetting Factor::
+* Auto push changes::

-File: gnosis.info, Node: Gnosis Algorithm Initial Interval, Next: Gnosis Algorithm Easiness Factor, Up: Customizing Gnosis Algorithm
+File: gnosis.info, Node: Initial Interval, Next: Easiness Factor, Up: Gnosis Algorithm
-5.3.1 Gnosis Algorithm Initial Interval
----------------------------------------
+6.1 Initial Interval
+====================
‘gnosis-algorithm-interval’ is a list of 2 numbers, representing the
first two initial intervals for successful reviews.
@@ -362,85 +358,92 @@ you will see it again tomorrow, if you successfully review said note
again, the next review will be after 3 days.

-File: gnosis.info, Node: Gnosis Algorithm Easiness Factor, Next: Gnosis Algorithm Forgetting Factor, Prev: Gnosis Algorithm Initial Interval, Up: Customizing Gnosis Algorithm
+File: gnosis.info, Node: Easiness Factor, Next: Forgetting Factor, Prev: Initial Interval, Up: Gnosis Algorithm
-5.3.2 Gnosis Algorithm Easiness Factor
---------------------------------------
+6.2 Easiness Factor
+===================
-‘gnosis-algorithm-ef’ is a list that consists of 3 items.
+The ‘gnosis-algorithm-ef’ is a list that consists of three items:
- The first item is the increase factor, used to increase the easiness
-factor upon successful review.
+ 1. Easiness factor increase value: Added to the easiness factor upon a
+ successful review.
- Second item refers to the decrease factor, used to decrease the
-easiness factor upon an unsuccessful review.
+ 2. Easiness factor decrease value: Subtracted from the total easiness
+ factor upon a failed review.
- The third item is the initial total easiness factor, used to
-calculate the next interval.
+ 3. Initial total easiness factor: Used to calculate the next interval.
- The basic's of how this is used is that it's being multiplied with
-the last interval upon a successful review, e.g if you last reviewed a
-note 6 days ago, and the easiness factor of this note is 2.0, your next
-interval would be 6 * 2.0 & the total easiness factor would be 2.0 +
-increase-factor as well.
+ 4. How this is used:
- Example:
+ Multiplies the last interval by the easiness factor after a
+successful review.
- (setq gnosis-algorithm-ef '(0.3 0.3 1.3))
+ For example, if the last review was 6 days ago with an easiness
+factor of 2.0, the next interval would be calculated as 6 * 2.0, and the
+total easiness factor would be updated by adding the increase factor.
+
+ Configuration example:
+
+ (setq gnosis-algorithm-ef '(0.30 0.25 1.3))

-File: gnosis.info, Node: Gnosis Algorithm Forgetting Factor, Prev: Gnosis Algorithm Easiness Factor, Up: Customizing Gnosis Algorithm
+File: gnosis.info, Node: Forgetting Factor, Next: Auto push changes, Prev: Easiness Factor, Up: Gnosis Algorithm
-5.3.3 Gnosis Algorithm Forgetting Factor
-----------------------------------------
+6.3 Forgetting Factor
+=====================
‘gnosis-algorithm-ff’ is a floating number below 1.
- It's used to calculate the next interval upon an unsuccessful review,
-by being multiplied with last interval.
+ Used to determine the next interval after an unsuccessful review.
- Example:
+ Multiplied with the last interval to calculate the next interval.
+For example, if ‘gnosis-algorithm-ff’ is set to 0.5 and the last
+interval was 6 days, the next interval will be 6 * 0.5 = 3 days.
- (setq gnosis-algorithm-ff 0.5)
+ Example configuration:
- For a note with a value of last-interval of 6 days and a ff of 0.5,
-upon an unsuccessful review the next interval will be 6 * 0.5
+ (setq gnosis-algorithm-ff 0.5)

-File: gnosis.info, Node: Auto push changes, Prev: Customizing Gnosis Algorithm, Up: Customization & Extension
+File: gnosis.info, Node: Auto push changes, Prev: Forgetting Factor, Up: Gnosis Algorithm
-5.4 Auto push changes
+6.4 Auto push changes
=====================
-When setting ‘gnosis-auto-push’ to ‘t’, at the end of every review
-session the changes to ‘gnosis-db’ will be pushed to the pre-configured
-push remote. You have to set your push remote manually.
+You can interactively use ‘gnosis-vc-push’ & ‘gnosis-vc-pull’.
+
+ As the name suggests, they rely on ‘vc’ to work properly.
+
+ Make sure you have setup a git remote for gnosis.
+ cd ~/<your-emacs-directory>/gnosis # default location for gnosis
+ git remote add <remote_name> <remote_url> #
- (setf gnosis-auto-push t)
+ Depending on your setup, ‘vc’ might require an external package for
+the ssh passphrase dialog, such as ‘x11-ssh-askpass’.

Tag Table:
Node: Top246
-Node: Introduction1419
-Node: Installation1899
-Node: Using straightel2268
-Node: Installing manually from source2780
-Node: Adding notes3469
-Node: Note Types4885
-Node: Cloze5109
-Node: Basic Type6082
-Node: Double6360
-Node: MCQ (Multiple Choice Question)6706
-Node: y-or-n7115
-Node: Customization & Extension7541
-Node: Adjust string comparison8267
-Node: Creating Custom Note Types9063
-Node: Customizing Gnosis Algorithm10198
-Node: Gnosis Algorithm Initial Interval10540
-Node: Gnosis Algorithm Easiness Factor11131
-Node: Gnosis Algorithm Forgetting Factor12135
-Node: Auto push changes12713
+Node: Introduction1277
+Node: Installation1757
+Node: Using straightel2034
+Node: Installing manually from source2546
+Node: Adding notes3235
+Node: Note Types4651
+Node: Cloze4875
+Node: Basic Type5848
+Node: Double6126
+Node: MCQ (Multiple Choice Question)6472
+Node: y-or-n6881
+Node: Customization & Extension7307
+Node: Adjust for typos | String Comparison8020
+Node: Creating Custom Note Types8856
+Node: Gnosis Algorithm9966
+Node: Initial Interval10190
+Node: Easiness Factor10697
+Node: Forgetting Factor11602
+Node: Auto push changes12162

End Tag Table