From fd1315830e3aedf5d7cedc8410ec4f4bc2b781f0 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Sun, 6 Oct 2024 08:34:02 +0300 Subject: Update docs & version bump to 0.4.4. --- doc/gnosis.info | 154 +++++++++++++++++++++++++++++++++++--------------------- doc/gnosis.org | 4 +- doc/gnosis.texi | 94 ++++++++++++++++++++++------------ gnosis.el | 9 ++-- 4 files changed, 165 insertions(+), 96 deletions(-) diff --git a/doc/gnosis.info b/doc/gnosis.info index b57f067..252fe79 100644 --- a/doc/gnosis.info +++ b/doc/gnosis.info @@ -1,4 +1,4 @@ -This is gnosis.info, produced by .texi2any-real version 7.1 from +This is gnosis.info, produced by .texi2any-real version 7.1.1 from gnosis.texi. INFO-DIR-SECTION Emacs misc features @@ -19,10 +19,15 @@ learning environment tailored to each specific topic/subject. This manual is written for Gnosis version 0.4.2, released on 2024-09-5. - • Official manual: + • Manual: • + • (Mirror) • Git repositories: • + • (Mirror) + • + + (Mirror) * Menu: @@ -32,8 +37,9 @@ This manual is written for Gnosis version 0.4.2, released on 2024-09-5. * Customization:: * Gnosis Algorithm:: * Editing notes:: -* Sync between devices:: * Configuring Note Types:: +* Sync between devices:: +* Interactions with other software:: -- The Detailed Node Listing -- @@ -61,6 +67,10 @@ Configuring Note Types * Custom Note Types:: * Development:: +Interactions with other software + +* emacs-no-littering:: +  File: gnosis.info, Node: Introduction, Next: Adding notes, Prev: Top, Up: Top @@ -336,7 +346,7 @@ next interval value: 0 days (0), 1 day later (1), 2 days later (2), and successful reviews, it's next review date will be on the same date.  -File: gnosis.info, Node: Editing notes, Next: Sync between devices, Prev: Gnosis Algorithm, Up: Top +File: gnosis.info, Node: Editing notes, Next: Configuring Note Types, Prev: Gnosis Algorithm, Up: Top 6 Editing notes *************** @@ -348,38 +358,9 @@ File: gnosis.info, Node: Editing notes, Next: Sync between devices, Prev: Gno note you want to edit and press ‘e’  -File: gnosis.info, Node: Sync between devices, Next: Configuring Note Types, Prev: Editing notes, Up: Top - -7 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 - git init # After completing your first review session, a git repo should have been initialized automatically. - git remote add origin - 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: Configuring Note Types, Prev: Sync between devices, Up: Top +File: gnosis.info, Node: Configuring Note Types, Next: Sync between devices, Prev: Editing notes, Up: Top -8 Configuring Note Types +7 Configuring Note Types ************************ * Menu: @@ -390,7 +371,7 @@ File: gnosis.info, Node: Configuring Note Types, Prev: Sync between devices,  File: gnosis.info, Node: Custom Note Types, Next: Development, Up: Configuring Note Types -8.1 Custom Note Types +7.1 Custom Note Types ===================== Each gnosis note type has an _interactive_ function, named @@ -418,7 +399,7 @@ prompted to enter anything for ‘extra’ & ‘images’.  File: gnosis.info, Node: Development, Prev: Custom Note Types, Up: Configuring Note Types -8.2 Development +7.2 Development =============== To make development and customization easier, gnosis comes with @@ -428,30 +409,87 @@ 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 + 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, 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. +  Tag Table: -Node: Top250 -Node: Introduction1341 -Node: Adding notes2354 -Node: Note Types2765 -Node: Cloze2983 -Node: MC-Cloze (Under development)4145 -Node: MCQ5133 -Node: Basic Type5571 -Node: Double5847 -Node: y-or-n6113 -Node: Customization6515 -Node: Image size6700 -Node: Typos | String Comparison6986 -Node: Gnosis Algorithm7761 -Node: Anagnosis Event8408 -Node: Proto9149 -Node: Editing notes9916 -Node: Sync between devices10308 -Node: Configuring Note Types11335 -Node: Custom Note Types11525 -Node: Development12735 +Node: Top252 +Node: Introduction1674 +Node: Adding notes2687 +Node: Note Types3098 +Node: Cloze3316 +Node: MC-Cloze (Under development)4478 +Node: MCQ5466 +Node: Basic Type5904 +Node: Double6180 +Node: y-or-n6446 +Node: Customization6848 +Node: Image size7033 +Node: Typos | String Comparison7319 +Node: Gnosis Algorithm8094 +Node: Anagnosis Event8741 +Node: Proto9482 +Node: Editing notes10249 +Node: Configuring Note Types10643 +Node: Custom Note Types10855 +Node: Development12065 +Node: Sync between devices12484 +Node: Interactions with other software13569 +Node: emacs-no-littering13774  End Tag Table diff --git a/doc/gnosis.org b/doc/gnosis.org index 8054009..c912ca6 100644 --- a/doc/gnosis.org +++ b/doc/gnosis.org @@ -4,8 +4,8 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 0.4.2 -#+macro: release-date 2024-09-5 +#+macro: stable-version 0.4.4 +#+macro: release-date 2024-10-06 #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ diff --git a/doc/gnosis.texi b/doc/gnosis.texi index e5cc81f..4816566 100644 --- a/doc/gnosis.texi +++ b/doc/gnosis.texi @@ -35,16 +35,22 @@ This manual is written for Gnosis version 0.4.2, released on 2024-09-5. @itemize @item -Official manual: +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 @@ -59,8 +65,9 @@ Git repositories: * Customization:: * Gnosis Algorithm:: * Editing notes:: -* Sync between devices:: * Configuring Note Types:: +* Sync between devices:: +* Interactions with other software:: @detailmenu --- The Detailed Node Listing --- @@ -89,6 +96,10 @@ Configuring Note Types * Custom Note Types:: * Development:: +Interactions with other software + +* emacs-no-littering:: + @end detailmenu @end menu @@ -350,36 +361,6 @@ Open @samp{gnosis-dashboard} with @samp{M-x gnosis-dashboard}, find the note you @end itemize @end itemize -@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 -git init # After completing your first review session, a git repo should have been initialized automatically. -git remote add origin -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 Configuring Note Types @chapter Configuring Note Types @@ -425,4 +406,53 @@ 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 +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. + @bye diff --git a/gnosis.el b/gnosis.el index c85c9cc..c2dbb5b 100644 --- a/gnosis.el +++ b/gnosis.el @@ -5,7 +5,7 @@ ;; Author: Thanos Apollo ;; Keywords: extensions ;; URL: https://thanosapollo.org/projects/gnosis -;; Version: 0.4.4-dev +;; Version: 0.4.4 ;; Package-Requires: ((emacs "27.2") (emacsql "4.0.1") (compat "29.1.4.2") (transient "0.7.2")) @@ -2571,10 +2571,11 @@ If STRING-SECTION is nil, apply FACE to the entire STRING." :group 'gnosis :lighter nil (setq gnosis-due-notes-total (length (gnosis-review-get-due-notes))) - (if gnosis-modeline-mode + (if (and gnosis-modeline-mode gnosis-due-notes-total) (progn - (add-to-list 'global-mode-string '(:eval - (format " G:%d" gnosis-due-notes-total))) + (add-to-list 'global-mode-string + '(:eval + (format " G:%d" gnosis-due-notes-total) 'face 'warning)) (force-mode-line-update)) (setq global-mode-string (seq-remove (lambda (item) -- cgit v1.2.3