Just posted a video with a topic: Emacs Note Taking & Journaling with org-gnosis, which you can view on this YouTube link.
Video notes
Org Gnosis Overview
Org Gnosis Organization of Gnosis (Knowledge)
Org Gnosis a a minimal org-mode parsing tool that organizes the data of your notes as atomic nodes in an sqlite database.
- Org Gnosis provides a roam-like workflow, akin to Roam Research, Logseq and org-roam, with support for journaling.
In org-gnosis there are 2 types of nodes, gnosis nodes & journal nodes.
Installation & Configuration
- Refer to the project’s website for the latest installation instructions.
(use-package org-gnosis
:ensure t
:init
(define-prefix-command 'thanos/notes-map)
(define-prefix-command 'thanos/journal-map)
:config
;; I put my databse inside org-gnosis-dir to keep it in sync
;; between machines, using git.
(setf org-gnosis-db (emacsql-sqlite-open
(expand-file-name "data.db" org-gnosis-dir)))
(setf org-gnosis-dir "~/Notes"
org-gnosis-node-templates
'(("Default" (lambda () "" "#+startup: content\n")))
org-gnosis-journal-templates
'(("2050 Plan" journal/plan-2050)
("Empty" (lambda () "" "#+startup: content\n")))
org-gnosis-show-tags t
org-gnosis-create-as-gpg t
org-gnosis-completing-read-func #'org-completing-read)
(defun journal/plan-2050 ()
"My journaling template for 2050-01-01."
(let ((days-remaining (- (time-to-days (encode-time 0 0 0 1 1 2050))
(time-to-days (current-time)))))
(format
"\nDays until 2050: *%s* \n\n* Records\n\n* Daily notes\n* Goals\n%s"
days-remaining (org-gnosis-todos))))
:bind (("C-c n" . thanos/notes-map)
("C-c j" . thanos/journal-map)
:map thanos/notes-map
("f" . org-gnosis-find)
("i" . org-gnosis-insert)
("t" . org-gnosis-find-by-tag)
:map thanos/journal-map
("j" . org-gnosis-journal)
("f" . org-gnosis-journal-find)
("i" . org-gnosis-journal-insert)
:map org-gnosis-mode-map
("C-c C-." . org-gnosis-insert-tags)
("C-c i" . org-id-get-create)
("C-c C-o" . thanos/org-open-at-point)))
EPA (EasyPGP Assistant)
(use-package epa
:defer t
:config
(setf epa-keys-select-method 'minibuffer
epa-file-encrypt-to '("your-pgp-key")
;; Do not prompt for key selection, we are only using the above key.
epa-file-select-keys 'silent))