summaryrefslogtreecommitdiff
path: root/doc/gnosis.texi
diff options
context:
space:
mode:
authorThanos Apollo <[email protected]>2024-02-22 00:11:19 +0200
committerThanos Apollo <[email protected]>2024-02-22 00:16:06 +0200
commitf226d964d3393a3f7c3e52c43ab8cfe27929e5c5 (patch)
treea4b71ac098132537b848ba14c71350cef7e3a5ac /doc/gnosis.texi
parent773b16f09a477b7ba1ab69fd531a5eff317e7c2e (diff)
doc: Update for 0.1.8
Diffstat (limited to 'doc/gnosis.texi')
-rw-r--r--doc/gnosis.texi195
1 files changed, 97 insertions, 98 deletions
diff --git a/doc/gnosis.texi b/doc/gnosis.texi
index 379dc18..745f7ff 100644
--- a/doc/gnosis.texi
+++ b/doc/gnosis.texi
@@ -12,7 +12,7 @@
@dircategory Emacs misc features
@direntry
-* Gnosis (γνῶσις): (gnosis). Spaced Repetition System For Note Taking And Self-Testing.
+* Gnosis (γνῶσις): (gnosis). Spaced Repetition System For Note Taking & Self-Testing.
@end direntry
@finalout
@@ -30,7 +30,7 @@ a spaced repetition system implementation for note taking and self
testing.
@noindent
-This manual is written for Gnosis version 0.1.7, released on 2023-02-18.
+This manual is written for Gnosis version 0.1.8, released on 2023-02-21.
@itemize
@item
@@ -51,9 +51,11 @@ Git repositories:
* Installation::
* Adding notes::
* Note Types::
-* Customization & Extension::
+* Customization::
* Gnosis Algorithm::
+* Editing notes::
* Sync between devices::
+* Extending Gnosis::
@detailmenu
--- The Detailed Node Listing ---
@@ -71,10 +73,10 @@ Note Types
* MCQ (Multiple Choice Question)::
* y-or-n::
-Customization & Extension
+Customization
-* Adjust for typos | String Comparison::
-* Creating Custom Note Types::
+* Image size::
+* Typos | String Comparison::
Gnosis Algorithm
@@ -82,6 +84,10 @@ Gnosis Algorithm
* Easiness Factor::
* Forgetting Factor::
+Extending Gnosis
+
+* Creating Custom Note Types::
+
@end detailmenu
@end menu
@@ -157,42 +163,8 @@ Add this to your emacs configuration
Creating notes for gnosis can be done interactively with:
@samp{M-x gnosis-add-note}
-
-Advanced/Power users may prefer to use @samp{gnosis-add-note--TYPE}
-
-Example:
-
-@lisp
-(gnosis-add-note--basic :deck "DECK-NAME"
- :question "Your Question"
- :answer "Answer"
- :hint "hint"
- :extra "Explanation"
- :image "Image displayed before user-input" ;; Optional
- :second-image "Image displayed after user-input" ;; Optional
- :tags '("tag1" "tag2"))
-@end lisp
-
-By default, the value of image and second image is nil. Their value
-must a string, the path of an image, from inside @code{gnosis-images-dir}.
-
-Each note type has a @samp{gnosis-add-note-TYPE} that is used
-interactively & a ``hidden function'' @samp{gnosis-add-note--TYPE} that handles
-all the logic.
-
-Every note type has these values in common:
-
-@itemize
-@item
-@code{extra} string value, extra information/explanation displayed after user-input
-@item
-@code{image} Image displayed @emph{before} user input
-@item
-@code{second-image} Image displayed @emph{after} user input
-@end itemize
-
-The following sections will cover the important differences you have
-to know when creating new notes.
+When it comes to adding images, you can select images that are inside
+@samp{gnosis-images-dir}. See more customization for @ref{Image size, , Image Size}
@node Note Types
@chapter Note Types
@@ -270,27 +242,27 @@ When using the hidden function @samp{gnosis-add-note--y-or-n}, note that the
ANSWER must be either 121 (@code{y}) or 110 (@code{n}), as those correspond to the
character values used to represent them.
-@node Customization & Extension
-@chapter Customization & Extension
+@node Customization
+@chapter Customization
-To make development and customization easier, gnosis comes with
-@samp{gnosis-test} module, that should be used to create a custom database for
-testing.
+@menu
+* Image size::
+* Typos | String Comparison::
+@end menu
-To use @samp{gnosis-test}, first you have to @samp{(require 'gnosis-test)} & run
-@samp{M-x gnosis-test-start}. This will create a new database 'testing'
-with random inputs.
+@node Image size
+@section Image size
-To exit the testing environment, rerun @samp{M-x gnosis-test-start} and
-then enter @samp{n} (no) at the prompt ``Start development env?''
+Adjust image size using @samp{gnosis-image-height} & @samp{gnosis-image-width}
-@menu
-* Adjust for typos | String Comparison::
-* Creating Custom Note Types::
-@end menu
+Example:
+@lisp
+(setf gnosis-image-height 300
+ gnosis-image-width 500)
+@end lisp
-@node Adjust for typos | String Comparison
-@section Adjust for typos | String Comparison
+@node Typos | String Comparison
+@section Typos | String Comparison
You can adjust @samp{gnosis-string-difference}, this is a threshold value
for string comparison that determines the maximum acceptable
@@ -310,45 +282,6 @@ To demonstrate, 'example' and 'examples' will be recognized as
similar, considering that the latter involves just one additional
character.``
-@node Creating Custom Note Types
-@section Creating Custom Note Types
-
-Creating custom note types for gnosis is a fairly simple thing to do
-
-@itemize
-@item
-First add your NEW-TYPE to @samp{gnosis-note-types}
-
-@lisp
-(add-to-list 'gnosis-note-types 'new-type)
-@end lisp
-
-@item
-Create 2 functions; @samp{gnosis-add-note-TYPE} & @samp{gnosis-add-note--TYPE}
-@end itemize
-
-Each note type has a @samp{gnosis-add-note-TYPE} that is used
-interactively & a ``hidden function'' @samp{gnosis-add-note--TYPE} that handles
-all the logic.
-
-Refer to @samp{gnosis-add-note-basic} & @samp{gnosis-add-note--basic} for a simple
-example of how this is done.
-
-@itemize
-@item
-Create @samp{gnosis-review-TYPE}
-@end itemize
-
-This function should handle the review process, displaying it's
-contents and updating the database depending on the result of the
-review (fail/pass). Refer to @samp{gnosis-review-basic} for an example of how
-this should be done.
-
-@itemize
-@item
-Optionally, you might want to create your own custom @samp{gnosis-display} functions
-@end itemize
-
@node Gnosis Algorithm
@chapter Gnosis Algorithm
@@ -426,6 +359,21 @@ Example configuration:
(setq gnosis-algorithm-ff 0.5)
@end lisp
+@node Editing notes
+@chapter Editing notes
+
+@itemize
+@item
+Currently there are 2 ways for editing notes:
+
+@itemize
+@item
+You can edit a note after review by pressing @code{e}
+@item
+Open @samp{gnosis-dashboard} with @samp{M-x gnosis-dashboard}, find the note you want to edit and press @code{e}
+@end itemize
+@end itemize
+
@node Sync between devices
@chapter Sync between devices
@@ -457,6 +405,57 @@ To automatically push changes after a review session, add this to your configura
(gnosis-vc-pull) ;; Run vc-pull for gnosis on startup
@end lisp
-You might as well add
+@node Extending Gnosis
+@chapter Extending Gnosis
+
+To make development and customization easier, gnosis comes with
+@samp{gnosis-test} module, that should be used to create a custom database for
+testing.
+
+To exit the testing environment, rerun @samp{M-x gnosis-test-start} and
+then enter @samp{n} (no) at the prompt ``Start development env?''
+
+@menu
+* Creating Custom Note Types::
+@end menu
+
+@node Creating Custom Note Types
+@section Creating Custom Note Types
+
+Creating custom note types for gnosis is a fairly simple thing to do
+
+@itemize
+@item
+First add your NEW-TYPE to @samp{gnosis-note-types}
+
+@lisp
+(add-to-list 'gnosis-note-types 'new-type)
+@end lisp
+
+@item
+Create 2 functions; @samp{gnosis-add-note-TYPE} & @samp{gnosis-add-note--TYPE}
+@end itemize
+
+Each note type has a @samp{gnosis-add-note-TYPE} that is used
+interactively & a ``hidden function'' @samp{gnosis-add-note--TYPE} that handles
+all the logic.
+
+Refer to @samp{gnosis-add-note-basic} & @samp{gnosis-add-note--basic} for a simple
+example of how this is done.
+
+@itemize
+@item
+Create @samp{gnosis-review-TYPE}
+@end itemize
+
+This function should handle the review process, displaying it's
+contents and updating the database depending on the result of the
+review (fail/pass). Refer to @samp{gnosis-review-basic} for an example of how
+this should be done.
+
+@itemize
+@item
+Optionally, you might want to create your own custom @samp{gnosis-display} functions
+@end itemize
@bye