~gtf/notetaker

Email-based note ingestion for vimwiki repositories

913fd4a add docker capability (make docker)

~gtf pushed to ~gtf/notetaker git

1 year, 2 months ago

16ade17 reformat with ormolu

~gtf pushed to ~gtf/notetaker git

1 year, 2 months ago

#Notetaker: email-based notes ingestion

Notetaker processes inbound email and stores them as notes based on a set of configured rules. It is designed to add notes to a vimwiki structure, to be organised subsequently.

#Installation

TODO: add installation notes

#Usage

#Configuration

Notetaker's configuration is compiled into the binary. Notetaker is configured by adding ProcessorConfigs to the module at config/Processors.hs. There is an example configuration there already. Add your own configurations (and remove the example if you wish) and then compile and run!

#Running notetaker

You can run Notetaker using stack. It needs to have a Mailgun signing key to work with Mailgun's security mechanism for webhooks. You can set this in the environment:

MAILGUN_SIGNING_KEY="xxx" stack exec notetaker-exe

There are actually two executables, notetaker-exe is the main server, and gensig-exe is a convenient tool for signing messages which is useful for testing.

#How it works

Notetaker sets up an HTTP server on :8080 which is designed to work with Mailgun webhooks.

When you send an email to notetaker, it runs a different mail processor depending on the inbound address in order to create a note in your personal notes repository.

In general, the mail processor takes the subject line as the title for the note, in addition to the date, and places the content in a given directory (it does not alter or process the content, simply copying it directly from the body of the email). It then adds the notes an index file which should be linked to elsewhere in your wiki. This index file is generated from a template inside notetaker's configuration.

If there is a conflict (i.e. a note with that title already exists), then notetaker will append a number to the end (incrementing with each conflicted note with the same title).