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))