Skip to content

hasu/notdeft

master
Switch branches/tags
Code
This branch is 274 commits ahead, 147 commits behind jrblevin:master.
Contribute

NotDeft

NotDeft is a spin-off of 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, Xapian-engine-based free-text search over potentially very large numbers of note files; in that respect it is like the 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.

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.

Quick Start

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 TCLAP.

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

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

The 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 documentation.

See Also

https://tero.hasu.is/notdeft/
documentation
https://tero.hasu.is/notdeft/download/
installable Emacs packages
https://tero.hasu.is/tags/notdeft/
related blog posts
https://github.com/hasu/notdeft
source code repository
“notdeft.el”
some more documentation (in comments)
Xapian and Deft
related software

Releases

No releases published

Packages

No packages published

Languages

  • Emacs Lisp 85.8%
  • C++ 13.5%
  • Makefile 0.7%