branch: elpa/gnosis
commit 3f449c93e80dbf742808bb1da6867459048a7c1e
Author: Thanos Apollo <pub...@thanosapollo.org>
Commit: Thanos Apollo <pub...@thanosapollo.org>

    docs: Depend on distributing docs through elpas
    
    + Only provide docs in org format, from which ELPAs (nongnu or GNU)
      will generate a .info file.
---
 doc/gnosis.info | 538 --------------------------------------------------------
 doc/gnosis.texi | 491 ---------------------------------------------------
 gnosis.el       |   2 +-
 3 files changed, 1 insertion(+), 1030 deletions(-)

diff --git a/doc/gnosis.info b/doc/gnosis.info
deleted file mode 100644
index b7afab8514..0000000000
--- a/doc/gnosis.info
+++ /dev/null
@@ -1,538 +0,0 @@
-This is gnosis.info, produced by .texi2any-real version 7.1.1 from
-gnosis.texi.
-
-INFO-DIR-SECTION Emacs misc features
-START-INFO-DIR-ENTRY
-* Gnosis: (gnosis).     Spaced Repetition Note Taking System.
-END-INFO-DIR-ENTRY
-
-
-File: gnosis.info,  Node: Top,  Next: Introduction,  Up: (dir)
-
-Gnosis User Manual
-******************
-
-Gnosis (GNU-sis) is a customizable spaced repetition system designed to
-enhance memory retention through active recall.  It allows users to set
-specific review intervals for note decks & tags, creating an optimal
-learning environment tailored to each specific topic/subject.
-
-This manual is written for Gnosis version 0.4.4, released on 2024-10-06.
-
-   • Manual:
-        • <https://elpa.nongnu.org/nongnu/doc/gnosis.html>
-        • <https://thanosapollo.org/projects/gnosis/> (Mirror)
-   • Git repositories:
-        • <https://git.thanosapollo.org/gnosis>
-        • <https://codeberg.org/thanosapollo/emacs-gnosis> (Mirror)
-        • 
-          <https://git.savannah.gnu.org/cgit/emacs/nongnu.git/?h=elpa/gnosis>
-          (Mirror)
-
-* Menu:
-
-* Introduction::
-* Adding notes::
-* Note Types::
-* Customization::
-* Gnosis Algorithm::
-* Editing notes::
-* Configuring Note Types::
-* Sync between devices::
-* Interactions with other software::
-* Contributing::
-
--- The Detailed Node Listing --
-
-Note Types
-
-* Cloze::
-* MC-Cloze (Under development)::
-* MCQ::
-* Basic Type::
-* Double::
-* y-or-n::
-
-Customization
-
-* Image size::
-* Typos | String Comparison::
-
-Gnosis Algorithm
-
-* Anagnosis Event::
-* Proto::
-
-Configuring Note Types
-
-* Custom Note Types::
-* Development::
-
-Interactions with other software
-
-* emacs-no-littering::
-
-Contributing
-
-* How to create a patch::
-
-
-
-File: gnosis.info,  Node: Introduction,  Next: Adding notes,  Prev: Top,  Up: 
Top
-
-1 Introduction
-**************
-
-Gnosis (γνῶσις) is a spaced repetition system that enhances memory
-retention through active recall.  It employs a Q&A format, where each
-note consists of a question, answer, and explanation.  Notes are
-reviewed at optimally spaced intervals based on the user's success or
-failure to recall the answer.  Key benefits arise from writing out
-answers when reviewing notes, fostering deeper understanding and
-improved memory retention.
-
-   Gnosis algorithm is highly adjustable, allowing users to set specific
-values not just for note decks but for tags as well.  Gnosis'
-adjustability allows users to fine-tune settings not only for entire
-note collections but also for specific tagged topics, thereby creating a
-personalized learning environment for each topic.  Read more on *note
-Gnosis Algorithm::
-
-   Before continuing reading this manual, it's recommended you try out
-‘gnosis-demo’.
-
-
-File: gnosis.info,  Node: Adding notes,  Next: Note Types,  Prev: 
Introduction,  Up: Top
-
-2 Adding notes
-**************
-
-Creating notes for gnosis can be done interactively with:
-
-   ‘M-x gnosis-add-note’
-
-   Or from within ‘gnosis-dashboard’
-
-   When it comes to adding images, you can select images that are inside
-‘gnosis-images-dir’.  For adjusting image size, refer to *note
-Customization::
-
-
-File: gnosis.info,  Node: Note Types,  Next: Customization,  Prev: Adding 
notes,  Up: Top
-
-3 Note Types
-************
-
-* Menu:
-
-* Cloze::
-* MC-Cloze (Under development)::
-* MCQ::
-* Basic Type::
-* Double::
-* y-or-n::
-
-
-File: gnosis.info,  Node: Cloze,  Next: MC-Cloze (Under development),  Up: 
Note Types
-
-3.1 Cloze
-=========
-
-A cloze note type is a format where you create sentences or paragraphs
-with "missing" words.  A fill-in-the-blanks question.
-
-   You can create a cloze note type using ‘M-x gnosis-add-note’ and
-selecting ‘Cloze’, the question should be formatted like this:
-
-     {c1:Cyproheptadine::drug name} is a(n) {c2:5-HT2} receptor
-     antagonist used to treat {c2:serotonin syndrome}
-
-   You can also format clozes like Anki if you so prefer; e.g
-‘{{c1::Cyproheptadine::drug name}}’
-
-   • For each cX-tag there will be created a cloze type note, the above
-     example creates 2 cloze type notes.
-
-   • Each cX tag can have multiple clozes, but each cloze must be a
-     *UNIQUE* word, or a unique combination of words, in given note.
-
-        • If a cloze is repeated, such as in phrases with "acetyl" &
-          acetylcholine, include whitespace in the cloze to denote a
-          single word.
-
-   • You can use the keyword ‘::’ to indicate a hint.
-
-   You can remove the _guidance_ string by adjusting
-‘gnosis-cloze-guidance’.
-
-
-File: gnosis.info,  Node: MC-Cloze (Under development),  Next: MCQ,  Prev: 
Cloze,  Up: Note Types
-
-3.2 MC-Cloze (Under development)
-================================
-
-MC-Cloze is disabled by default, to enable it add to your configuration:
-
-   ‘(add-to-list 'gnosis-note-types "MC-Cloze")’
-
-   A MC-Cloze (_Multiple Choice Cloze_) is a fill-in-the-blank note, but
-unlike *note cloze note type: Cloze. the user is prompted to select an
-option instead of typing an answer.
-
-   You can create multiple notes from one input, but each note can only
-have *one* cloze.  The first option will always be the right answer
-(will be randomized in the database), separated by the rest of the
-answer by ‘gnosis-mc-cloze-separator’ (default value is "&&"), and a
-note will be generated from each cloze.
-
-   Example:
-     The greatest text editor is Emacs&&Vim&&Helix
-
-   When customizing ‘gnosis-mc-cloze=separator’ pay attention to not use
-values that would mess up with regex functions.
-
-
-File: gnosis.info,  Node: MCQ,  Next: Basic Type,  Prev: MC-Cloze (Under 
development),  Up: Note Types
-
-3.3 MCQ
-=======
-
-A MCQ note type, as the name suggests, is a multiple choice question.
-
-   The stem field (question) is separated by the options (choices) via
-‘gnosis-mcq-separator’, each option is separated by
-‘gnosis-mcq-option-separator’.
-
-   You can remove the _guidance_ string by adjusting
-‘gnosis-mcq-guidance’.
-
-
-File: gnosis.info,  Node: Basic Type,  Next: Double,  Prev: MCQ,  Up: Note 
Types
-
-3.4 Basic Type
-==============
-
-Basic note type is a simple question/answer note, where the user first
-sees a "main" part, which is usually a question, and he is prompted to
-input the answer.
-
-
-File: gnosis.info,  Node: Double,  Next: y-or-n,  Prev: Basic Type,  Up: Note 
Types
-
-3.5 Double
-==========
-
-Double note type, is essentially a note that generates 2 basic notes.
-The second one reverses question/answer.
-
-   Ideal for vocabulary acquisition notes.
-
-
-File: gnosis.info,  Node: y-or-n,  Prev: Double,  Up: Note Types
-
-3.6 y-or-n
-==========
-
-y-or-n (yes or no) note type, user is presented with a question and
-prompted to enter character "y" or "n".
-
-   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.
-
-
-File: gnosis.info,  Node: Customization,  Next: Gnosis Algorithm,  Prev: Note 
Types,  Up: Top
-
-4 Customization
-***************
-
-* Menu:
-
-* Image size::
-* Typos | String Comparison::
-
-
-File: gnosis.info,  Node: Image size,  Next: Typos | String Comparison,  Up: 
Customization
-
-4.1 Image size
-==============
-
-Adjust image size using ‘gnosis-image-height’ & ‘gnosis-image-width’
-
-   Example:
-     (setf gnosis-image-height 300
-           gnosis-image-width 300)
-
-
-File: gnosis.info,  Node: Typos | String Comparison,  Prev: Image size,  Up: 
Customization
-
-4.2 Typos | String Comparison
-=============================
-
-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
-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: Gnosis Algorithm,  Next: Editing notes,  Prev: 
Customization,  Up: Top
-
-5 Gnosis Algorithm
-******************
-
-Each gnosis note has a gnosis score, which is a list of 3 values,
-(gnosis-plus gnosis-minus gnosis-synolon/total).  Gnosis-synolon is what
-is used to determine the next interval upon a successful recall,
-gnosis-plus is added to gnosis-synolon upon a successful recall as well,
-gnosis-minus is subtracted from gnosis-synolon upon failing to recall a
-note's answer.
-
-   Gnosis has 2 special events, one is ‘anagnosis’ _ανάγνωση_ and
-‘lethe’ _λήθη_.
-
-* Menu:
-
-* Anagnosis Event::
-* Proto::
-
-
-File: gnosis.info,  Node: Anagnosis Event,  Next: Proto,  Up: Gnosis Algorithm
-
-5.1 Anagnosis Event
-===================
-
-‘Anagnosis’, which means comprehension & recognition of knowledge, is
-triggered when the consecutive successful or failed recalls are equal or
-greater to anagnosis value.
-
-   When ‘anagnosis’ is triggered by consecutive *successful* recalls,
-‘epignosis’ value is added to gnosis-plus.  _Epignosis means accuracy of
-knowledge_.
-
-   When ‘anagnosis’ is triggered by consecutive *failed* recalls,
-‘agnoia’ value is added to gnosis-minus.  _Agnoia means lack of
-knowledge_
-
-   You can set specific values for each deck and tag of the variables
-mentioned above by adjusting ‘gnosis-custom-values’.
-
-
-File: gnosis.info,  Node: Proto,  Prev: Anagnosis Event,  Up: Gnosis Algorithm
-
-5.2 Proto
-=========
-
-The default initial interval is defined at ‘gnosis-algorithm-proto’, you
-can define a custom initial interval for each deck as well.
-
-   ‘gnosis-algorithm-interval’ is a list of numbers, representing the
-first initial intervals for successful reviews.  There is no limit on
-the length of the list.
-
-   Example:
-
-     (setq gnosis-algorithm-interval '(0 1 2 30))
-
-   Upon each successful note review, the algorithm will increment to the
-next interval value: 0 days (0), 1 day later (1), 2 days later (2), and
-30 days later.
-
-   Upon failing to review a note without completing it's proto
-successful reviews, it's next review date will be on the same date.
-
-
-File: gnosis.info,  Node: Editing notes,  Next: Configuring Note Types,  Prev: 
Gnosis Algorithm,  Up: Top
-
-6 Editing notes
-***************
-
-   • Currently there are 2 ways for editing notes:
-
-        • You can edit a note after review by pressing ‘e’
-        • Open ‘gnosis-dashboard’ with ‘M-x gnosis-dashboard’, find the
-          note you want to edit and press ‘e’
-
-
-File: gnosis.info,  Node: Configuring Note Types,  Next: Sync between devices, 
 Prev: Editing notes,  Up: Top
-
-7 Configuring Note Types
-************************
-
-* Menu:
-
-* Custom Note Types::
-* Development::
-
-
-File: gnosis.info,  Node: Custom Note Types,  Next: Development,  Up: 
Configuring Note Types
-
-7.1 Custom Note Types
-=====================
-
-Each gnosis note type has an _interactive_ function, named
-‘gnosis-add-note-TYPE’ and a "hidden" function named
-‘gnosis-add-note--TYPE’.  You can create your own custom interactive
-functions to ignore or hard-code specific values by using already
-defined hidden functions that handle all the logic.
-
-   For example:
-
-     (defun gnosis-add-note-custombasic (deck)
-       (gnosis-add-note--basic :deck deck
-                               :question (gnosis-read-string-from-buffer 
"Question: " "")
-                               :answer (read-string "Answer: ")
-                               :hint (gnosis-hint-prompt 
gnosis-previous-note-hint)
-                               :extra ""
-                               :images nil
-                               :tags (gnosis-prompt-tags--split 
gnosis-previous-note-tags)))
-     ;; Add custom note type to gnosis-note-types
-     (add-to-list 'gnosis-note-types "custombasic")
-
-   Now ‘custombasic’ is available as a note type, for which you won't be
-prompted to enter anything for ‘extra’ & ‘images’.
-
-
-File: gnosis.info,  Node: Development,  Prev: Custom Note Types,  Up: 
Configuring Note Types
-
-7.2 Development
-===============
-
-To make development and customization easier, gnosis comes with
-‘gnosis-test’ module, that should be used to create a custom database
-for testing.
-
-   To exit the testing environment, rerun ‘M-x gnosis-test-start’ and
-then enter ‘n’ (no) at the prompt "Start development env?"
-
-
-File: gnosis.info,  Node: Sync between devices,  Next: Interactions with other 
software,  Prev: Configuring Note Types,  Up: Top
-
-8 Sync between devices
-**********************
-
-Gnosis uses git to maintain data integrity and facilitate
-synchronization across devices.
-
-   You will need to configure your remote manually.
-
-   Example:
-
-     cd ~/.emacs.d/gnosis # default location for gnosis, no-littering is 
~/.emacs.d/var/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
-
-
-File: gnosis.info,  Node: Interactions with other software,  Next: 
Contributing,  Prev: Sync between devices,  Up: Top
-
-9 Interactions with other software
-**********************************
-
-* Menu:
-
-* emacs-no-littering::
-
-
-File: gnosis.info,  Node: emacs-no-littering,  Up: Interactions with other 
software
-
-9.1 emacs-no-littering
-======================
-
-If you are a user of emacs-no-littering
-(https://github.com/emacscollective/no-littering), you can theme Gnosis
-to fit its standards by adding the following snippet to your
-configuration:
-
-     (setq gnosis-dir (no-littering-expand-var-file-name "gnosis/"))
-
-   This sets ‘gnosis-dir’ to ‘~/.emacs.d/var/gnosis’, in line with the
-folders of other packages.
-
-
-File: gnosis.info,  Node: Contributing,  Prev: Interactions with other 
software,  Up: Top
-
-10 Contributing
-***************
-
-Thank you for considering contributing back to gnosis.  You can
-contribute by submitting a pull request on the codeberg mirror
-repository, or directly sending me patch via email.
-
-* Menu:
-
-* How to create a patch::
-
-
-File: gnosis.info,  Node: How to create a patch,  Up: Contributing
-
-10.1 How to create a patch
-==========================
-
-_Example:_
-
-     $ git clone https://git.thanosapollo.com/gnosis.git && cd gnosis
-     $ emacs something
-     $ git add something
-     $ git commit -m "Fix something"
-     $ git format-patch HEAD^1
-     0001-Fix-something.patch
-
-   You can sent the patch to "Thanos Apollo", the email of which you can
-find on the git log.
-
-
-
-Tag Table:
-Node: Top221
-Node: Introduction1702
-Node: Adding notes2715
-Node: Note Types3126
-Node: Cloze3344
-Node: MC-Cloze (Under development)4506
-Node: MCQ5494
-Node: Basic Type5932
-Node: Double6208
-Node: y-or-n6474
-Node: Customization6876
-Node: Image size7061
-Node: Typos | String Comparison7347
-Node: Gnosis Algorithm8122
-Node: Anagnosis Event8769
-Node: Proto9510
-Node: Editing notes10277
-Node: Configuring Note Types10671
-Node: Custom Note Types10883
-Node: Development12093
-Node: Sync between devices12512
-Node: Interactions with other software13597
-Node: emacs-no-littering13823
-Node: Contributing14323
-Node: How to create a patch14665
-
-End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:
diff --git a/doc/gnosis.texi b/doc/gnosis.texi
deleted file mode 100644
index a0d9a89f19..0000000000
--- a/doc/gnosis.texi
+++ /dev/null
@@ -1,491 +0,0 @@
-\input texinfo    @c -*- texinfo -*-
-@c %**start of header
-@setfilename gnosis.info
-@settitle Gnosis User Manual
-@documentencoding UTF-8
-@documentlanguage en
-@set MAINTAINERSITE @uref{https://thanosapollo.org,maintainer webpage}
-@set MAINTAINER Thanos Apollo
-@set MAINTAINEREMAIL @email{pub...@thanosapollo.org}
-@set MAINTAINERCONTACT @uref{mailto:pub...@thanosapollo.org,contact the 
maintainer}
-@c %**end of header
-
-@dircategory Emacs misc features
-@direntry
-* Gnosis: (gnosis).     Spaced Repetition Note Taking System.
-@end direntry
-
-@finalout
-@titlepage
-@title Gnosis User Manual
-@author Thanos Apollo (@email{public@@thanosapollo.org})
-@end titlepage
-
-@ifnottex
-@node Top
-@top Gnosis User Manual
-
-Gnosis (GNU-sis) is a customizable spaced repetition system designed to enhance
-memory retention through active recall.  It allows users to set
-specific review intervals for note decks & tags, creating an optimal
-learning environment tailored to each specific topic/subject.
-
-@noindent
-This manual is written for Gnosis version 0.4.4, released on 2024-10-06.
-
-@itemize
-@item
-Manual:
-@itemize
-@item
-@uref{https://elpa.nongnu.org/nongnu/doc/gnosis.html}
-@item
-@uref{https://thanosapollo.org/projects/gnosis/} (Mirror)
-@end itemize
-@item
-Git repositories:
-@itemize
-@item
-@uref{https://git.thanosapollo.org/gnosis}
-@item
-@uref{https://codeberg.org/thanosapollo/emacs-gnosis} (Mirror)
-@item
-@uref{https://git.savannah.gnu.org/cgit/emacs/nongnu.git/?h=elpa/gnosis} 
(Mirror)
-@end itemize
-@end itemize
-
-@insertcopying
-
-@end ifnottex
-
-@menu
-* Introduction::
-* Adding notes::
-* Note Types::
-* Customization::
-* Gnosis Algorithm::
-* Editing notes::
-* Configuring Note Types::
-* Sync between devices::
-* Interactions with other software::
-* Contributing::
-
-@detailmenu
---- The Detailed Node Listing ---
-
-Note Types
-
-* Cloze::
-* MC-Cloze (Under development)::
-* MCQ::
-* Basic Type::
-* Double::
-* y-or-n::
-
-Customization
-
-* Image size::
-* Typos | String Comparison::
-
-Gnosis Algorithm
-
-* Anagnosis Event::
-* Proto::
-
-Configuring Note Types
-
-* Custom Note Types::
-* Development::
-
-Interactions with other software
-
-* emacs-no-littering::
-
-Contributing
-
-* How to create a patch::
-
-@end detailmenu
-@end menu
-
-@node Introduction
-@chapter Introduction
-
-Gnosis (γνῶσις) is a spaced repetition system that enhances memory
-retention through active recall. It employs a Q&A format, where each
-note consists of a question, answer, and explanation. Notes are
-reviewed at optimally spaced intervals based on the user's success or
-failure to recall the answer.  Key benefits arise from writing out
-answers when reviewing notes, fostering deeper understanding
-and improved memory retention.
-
-Gnosis algorithm is highly adjustable, allowing users to set specific
-values not just for note decks but for tags as well.  Gnosis'
-adjustability allows users to fine-tune settings not only for entire
-note collections but also for specific tagged topics, thereby creating
-a personalized learning environment for each topic.  Read more on
-@ref{Gnosis Algorithm}
-
-Before continuing reading this manual, it's recommended you try out
-@samp{gnosis-demo}.
-
-@node Adding notes
-@chapter Adding notes
-
-Creating notes for gnosis can be done interactively with:
-
-@samp{M-x gnosis-add-note}
-
-Or from within @samp{gnosis-dashboard}
-
-When it comes to adding images, you can select images that are inside
-@samp{gnosis-images-dir}.  For adjusting image size, refer to 
@ref{Customization}
-
-@node Note Types
-@chapter Note Types
-
-@menu
-* Cloze::
-* MC-Cloze (Under development)::
-* MCQ::
-* Basic Type::
-* Double::
-* y-or-n::
-@end menu
-
-@node Cloze
-@section Cloze
-
-A cloze note type is a format where you create sentences or paragraphs
-with ``missing'' words.  A fill-in-the-blanks question.  
-
-You can create a cloze note type using @samp{M-x gnosis-add-note} and
-selecting @code{Cloze}, the question should be formatted like this:
-
-@quotation
-@{c1:Cyproheptadine::drug name@} is a(n) @{c2:5-HT2@} receptor antagonist used 
to treat @{c2:serotonin syndrome@}
-
-@end quotation
-
-You can also format clozes like Anki if you so prefer; e.g 
@code{@{@{c1::Cyproheptadine::drug name@}@}}
-
-@itemize
-@item
-For each cX-tag there will be created a cloze type note, the above
-example creates 2 cloze type notes.
-
-@item
-Each cX tag can have multiple clozes, but each cloze must be a
-@strong{UNIQUE} word, or a unique combination of words, in given note.
-
-@itemize
-@item
-If a cloze is repeated, such as in phrases with ``acetyl'' &
-acetylcholine, include whitespace in the cloze to denote a single
-word.
-@end itemize
-
-@item
-You can use the keyword @samp{::} to indicate a hint.
-@end itemize
-
-You can remove the @emph{guidance} string by adjusting
-@samp{gnosis-cloze-guidance}.
-
-@node MC-Cloze (Under development)
-@section MC-Cloze (Under development)
-
-MC-Cloze is disabled by default, to enable it add to your configuration:
-
-@samp{(add-to-list 'gnosis-note-types "MC-Cloze")}
-
-A MC-Cloze (@emph{Multiple Choice Cloze}) is a fill-in-the-blank note,
-but unlike @ref{Cloze, , cloze note type} the user is prompted to select an 
option
-instead of typing an answer.
-
-You can create multiple notes from one input, but each note can only
-have @strong{one} cloze. The first option will always be the right answer
-(will be randomized in the database), separated by the rest of the
-answer by @samp{gnosis-mc-cloze-separator} (default value is ``&&''), and a
-note will be generated from each cloze.
-
-Example:
-@quotation
-The greatest text editor is Emacs&&Vim&&Helix
-
-@end quotation
-
-When customizing @samp{gnosis-mc-cloze=separator} pay attention to not use
-values that would mess up with regex functions.
-
-@node MCQ
-@section MCQ
-
-A MCQ note type, as the name suggests, is a multiple choice question.
-
-The stem field (question) is separated by the options (choices) via
-@samp{gnosis-mcq-separator}, each option is separated by 
@samp{gnosis-mcq-option-separator}.
-
-You can remove the @emph{guidance} string by adjusting
-@samp{gnosis-mcq-guidance}.
-
-@node Basic Type
-@section Basic Type
-
-Basic note type is a simple question/answer note, where the user first
-sees a ``main'' part, which is usually a question, and he is prompted to
-input the answer.
-
-@node Double
-@section Double
-
-Double note type, is essentially a note that generates 2 basic notes.
-The second one reverses question/answer.
-
-Ideal for vocabulary acquisition notes.
-
-@node y-or-n
-@section y-or-n
-
-y-or-n (yes or no) note type, user is presented with a question and
-prompted to enter character ``y'' or ``n''.
-
-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
-@chapter Customization
-
-@menu
-* Image size::
-* Typos | String Comparison::
-@end menu
-
-@node Image size
-@section Image size
-
-Adjust image size using @samp{gnosis-image-height} & @samp{gnosis-image-width}
-
-Example:
-@lisp
-(setf gnosis-image-height 300
-      gnosis-image-width 300)
-@end lisp
-
-@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
-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 @samp{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 Gnosis Algorithm
-@chapter Gnosis Algorithm
-
-Each gnosis note has a gnosis score, which is a list of 3 values,
-(gnosis-plus gnosis-minus gnosis-synolon/total).  Gnosis-synolon is
-what is used to determine the next interval upon a successful recall,
-gnosis-plus is added to gnosis-synolon upon a successful recall as
-well, gnosis-minus is subtracted from gnosis-synolon upon failing to
-recall a note's answer.
-
-Gnosis has 2 special events, one is @code{anagnosis} @emph{ανάγνωση} and 
@code{lethe} @emph{λήθη}.
-
-@menu
-* Anagnosis Event::
-* Proto::
-@end menu
-
-@node Anagnosis Event
-@section Anagnosis Event
-
-@code{Anagnosis}, which means comprehension & recognition of knowledge, is
-triggered when the consecutive successful or failed recalls are equal
-or greater to anagnosis value.
-
-When @code{anagnosis} is triggered by consecutive @strong{successful} recalls,
-@code{epignosis} value is added to gnosis-plus.  @emph{Epignosis means 
accuracy of knowledge}.
-
-When @code{anagnosis} is triggered by consecutive @strong{failed} recalls,
-@code{agnoia} value is added to gnosis-minus. @emph{Agnoia means lack of 
knowledge}
-
-You can set specific values for each deck and tag of the variables
-mentioned above by adjusting @samp{gnosis-custom-values}.
-
-@node Proto
-@section Proto
-
-The default initial interval is defined at
-@samp{gnosis-algorithm-proto}, you can define a custom initial interval
-for each deck as well.
-
-@samp{gnosis-algorithm-interval} is a list of numbers, representing the
-first initial intervals for successful reviews.  There is no limit on
-the length of the list.
-
-Example:
-
-@lisp
-(setq gnosis-algorithm-interval '(0 1 2 30))
-@end lisp
-
-Upon each successful note review, the algorithm will increment to the
-next interval value: 0 days (0), 1 day later (1), 2 days later
-(2), and 30 days later.
-
-Upon failing to review a note without completing it's proto successful reviews,
-it's next review date will be on the same date.
-
-@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 Configuring Note Types
-@chapter Configuring Note Types
-
-@menu
-* Custom Note Types::
-* Development::
-@end menu
-
-@node Custom Note Types
-@section Custom Note Types
-
-Each gnosis note type has an @emph{interactive} function, named
-@samp{gnosis-add-note-TYPE} and a ``hidden'' function
-named @samp{gnosis-add-note--TYPE}.  You can create your own custom interactive
-functions to ignore or hard-code specific values by using already
-defined hidden functions that handle all the logic.
-
-For example:
-
-@lisp
-(defun gnosis-add-note-custombasic (deck)
-  (gnosis-add-note--basic :deck deck
-                          :question (gnosis-read-string-from-buffer "Question: 
" "")
-                          :answer (read-string "Answer: ")
-                          :hint (gnosis-hint-prompt gnosis-previous-note-hint)
-                          :extra ""
-                          :images nil
-                          :tags (gnosis-prompt-tags--split 
gnosis-previous-note-tags)))
-;; Add custom note type to gnosis-note-types
-(add-to-list 'gnosis-note-types "custombasic")
-@end lisp
-
-Now @code{custombasic} is available as a note type, for which you won't be 
prompted to enter
-anything for @code{extra} & @code{images}.
-
-@node Development
-@section Development
-
-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?''
-
-@node Sync between devices
-@chapter Sync between devices
-
-Gnosis uses git to maintain data integrity and facilitate
-synchronization across devices.
-
-You will need to configure your remote manually.
-
-Example:
-
-@example
-cd ~/.emacs.d/gnosis # default location for gnosis, no-littering is 
~/.emacs.d/var/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
-@end example
-
-
-You can interactively use @samp{gnosis-vc-push} & @samp{gnosis-vc-pull}. As the
-name suggests, they rely on @samp{vc} to work properly.
-
-Depending on your setup, @samp{vc} might require an external package for
-the ssh passphrase dialog, such as @code{x11-ssh-askpass}.
-
-To automatically push changes after a review session, add this to your 
configuration:
-@lisp
-(setf gnosis-vc-auto-push t)
-(gnosis-vc-pull) ;; Run vc-pull for gnosis on startup
-@end lisp
-
-@node Interactions with other software
-@chapter Interactions with other software
-
-@menu
-* emacs-no-littering::
-@end menu
-
-@node emacs-no-littering
-@section emacs-no-littering
-
-If you are a user of @uref{https://github.com/emacscollective/no-littering, 
emacs-no-littering}, you can theme Gnosis to fit
-its standards by adding the following snippet to your configuration:
-
-@lisp
-(setq gnosis-dir (no-littering-expand-var-file-name "gnosis/"))
-@end lisp
-
-This sets @samp{gnosis-dir} to @samp{~/.emacs.d/var/gnosis}, in line with the 
folders of other packages.
-
-@node Contributing
-@chapter Contributing
-
-Thank you for considering contributing back to gnosis.  You can
-contribute by submitting a pull request on the codeberg mirror
-repository, or directly sending me patch via email.
-
-@menu
-* How to create a patch::
-@end menu
-
-@node How to create a patch
-@section How to create a patch
-
-@emph{Example:}
-
-@example
-$ git clone https://git.thanosapollo.com/gnosis.git && cd gnosis
-$ emacs something
-$ git add something
-$ git commit -m "Fix something"
-$ git format-patch HEAD^1
-0001-Fix-something.patch
-@end example
-
-You can sent the patch to ``Thanos Apollo'', the email of which you can
-find on the git log.
-
-@bye
diff --git a/gnosis.el b/gnosis.el
index d92a4385e0..30ad1eaf27 100644
--- a/gnosis.el
+++ b/gnosis.el
@@ -192,7 +192,7 @@ Avoid using an increased height value as this messes up with
 (defvar gnosis-review-notes nil
   "Review notes.")
 
-(defvar gnosis-separator "\n- ")
+(defvar gnosis-export-separator "\n- ")
 
 ;; TODO: Make this as a defcustom.
 (defvar gnosis-custom-values

Reply via email to