hasu / notdeft

NotDeft note manager for Emacs
https://tero.hasu.is/notdeft/
168 stars 14 forks source link
emacs emacs-mode note-taking org-mode search

+TITLE: NotDeft

+AUTHOR: Tero Hasu

+OPTIONS: toc:nil

/NotDeft/ is a spin-off of [[https://jblevins.org/projects/deft/][Deft]], an “Emacs mode for quickly browsing, filtering, and editing directories of plain text notes.” NotDeft retains functionality similar to Deft's, albeit with less configurability. In addition, NotDeft features efficient, local, [[https://xapian.org/][Xapian]]-engine-based free-text search over potentially very large numbers of note files; in that respect it is like the [[https://notmuchmail.org/][Notmuch]] Emacs mode for managing email.

NotDeft is not as deft in note management as Deft. One reason for this is that NotDeft is designed to support managing of multiple directories of notes. Another complication is that locating the desired notes is a two-stage process, as it entails both searching for a set of notes by entering a query, and then further narrowing down the result set through interactive filtering.

[[file:images/notdeft-screenshot-query-and-filter.png]]

NotDeft does not aim for the user interaction simplicity of applications like Deft and Notational Velocity---instead, it intends to provide global note search and manipulation functionality, accessible from various Emacs buffers and Emacs-based applications.

Open a terminal, and =cd= into your home directory. Download the source code into some directory with : git clone https://github.com/hasu/notdeft.git

Then prepare NotDeft's Emacs Lisp files for use with the commands : cd notdeft : make where =make= is assumed to invoke GNU Make.

Then build the Xapian backend by doing : cd xapian : make If the =make= command fails, then you will need to ensure that you have the required libraries installed, and find the right C++ compiler incantation for building the =notdeft-xapian= program on your system. A notable library requirement for compiling the program is [[http://tclap.sourceforge.net/][TCLAP]].

To make NotDeft loadable in Emacs, add the following code to your Emacs startup file (e.g., “~/.emacs”):

+BEGIN_SRC emacs-lisp

(add-to-list 'load-path "~/notdeft") (add-to-list 'load-path "~/notdeft/extras") (load "notdeft-example")

+END_SRC

The [[./extras/notdeft-example.el][notdeft-example.el]] file is a sample configuration for NotDeft, which sets up NotDeft for use with Org mode based note files, also enabling some optional components of NotDeft, and setting up some keybindings. It may be a useful starting point for a personal configuration.

Create a “~/.deft” directory, and copy some “.org” files there.

Launch Emacs with : emacs -f notdeft

Press =TAB= to enter a search query, and type characters to do further filtering of the results. Press =RET= to select a file to open. Use =C-c f1= to see other available commands.

To configure =notdeft-note-mode= minor mode for use automatically in note buffers, add the required directory local variable to “~/.deft” by entering the command =f6 a d l v=, and by saving the resulting file.

For other ways to install, configure, and use NotDeft, see the [[https://tero.hasu.is/notdeft/][documentation]].