diff options
author | Thanos Apollo <[email protected]> | 2024-01-29 10:53:27 +0200 |
---|---|---|
committer | Thanos Apollo <[email protected]> | 2024-01-29 10:53:27 +0200 |
commit | 4516d10b32c3729ee83d6edb89cd79e5e8f5f203 (patch) | |
tree | f844fd764e559b78fde268f562e90cd1ee1ed098 /doc | |
parent | f9d4039ac7783219de88a25df9767f9cf0a4aecc (diff) | |
parent | 8768382c80e595695059ce5818845e480647b6b8 (diff) |
Merge branch 'version-0.1.5'0.1.5
- Adjust emacsql
- Fix initialization
- Rewrite string comparison using string-distance
- Update documentation
- Fix package requirments for MELPA
Diffstat (limited to 'doc')
-rw-r--r-- | doc/gnosis.info | 104 | ||||
-rw-r--r-- | doc/gnosis.org | 26 | ||||
-rw-r--r-- | doc/gnosis.texi | 54 |
3 files changed, 124 insertions, 60 deletions
diff --git a/doc/gnosis.info b/doc/gnosis.info index ddae27d..a96d4c1 100644 --- a/doc/gnosis.info +++ b/doc/gnosis.info @@ -15,7 +15,7 @@ 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.4, released on 2023-01-19. +This manual is written for Gnosis version 0.1.5, released on 2023-01-29. • Official manual: <https://thanosapollo.org/user-manual/gnosis> • Git repositories: @@ -28,7 +28,7 @@ This manual is written for Gnosis version 0.1.4, released on 2023-01-19. * Installation:: * Adding notes:: * Note Types:: -* Customization & Development:: +* Customization & Extension:: -- The Detailed Node Listing -- @@ -45,8 +45,9 @@ Note Types * MCQ (Multiple Choice Question):: * y-or-n:: -Customization & Development +Customization & Extension +* Adjust string comparison:: * Creating Custom Note Types:: * Customizing Gnosis Algorithm:: @@ -102,8 +103,8 @@ following emacs lisp snippet: (straight-use-package '(gnosis :type git - :host nil - :repo "https://git.thanosapollo.org/gnosis")) + :host nil + :repo "https://git.thanosapollo.org/gnosis")) File: gnosis.info, Node: Installing manually from source, Prev: Using straightel, Up: Installation @@ -138,13 +139,13 @@ gnosis-add-note’ Example: (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")) + :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")) By default, the value of image and second image is nil. Their value must a string, the path of an image, from inside ‘gnosis-images-dir’. @@ -164,7 +165,7 @@ all the logic. to know when creating new notes. -File: gnosis.info, Node: Note Types, Next: Customization & Development, Prev: Adding notes, Up: Top +File: gnosis.info, Node: Note Types, Next: Customization & Extension, Prev: Adding notes, Up: Top 4 Note Types ************ @@ -254,10 +255,10 @@ 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 & Development, Prev: Note Types, Up: Top +File: gnosis.info, Node: Customization & Extension, Prev: Note Types, Up: Top -5 Customization & Development -***************************** +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 @@ -272,13 +273,35 @@ enter ‘n’ (no) at the prompt "Start development env?" * Menu: +* Adjust string comparison:: * Creating Custom Note Types:: * Customizing Gnosis Algorithm:: -File: gnosis.info, Node: Creating Custom Note Types, Next: Customizing Gnosis Algorithm, Up: Customization & Development +File: gnosis.info, Node: Adjust string comparison, Next: Creating Custom Note Types, Up: Customization & Extension -5.1 Creating Custom Note Types +5.1 Adjust string comparison +============================ + +You may 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 +implies that two strings will be recognized as similar if they exhibit a +difference of at most one character edit. + + To demonstrate, 'example' and 'examples' will be recognized as +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 + +5.2 Creating Custom Note Types ============================== Creating custom note types for gnosis is a fairly simple thing to do @@ -308,9 +331,9 @@ should be done. ‘gnosis-display’ functions -File: gnosis.info, Node: Customizing Gnosis Algorithm, Prev: Creating Custom Note Types, Up: Customization & Development +File: gnosis.info, Node: Customizing Gnosis Algorithm, Prev: Creating Custom Note Types, Up: Customization & Extension -5.2 Customizing Gnosis Algorithm +5.3 Customizing Gnosis Algorithm ================================ * Menu: @@ -322,7 +345,7 @@ File: gnosis.info, Node: Customizing Gnosis Algorithm, Prev: Creating Custom N File: gnosis.info, Node: Gnosis Algorithm Initial Interval, Next: Gnosis Algorithm Easiness Factor, Up: Customizing Gnosis Algorithm -5.2.1 Gnosis Algorithm Initial Interval +5.3.1 Gnosis Algorithm Initial Interval --------------------------------------- ‘gnosis-algorithm-interval’ is a list of 2 numbers, representing the @@ -339,7 +362,7 @@ 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 -5.2.2 Gnosis Algorithm Easiness Factor +5.3.2 Gnosis Algorithm Easiness Factor -------------------------------------- ‘gnosis-algorithm-ef’ is a list that consists of 3 items. @@ -366,7 +389,7 @@ increase-factor as well. File: gnosis.info, Node: Gnosis Algorithm Forgetting Factor, Prev: Gnosis Algorithm Easiness Factor, Up: Customizing Gnosis Algorithm -5.2.3 Gnosis Algorithm Forgetting Factor +5.3.3 Gnosis Algorithm Forgetting Factor ---------------------------------------- ‘gnosis-algorithm-ff’ is a floating number below 1. @@ -385,23 +408,24 @@ upon an unsuccessful review the next interval will be 6 * 0.5 Tag Table: Node: Top246 -Node: Introduction1372 -Node: Installation1852 -Node: Using straightel2221 -Node: Installing manually from source2737 -Node: Adding notes3426 -Node: Note Types4856 -Node: Cloze5082 -Node: Basic Type6055 -Node: Double6333 -Node: MCQ (Multiple Choice Question)6679 -Node: y-or-n7088 -Node: Customization & Development7514 -Node: Creating Custom Note Types8195 -Node: Customizing Gnosis Algorithm9299 -Node: Gnosis Algorithm Initial Interval9617 -Node: Gnosis Algorithm Easiness Factor10208 -Node: Gnosis Algorithm Forgetting Factor11212 +Node: Introduction1397 +Node: Installation1877 +Node: Using straightel2246 +Node: Installing manually from source2758 +Node: Adding notes3447 +Node: Note Types4863 +Node: Cloze5087 +Node: Basic Type6060 +Node: Double6338 +Node: MCQ (Multiple Choice Question)6684 +Node: y-or-n7093 +Node: Customization & Extension7519 +Node: Adjust string comparison8223 +Node: Creating Custom Note Types9019 +Node: Customizing Gnosis Algorithm10154 +Node: Gnosis Algorithm Initial Interval10470 +Node: Gnosis Algorithm Easiness Factor11061 +Node: Gnosis Algorithm Forgetting Factor12065 End Tag Table diff --git a/doc/gnosis.org b/doc/gnosis.org index 28b9cf9..29c4188 100644 --- a/doc/gnosis.org +++ b/doc/gnosis.org @@ -4,9 +4,9 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 0.1.4 -#+macro: release-date 2023-01-19 -#+macro: development-version 0.1.4-dev +#+macro: stable-version 0.1.5 +#+macro: release-date 2023-01-29 +#+macro: development-version 0.1.6-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -175,7 +175,7 @@ When using the hidden function =gnosis-add-note--y-or-n=, note that the ANSWER must be either 121 (~y~) or 110 (~n~), as those correspond to the character values used to represent them. -* Customization & Development +* Customization & Extension To make development and customization easier, gnosis comes with =gnosis-dev= module, that should be used to create a custom database for @@ -187,6 +187,24 @@ database. To exit the testing environment, rerun =M-x gnosis-dev-test= and then enter =n= (no) at the prompt "Start development env?" +** Adjust string comparison +You may 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: +#+begin_src emacs-lisp +(setf gnosis-string-difference 1) +#+end_src + +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. + +To demonstrate, 'example' and 'examples' will be recognized as +similar, considering that the latter involves just one additional +character." ** Creating Custom Note Types Creating custom note types for gnosis is a fairly simple thing to do diff --git a/doc/gnosis.texi b/doc/gnosis.texi index 9054e3f..f2762af 100644 --- a/doc/gnosis.texi +++ b/doc/gnosis.texi @@ -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.4, released on 2023-01-19. +This manual is written for Gnosis version 0.1.5, released on 2023-01-29. @itemize @item @@ -46,7 +46,6 @@ sourcehut (mirror): @uref{https://git.sr.ht/~thanosapollo/gnosis} @end itemize @insertcopying - @end ifnottex @menu @@ -54,7 +53,7 @@ sourcehut (mirror): @uref{https://git.sr.ht/~thanosapollo/gnosis} * Installation:: * Adding notes:: * Note Types:: -* Customization & Development:: +* Customization & Extension:: @detailmenu --- The Detailed Node Listing --- @@ -72,8 +71,9 @@ Note Types * MCQ (Multiple Choice Question):: * y-or-n:: -Customization & Development +Customization & Extension +* Adjust string comparison:: * Creating Custom Note Types:: * Customizing Gnosis Algorithm:: @@ -123,8 +123,8 @@ following emacs lisp snippet: @lisp (straight-use-package '(gnosis :type git - :host nil - :repo "https://git.thanosapollo.org/gnosis")) + :host nil + :repo "https://git.thanosapollo.org/gnosis")) @end lisp @node Installing manually from source @@ -164,13 +164,13 @@ 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")) + :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 @@ -270,8 +270,8 @@ 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 & Development -@chapter Customization & Development +@node Customization & Extension +@chapter Customization & Extension To make development and customization easier, gnosis comes with @samp{gnosis-dev} module, that should be used to create a custom database for @@ -285,10 +285,32 @@ To exit the testing environment, rerun @samp{M-x gnosis-dev-test} and then enter @samp{n} (no) at the prompt ``Start development env?'' @menu +* Adjust string comparison:: * Creating Custom Note Types:: * Customizing Gnosis Algorithm:: @end menu +@node Adjust string comparison +@section Adjust string comparison + +You may adjust @samp{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: +@lisp +(setf gnosis-string-difference 1) +@end lisp + +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. + +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 @@ -398,4 +420,4 @@ Example: 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 -@bye +@bye
\ No newline at end of file |