From 4041ef532d462a41410b8d11299ad14a79bf86e8 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Thu, 19 Sep 2024 17:08:35 +0300 Subject: doc: Update manual & git repo sources * Add mirrors --- doc/gnosis.org | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/gnosis.org b/doc/gnosis.org index 9d0efb9..19416ab 100644 --- a/doc/gnosis.org +++ b/doc/gnosis.org @@ -30,10 +30,13 @@ learning environment tailored to each specific topic/subject. #+texinfo: @noindent This manual is written for Gnosis version {{{stable-version}}}, released on {{{release-date}}}. -+ Official manual: ++ Manual: + + + (Mirror) + Git repositories: + + + (Mirror) + + (Mirror) #+texinfo: @insertcopying -- cgit v1.2.3 From 28b4067319bb10fc208c1066ef306779419a5a2b Mon Sep 17 00:00:00 2001 From: Gabriel <172639817+gs-101@users.noreply.github.com> Date: Thu, 19 Sep 2024 08:25:38 -0300 Subject: doc: New section: Interactions with other software. * Add new sections for gnosis interactions with other software. * Add interactions documentation with emacs-no-literring. * Restracture sections. --- doc/gnosis.org | 71 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 30 deletions(-) (limited to 'doc') diff --git a/doc/gnosis.org b/doc/gnosis.org index 19416ab..8054009 100644 --- a/doc/gnosis.org +++ b/doc/gnosis.org @@ -188,7 +188,6 @@ 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." - * Gnosis Algorithm Each gnosis note has a gnosis score, which is a list of 3 values, @@ -241,35 +240,6 @@ it's next review date will be on the same date. + 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~ -* Sync between devices - -Gnosis uses git to maintain data integrity and facilitate -synchronization across devices. - -You will need to configure your remote manually. - -Example: - -#+begin_src bash - 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_src - - -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: -#+begin_src emacs-lisp -(setf gnosis-vc-auto-push t) -(gnosis-vc-pull) ;; Run vc-pull for gnosis on startup -#+end_src - * Configuring Note Types ** Custom Note Types Each gnosis note type has an /interactive/ function, named @@ -303,3 +273,44 @@ testing. To exit the testing environment, rerun =M-x gnosis-test-start= and then enter =n= (no) at the prompt "Start development env?" + +* Sync between devices + +Gnosis uses git to maintain data integrity and facilitate +synchronization across devices. + +You will need to configure your remote manually. + +Example: + +#+begin_src bash + 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_src + + +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: +#+begin_src emacs-lisp +(setf gnosis-vc-auto-push t) +(gnosis-vc-pull) ;; Run vc-pull for gnosis on startup +#+end_src + +* Interactions with other software +** emacs-no-littering + +If you are a user of [[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: + +#+begin_src emacs-lisp +(setq gnosis-dir (no-littering-expand-var-file-name "gnosis/")) +#+end_src + +This sets =gnosis-dir= to =~/.emacs.d/var/gnosis=, in line with the folders of other packages. -- cgit v1.2.3 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(-) (limited to 'doc') 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