Speaker Name: Gold Ayan
About the talk: In this talk, we will be discussing about Denote package in emacs
Denote package is useful to take and consume notes
Notes
Installation
(use-package denote
:config
(setq denote-directory "~/PARA/03_Resources/01_Notes"))
File naming scheme
DATE==SIGNATURE--TITLE__KEYWORDS.EXTENSION
-
denote-dired-mode
(add-hook 'dired-mode-hook #'denote-dired-mode)
-
denote-rename
-
denote-dired-rename-files
Front matter
-
Sample front matter from org mode
#+title: ffmpeg
#+date: [2024-02-05 Mon 21:13]
#+filetags: :multimedia:
#+identifier: 20240205T211318 -
denote-rename-file-using-front-matter to update the filename if you changed the front matter.
-
denote-dired-rename-marked-files-using-front-matter extends this
principle to a batch operation which applies to all marked files in
Dired.
Point of entry
- My favorite point of entry, we have other point of entry too like
using capture template, denote-signature
Denote
- M + x denote
- M + x denote-open-or-create
- But i prefare this, as i can check if there is any existing note or i can create a new note.
Denote type
- By default it is
org
document - M + x denote-type
Denote date
-
Create a note on particular date
-
M + x denote-date
-
set denote-date-prompt-use-org-read-date to a non-nil, For using org mode calendar.
(setq denote-date-prompt-use-org-read-date 't)
Denote subdirectory
- Create note inside particular subdirectory
- M + x denote-subdirectory
CUSTOM
-
We can create custom point of entry using
denote-prompts
-
Below code demonstrate how we can create note which ask
- subdirectory → file-type → title → keywords
(defun denote-subdirectory-with-types ()
(declare (interactive-only t))
(interactive)
(let ((denote-prompts '(subdirectory file-type title keywords)))
(call-interactively #'denote))) -
More: Check the denote prompts section of denote info or denote website.
Denote template
(setq denote-templates
`((report . "* Some heading\n\n* Another heading")
(memo . ,(concat "* Some heading"
"\n\n"
"* Another heading"
"\n\n"))))
Denote selected region
- Create note from selected region
- A+x denote-region
Silos
-
Different note directory
-
Ctrl + u with denote silo command.
-
I haven’t explored much on silos.
(require 'denote-silo-extras)
(setq denote-silo-extras-directories '(“~/PARA/01_Projects”
“~/TEMP”)) -
another way, but it doesn’t work (May be i am missing something)
(setq denote-dired-directories (list denote-directory ; (expand-file-name "~/TEMP") (expand-file-name "~/TEMP")))
-
Alt + x denote-silo-extras-select-silo-then-command
- to select the custom silo and then create note in it.
Linking
- Alt + x, denote-link
- denote-link-dired-marked-notes
Backlinks
-
Alt + x, denote-backlinks
-
More info on backlinks
(setq denote-backlinks-show-context 't)
Others
-
denote-known-keywords to change the default keywords/tags.
-
denote-infer-keywords is non-nil, keywords in existing note file names are included in the list of candidates.
-
Rename display buffer
(denote-rename-buffer-mode 1)