Emacs: denote version 0.6.0
Denote is a simple note-taking tool. It is based on the idea that notes should follow a predictable and descriptive file-naming scheme. The file name must offer a clear indication of what the note is about, without reference to any other metadata. Denote basically streamlines the creation of such files while providing facilities to link between them.
- Package name (GNU ELPA):
denote
- Official manual: https://protesilaos.com/emacs/denote
- Change log: https://protesilaos.com/emacs/denote-changelog
- Git repo on SourceHut: https://git.sr.ht/~protesilaos/denote
- Mirrors:
- Mailing list: https://lists.sr.ht/~protesilaos/denote
- Video demo: https://protesilaos.com/codelog/2022-06-18-denote-demo/.
Below are the release notes.
Denote is in a stable state. I consider it feature-complete, without
prejudice to possible refinements to its existing feature set. The next
version shall be 1.0.0
.
User-facing changes
-
The Denote linking facility can now link to any file that has the Denote file-naming scheme. Before, we limited this feature to what we consider “note” files, else the supported plain text formats (per
denote-file-type
). Thanks to Peter Prevos for the discussion on the mailing list: https://lists.sr.ht/~protesilaos/denote/%3C87fsi1m5ze.fsf%40prevos.net%3E. -
Date prompts may optionally use the familiar Org date-selection mechanism that leverages the calendar. This feature is subject to the user option
denote-date-prompt-use-org-read-date
. A date prompt is used by thedenote-date
command or, optionally, by thedenote
command when the user optiondenote-prompts
is configured accordingly. The manual elaborates on the specificities. Thanks to Jean-Philippe Gagné Guay for the contribution in pull request 97 at the GitHub mirror: https://github.com/protesilaos/denote/pull/97. -
Leading empty spaces at the
denote
TITLE
prompt no longer produce hyphens: they are simply ignored to keep file names consistent. Thanks to Peter Prevos for the contribution in pull request 99 at the GitHub mirror: https://github.com/protesilaos/denote/pull/99.[ Peter has started the process for copyright assignment to the Free Software Foundation, though the total contributions are still within the permitted boundaries. ]
-
When linking to files that have no front matter, the link’s anchor text (the human-readable part) is derived from the file name
TITLE
component. We apply a de-hyphenation and capitalisation of its constituent words. This is not always perfect, but it is better than something likethis-is-the-title
. Thanks to Peter Prevos for the original idea in pull request 93 at the GitHub mirror: https://github.com/protesilaos/denote/pull/93. -
The active region is now used as the default value of the
denote
commandTITLE
prompt. The idea behind this Do-What-I-Mean-flavoured patch is to be able to take a note about a subject that appears in a buffer by simply marking it before invoking thedenote
command.Thanks to Eshel Yaron for the patch: https://lists.sr.ht/~protesilaos/denote/patches/34870. It is below the ~15 line threshold that thus requires no copyright assignment to the Free Software Foundation.
-
The
denote-rename-file-using-front-matter
command now offers to save the buffer if appropriate. In the past, it would simply produce an error asking the user to save the buffer. Thanks to Peter Prevos for the contribution in pull request 103 at he GitHub mirror: https://github.com/protesilaos/denote/pull/103. -
Fixed the text of the confirmation prompt in the command
denote-migrate-old-markdown-yaml-tags
. Thanks to Abin Simon for the patch: https://lists.sr.ht/~protesilaos/denote/patches/34632.This patchset also fixes (i) how a tag is identified for the purposes of migrating old to new front matter, (ii) the regular expression for Org front matter keywords
[ The total changes are below the ~15 line threshold and thus do not require copyright assignment to the Free Software Foundation. ]
-
Fixed a bug that prevented the creation of new notes. Thanks to Juergen Hoetzel for the contribution in pull request 84 at the GitHub mirror: https://github.com/protesilaos/denote/pull/84. This was done immediately after the release of version
0.5.0
on 2022-08-10 and was provided to users as version0.5.1
[ The change is below the ~15 line threshold. ]
Internal refinements
These make the code simpler and more predictable. As the individual changes are not user-facing, I invite interested parties to consult the Git log. Special thanks to Jean-Philippe Gagné Guay for the multiple contributions (and relevant discussions) over at the GitHub mirror:
- https://github.com/protesilaos/denote/pull/88
- https://github.com/protesilaos/denote/pull/89
- https://github.com/protesilaos/denote/pull/91
- https://github.com/protesilaos/denote/pull/94
- https://github.com/protesilaos/denote/pull/101
- https://github.com/protesilaos/denote/pull/102
[ Jean-Philippe has assigned copyright to the Free Software Foundation. It is required for non-trivial changes. ]
For advanced users
The variable denote-file-types
is an alist of plists which
substantiates the supported file types (per the user option
denote-file-type
). Properties pertain to the formatting of front
matter and the retrieval of relevant values. The doc string of
denote-file-types
explains the details, while the default value uses
the ancillary functions we define. Thanks to Jean-Philippe Gagné Guay
for the relevant contributions in pull request 89 at the GitHub mirror:
https://github.com/protesilaos/denote/pull/89.