denote

Homepage: https://git.sr.ht/~protesilaos/denote

Author: Protesilaos Stavrou

Updated:

Summary

Simple notes with an efficient file-naming scheme

Commentary

Denote aims to be a simple-to-use, focused-in-scope, and effective
note-taking tool for Emacs.  The manual describes all the
technicalities about the file-naming scheme, points of entry to
creating new notes, commands to check links between notes, and more:
.  If you have the info manual
available, evaluate:

   (info "(denote) Top")

What follows is a general overview of its core core design
principles (again: please read the manual for the technicalities):

* Predictability :: File names must follow a consistent and
  descriptive naming convention (see the manual's "The file-naming
  scheme").  The file name alone should offer a clear indication of
  what the contents are, without reference to any other metadatum.
  This convention is not specific to note-taking, as it is pertinent
  to any form of file that is part of the user's long-term storage
  (see the manual's "Renaming files").

* Composability :: Be a good Emacs citizen, by integrating with other
  packages or built-in functionality instead of re-inventing
  functions such as for filtering or greping.  The author of Denote
  (Protesilaos, aka "Prot") writes ordinary notes in plain text
  (`.txt'), switching on demand to an Org file only when its expanded
  set of functionality is required for the task at hand (see the
  manual's "Points of entry").

* Portability :: Notes are plain text and should remain portable.
  The way Denote writes file names, the front matter it includes in
  the note's header, and the links it establishes must all be
  adequately usable with standard Unix tools.  No need for a databse
  or some specialised software.  As Denote develops and this manual
  is fully fleshed out, there will be concrete examples on how to do
  the Denote-equivalent on the command-line.

* Flexibility :: Do not assume the user's preference for a
  note-taking methodology.  Denote is conceptually similar to the
  Zettelkasten Method, which you can learn more about in this
  detailed introduction: .
  Notes are atomic (one file per note) and have a unique identifier.
  However, Denote does not enforce a particular methodology for
  knowledge management, such as a restricted vocabulary or mutually
  exclusive sets of keywords.  Denote also does not check if the user
  writes thematically atomic notes.  It is up to the user to apply
  the requisite rigor and/or creativity in pursuit of their preferred
  workflow (see the manual's "Writing metanotes").

* Hackability :: Denote's code base consists of small and reusable
  functions.  They all have documentation strings.  The idea is to
  make it easier for users of varying levels of expertise to
  understand what is going on and make surgical interventions where
  necessary (e.g. to tweak some formatting).  In this manual, we
  provide concrete examples on such user-level configurations (see
  the manual's "Keep a journal or diary").

Now the important part...  "Denote" is the familiar word, though it
also is a play on the "note" concept.  Plus, we can come up with
acronyms, recursive or otherwise, of increasingly dubious utility
like:

+ Don't Ever Note Only The Epiphenomenal
+ Denote Everything Neatly; Omit The Excesses

But we'll let you get back to work.  Don't Eschew or Neglect your
Obligations, Tasks, and Engagements.

Dependencies