Use markdown for some of the webpages

They're a bit easier to process than org when using Jekyll.
This commit is contained in:
djcb 2015-10-07 10:34:05 +03:00
parent a350e2047d
commit f25c009cce
9 changed files with 599 additions and 463 deletions

148
www/cheatsheet.md Normal file
View File

@ -0,0 +1,148 @@
---
layout: default
permalink: code/mu/cheatsheet.html
---
# Mu Cheatsheet
Here are some tips for using `mu`. If you want to know more, please
refer to the `mu` man pages. For a quick warm-up, there's also the
`mu-easy` man-page.
## Indexing your mail
``` $ mu index```
If `mu` did not guess the right Maildir, you can set it explicitly:
``` $ mu index --maildir=~/MyMaildir```
### Excluding directories from indexing
If you want to exclude certain directories from being indexed (for example,
directories with spam-messages), put a file called `.noindex` in the directory
to exlude, and it will be ignored when indexing (including its children)
## Finding messages
After you have indexed your messages, you can search them. Here are some
examples. Also note the `--threads` argument to get a threaded display of
the messages, and `--color` to get colors (both since 0.9.7).
### messages about Helsinki (in message body, subject, sender, ...)
``` $ mu find Helsinki```
### messages to Jack with subject jellyfish containing the word tumbleweed
``` $ mu find to:Jack subject:jellyfish tumbleweed```
### messages between 2 kilobytes and a 2Mb, written in December 2009 with an attachment from Bill
``` $ mu find size:2k..2m date:20091201..20093112 flag:attach from:bill```
### signed messages about apples *OR* oranges
``` $ mu find flag:signed apples OR oranges```
### messages about yoghurt in the Sent Items folder (note the quoting):
``` $ mu find maildir:'/Sent Items' yoghurt```
### unread messages about things starting with 'soc' (soccer, society, socrates, ...)
``` $ mu find 'subject:soc*' flag:unread```
Note, the '*' only works at the /end/ of a search term, and you need to
quote it or the shell will interpret it before `mu` sees it.
(searching using the '*' wildcard is available since mu 0.9.6)
### finding messages with images as attachment
``` $ mu find 'mime:image/*' ```
(since mu version 0.9.8)
### finding messages with 'milk' in one of its text parts (such as text-based attachments):
``` $ mu find embed:milk ```
(since mu version 0.9.8)
### finding /all/ your messages
``` $ mu find ""```
(since mu version 0.9.7)
## Finding contacts
Contacts (names + email addresses) are cached separately, and can be
searched with `mu cfind` (after your messages have been indexed):
### all contacts with 'john' in either name or e-mail address
``` $ mu cfind john```
`mu cfind` takes a regular expression for matching.
You can export the contact information to a number of formats for use
in e-mail clients. For example:
### export /all/ your contacts to the `mutt` addressbook format
``` $ mu cfind --format=mutt-alias```
Other formats are: `plain`, `mutt-ab`, `wl` (Wanderlust), `org-contact`,
`bbdb` and `csv` (comma-separated values).
## Retrieving attachments from messages
You can retrieve attachments from messages using `mu extract`, which takes a
message file as an argument. Without any other arguments, it displays the
MIME-parts of the message. You can then get specific attachments:
``` $ mu extract --parts=3,4 my-msg-file```
will get you parts 3 and 4. You can also extract files based on their name:
``` $ mu extract my-msg-file '.*\.jpg'```
The second argument is a case-insensitive regular expression, and the command
will extract any files matching the pattern -- in the example, all
`.jpg`-files.
Do not confuse the '.*' /regular expression/ in `mu extract` (and `mu
cfind`) with the '*' /wildcard/ in `mu find`.
## Getting more colorful output
Some of the `mu` commands, such as `mu find`, `mu cfind` and `mu view`
support colorized output. By default this is turned off, but you can enable
it with `--color`, or setting the `MU_COLORS` environment variable to
non-empty.
``` $ mu find --color capibara```
(since `mu` version 0.9.6)
## Integration with mail clients
The `mu-find` man page contains examples for `mutt` and `wanderlust`. And
since version 0.9.8, `mu` includes its own e-mail client for `emacs`, `mu4e`.
## Viewing specific messages
You can view message contents with `mu view`; it does not use the database
and simply takes a message file as it's argument:
``` $ mu view ~/Maildir/inbox/cur/message24```
You can also use `--color` to get colorized output, and `--summary` to get a
summary of the message contents instead of the whole thing.
## Further processing of matched messages
If you need to process the results of your queries with some other program,
you can return the results as a list of absolute paths to the messages found:
For example, to get the number of lines in all your messages mentioning
/banana/, you could use something like:
``` $ mu find --exec='wc -l'```
Note that we use 'l', so the returned message paths will be quoted. This is
useful if you have maildirs with spaces in their names.
For further processing, also the ~--format`(xml|sexp)~ can be useful. For
example,
``` $ mu find --format=xml pancake```
will give you a list of pancake-related messages in XML-format.

View File

@ -1,158 +0,0 @@
#+style: <link rel="stylesheet" type="text/css" href="mu.css"/>
#+html:<a href="index.html"><img src="mu.png" border="0" align="right"/></a>
#+title: Mu Cheatsheet
* Mu Cheatsheet
Here are some tips for using =mu=. If you want to know more, please refer to the
=mu= man pages. For a quick warm-up, there's also the =mu-easy= man-page.
** Indexing your mail
#+html:<pre> $ mu index</pre>
If =mu= did not guess the right Maildir, you can set it explicitly:
#+html:<pre> $ mu index --maildir=~/MyMaildir</pre>
*** Excluding directories from indexing
If you want to exclude certain directories from being indexed (for example,
directories with spam-messages), put a file called =.noindex= in the directory
to exlude, and it will be ignored when indexing (including its children)
** Finding messages
After you have indexed your messages, you can search them. Here are some
examples. Also note the =--threads= argument to get a threaded display of
the messages, and =--color= to get colors (both since 0.9.7).
*** messages about Helsinki (in message body, subject, sender, ...)
#+html:<pre> $ mu find Helsinki</pre>
*** messages to Jack with subject jellyfish containing the word tumbleweed
#+html:<pre> $ mu find to:Jack subject:jellyfish tumbleweed</pre>
*** messages between 2 kilobytes and a 2Mb, written in December 2009 with an attachment from Bill
#+html:<pre> $ mu find size:2k..2m date:20091201..20093112 flag:attach from:bill</pre>
*** signed messages about apples *OR* oranges
#+html:<pre> $ mu find flag:signed apples OR oranges</pre>
*** messages about yoghurt in the Sent Items folder (note the quoting):
#+html:<pre> $ mu find maildir:'/Sent Items' yoghurt</pre>
*** unread messages about things starting with 'soc' (soccer, society, socrates, ...)
#+html:<pre> $ mu find 'subject:soc*' flag:unread</pre>
Note, the '*' only works at the /end/ of a search term, and you need to
quote it or the shell will interpret it before =mu= sees it.
(searching using the '*' wildcard is available since mu 0.9.6)
*** finding messages with images as attachment
#+html:<pre> $ mu find 'mime:image/*' </pre>
(since mu version 0.9.8)
*** finding messages with 'milk' in one of its text parts (such as text-based attachments):
#+html:<pre> $ mu find embed:milk </pre>
(since mu version 0.9.8)
*** finding /all/ your messages
#+html:<pre> $ mu find ""</pre>
(since mu version 0.9.7)
** Finding contacts
Contacts (names + email addresses) are cached separately, and can be
searched with =mu cfind= (after your messages have been indexed):
*** all contacts with 'john' in either name or e-mail address
#+html:<pre> $ mu cfind john</pre>
=mu cfind= takes a regular expression for matching.
You can export the contact information to a number of formats for use in
e-mail clients. For example:
*** export /all/ your contacts to the =mutt= addressbook format
#+html:<pre> $ mu cfind --format=mutt-alias</pre>
Other formats are: =plain=, =mutt-ab=, =wl= (Wanderlust), =org-contact=,
=bbdb= and =csv= (comma-separated values).
** Retrieving attachments from messages
You can retrieve attachments from messages using =mu extract=, which takes a
message file as an argument. Without any other arguments, it displays the
MIME-parts of the message. You can then get specific attachments:
#+html:<pre> $ mu extract --parts=3,4 my-msg-file</pre>
will get you parts 3 and 4. You can also extract files based on their name:
#+html:<pre> $ mu extract my-msg-file '.*\.jpg'</pre>
The second argument is a case-insensitive regular expression, and the command
will extract any files matching the pattern -- in the example, all
=.jpg=-files.
Do not confuse the '.*' /regular expression/ in =mu extract= (and =mu cfind=)
with the '*' /wildcard/ in =mu find=.
** Getting more colorful output
Some of the =mu= commands, such as =mu find=, =mu cfind= and =mu view=
support colorized output. By default this is turned off, but you can enable
it with =--color=, or setting the =MU_COLORS= environment variable to
non-empty.
#+html:<pre> $ mu find --color capibara</pre>
(since =mu= version 0.9.6)
** Integration with mail clients
The =mu-find= man page contains examples for =mutt= and =wanderlust=. And
since version 0.9.8, =mu= includes its own e-mail client for =emacs=, =mu4e=.
** Viewing specific messages
You can view message contents with =mu view=; it does not use the database
and simply takes a message file as it's argument:
#+html:<pre> $ mu view ~/Maildir/inbox/cur/message24</pre>
You can also use =--color= to get colorized output, and =--summary= to get a
summary of the message contents instead of the whole thing.
** Further processing of matched messages
If you need to process the results of your queries with some other program,
you can return the results as a list of absolute paths to the messages found:
For example, to get the number of lines in all your messages mentioning
/banana/, you could use something like:
#+html:<pre> $ mu find --exec='wc -l'</pre>
Note that we use 'l', so the returned message paths will be quoted. This is
useful if you have maildirs with spaces in their names.
For further processing, also the ~--format=(xml|sexp)~ can be useful. For
example,
#+html:<pre> $ mu find --format=xml pancake</pre>
will give you a list of pancake-related messages in XML-format.
#+html:<hr/><div align="center">&copy; 2011-2012 Dirk-Jan C. Binnema</div>
#+begin_html
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-578531-1");
pageTracker._trackPageview();
</script>
#+end_html

141
www/index.md Normal file
View File

@ -0,0 +1,141 @@
---
layout: default
permalink: /code/mu/
---
# Welcome to mu!
<img src="mu.jpg" align="right" margin="10px"/>
With the *enormous* amounts of e-mail many people gather and the
importance of e-mail messages in our daily work-flow, it is very
important to be able to quickly deal with all that - in particular,
to instantly find that one important e-mail you need right now.
For that, *mu* was created. *mu* is a tool for dealing with e-mail
messages stored in the
[Maildir](http://en.wikipedia.org/wiki/Maildir)-format, on Unix-like
systems. *mu*'s main purpose is to help you to find the messages you
need, quickly; in addition, it allows you to view messages, extract
attachments, create new maildirs, ... See the
[mu cheatsheet](cheatsheet.html) for some examples. Mu's source code
is available [in github](https://github.com/djcb/mu), and there is the
[mu-discuss](http://groups.google.com/group/mu-discuss) mailing list.
*mu* includes an emacs-based e-mail client (`mu4e`), a simple GUI
(`mug`) and bindings for the Guile/Scheme programming language.
## Features
- fast indexing for [Maildir](http://en.wikipedia.org/wiki/Maildir), Maildir+ and Maildir-on-VFAT
- search for messages based on the sender, receiver, subject, date-range,
size, priority, words in message, flags (signed, encrypted, new, replied,
has-attachment,...), message-id, maildir, tags, attachment (name,
mime-type, text) and more
- support for encrypted and signed messages
- command-line tools for indexing, searching, viewing, adding/removing
messages, extracting attachments, exporting/searching address lists,
creating maildirs, ...
- accent/case normalization - so *angstrom* matches *Ångström*
- can be integrated with other e-mail clients such as
[mutt](http://www.mutt.org/) and
[Wanderlust](http://www.emacswiki.org/emacs/WanderLust).
- [mu4e](mu4e.html), an emacs-based e-mail client based on `mu` (see screenshot).
- [mu-guile](mu-guile.html):
[guile 2.0](http://www.gnu.org/software/guile/) bindings that
allow for scripting, advanced processing of your data, and doing
all kinds of statistics
- fully documented (man pages, info pages)
## News
2015-09-24: After almost 6 months, a new release of mu/mu4e. We are
happy to announce mu and mu4e 0.9.9.13! have just been
released. The following key features and improvements have been
added:
* Change the way the headers are displayed and sorted
* Fancy characters now enabled distinctively both for marks and
headers
* Composing a message is now possible in a separate frame
* Ability to display the subject of a thread only on top of it for
enhanced clarity
* Lots of bugs squashed, updates to the documentation (BDDB), as
well as embedding the News file inside mu4e itself.
You may grab the the tarball [from GitHub](https://github.com/djcb/mu-releases/) or get it through your
distribution channels (details may vary from one distribution to
another).
None of this would be possible without a team of dedicated
individuals: Attila, Charles-H.Schulz, David C Sterrat, Dirk-Jan
C. Binnema, Eike Kettner, Florian Lindner, Foivos S. Zakkak, Gour,
KOMURA Takaaki, Pan Jie, Phil Hagelberg, thdox, Tiago Saboga, Titus
von der Malsburg (and of course all people who reported issues,
provided suggestions etc.)
We hope you will enjoy this release as much as we do. Happy Hacking!
The mu/mu4e Team
## Old News
- 2013-03-30: released [mu-0.9.9.5](http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.9.5.tar.gz); full with new features and bug
fixes see the download link for some of the details. Many
thanks to all who contributed!
- 2012-10-14: released [mu-0.9.9](http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.9.tar.gz); a new barrage of fixes and
improvements check the link and [NEWS](https://github.com/djcb/mu/blob/master/NEWS). Also, note the
[mu4e-manual](http://code.google.com/p/mu0/downloads/detail?name%3Dmu4e-manual-0.9.9.pdf) (PDF).
- 2012-07-01: released [mu-0.9.8.5](http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.5.tar.gz); more fixes, improvements (see
the link).
- 2012-05-08: released
[mu-0.9.8.4](http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.4.tar.gz)
with even more improvements (the link has all the details)
- 2012-04-06: released
[mu-0.9.8.3](http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.3.tar.gz),
with many improvements, fixes. See the link for details. *NOTE*:
existing `mu` and `mu4e` users are recommended to execute `mu
index --rebuild` after installation.
- 2012-03-11: released
[mu-0.9.8.2](http://code.google.com/p/mu0/downloads/detail?name=mu-0.9.8.2.tar.gz),
with a number of fixes and improvements, see the link for the
details.
- 2012-02-17: released
[mu-0.9.8.1](http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.1.tar.gz),
which has a number of improvements to the 0.9.8 release: add mark
as read/unread, colorize cited message parts, better handling of
text-based message parts, documentation fixes, documentation
updates and a few fixes here and there
- 2012-02-09: moved the mu source code repository
[to Github](https://github.com/djcb/mu).
- 2012-01-31: finally,
[mu-0.9.8](http://mu0.googlecode.com/files/mu-0.9.8.tar.gz) is
available. It comes with an emacs-based e-mail client,
[mu4e](file:mu4e.html), and much improved
[guile bindings](file:mu-guile.html). Furthermore, It adds
search for attachment mime type and search inside any text part
of a message, more tests, improvements in many parts of the code.
- 2011-09-03: mu 0.9.7 is now available; compared to the -pre
version there are a few small changes; the most important one is
a fix specifically for running mu on MacOS.
- [Old news](file:old-news.org)
## Development & download
<a href="mu4e-splitview.png" border="0"><img src="mu4e-splitview-small.png" align="right" margin="10px"/></a>
Some Linux-distributions already provide pre-built mu packages; if
there's no packagage for your distribution, or if you want the
latest release, you can [download mu source packages](http://code.google.com/p/mu0/downloads/list) from Google
Code. In case you find a bug, or have a feature requests, please
use the [issue tracker](https://github.com/djcb/mu/issues).
If you'd like to work with the mu source code, you can find it [in Github](https://github.com/djcb/mu);
also, see the notes on [HACKING](https://github.com/djcb/mu/blob/master/HACKING) the mu source code.
There's also a [mailing list](http://groups.google.com/group/mu-discuss).
## License & Copyright
*mu* was designed and implemented by Dirk-Jan C. Binnema, and is Free
Software, licensed under the GNU GPLv3

View File

@ -1,138 +0,0 @@
#+title:
#+style: <link rel="stylesheet" type="text/css" href="mu.css">
#+html:<img src="mu.jpg" align="right" margin="10px"/>
#+options: skip t
* Welcome to mu!
With the /enormous/ amounts of e-mail many people gather and the
importance of e-mail messages in our daily work-flow, it is very
important to be able to quickly deal with all that - in particular,
to instantly find that one important e-mail you need right now.
For that, *mu* was created. *mu* is a tool for dealing with e-mail
messages stored in the [[http://en.wikipedia.org/wiki/Maildir][Maildir]]-format, on Unix-like systems. *mu*'s
main purpose is to help you to find the messages you need, quickly;
in addition, it allows you to view messages, extract attachments,
create new maildirs, ... See the [[file:cheatsheet.org][mu cheatsheet]] for some
examples. Mu's source code is available [[https://github.com/djcb/mu][in github]], and there is the
[[http://groups.google.com/group/mu-discuss][mu-discuss]] mailing list.
*mu* includes an emacs-based e-mail client (=mu4e=), a simple GUI (=mug=) and
bindings for the Guile/Scheme programming language.
** Features
- fast indexing for [[http://en.wikipedia.org/wiki/Maildir][Maildir]], Maildir+ and Maildir-on-VFAT
- search for messages based on the sender, receiver, subject, date-range,
size, priority, words in message, flags (signed, encrypted, new, replied,
has-attachment,...), message-id, maildir, tags, attachment (name,
mime-type, text) and more
- support for encrypted and signed messages
- command-line tools for indexing, searching, viewing, adding/removing
messages, extracting attachments, exporting/searching address lists,
creating maildirs, ...
- accent/case normalization - so /angstrom/ matches /Ångström/
- can be integrated with other e-mail clients such as [[http://www.mutt.org/][mutt]] and [[http://www.emacswiki.org/emacs/WanderLust][Wanderlust]].
- [[file:mu4e.html][mu4e]], an emacs-based e-mail client based on =mu= (see screenshot).
- [[file:mu-guile.html][mu-guile]]: [[http://www.gnu.org/software/guile/][guile 2.0]] bindings that allow for scripting, advanced processing
of your data, and doing all kinds of statistics
- fully documented (man pages, info pages)
** News
2015-09-24: After almost 6 months, a new release of mu/mu4e. We are
happy to announce mu and mu4e 0.9.9.13! have just been
released. The following key features and improvements have been
added:
* Change the way the headers are displayed and sorted
* Fancy characters now enabled distinctively both for marks and
headers
* Composing a message is now possible in a separate frame
* Ability to display the subject of a thread only on top of it for
enhanced clarity
* Lots of bugs squashed, updates to the documentation (BDDB), as
well as embedding the News file inside mu4e itself.
You may grab the the tarball [[https://github.com/djcb/mu-releases/blob/master/][from GitHub]] or get it through your
distribution channels (details may vary from one distribution to
another).
None of this would be possible without a team of dedicated
individuals: Attila, Charles-H.Schulz, David C Sterrat, Dirk-Jan
C. Binnema, Eike Kettner, Florian Lindner, Foivos S. Zakkak, Gour,
KOMURA Takaaki, Pan Jie, Phil Hagelberg, thdox, Tiago Saboga, Titus
von der Malsburg (and of course all people who reported issues,
provided suggestions etc.)
We hope you will enjoy this release as much as we do. Happy Hacking!
The mu/mu4e Team
** Old News
- 2013-03-30: released [[http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.9.5.tar.gz][mu-0.9.9.5]]; full with new features and bug
fixes see the download link for some of the details. Many
thanks to all who contributed!
- 2012-10-14: released [[http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.9.tar.gz][mu-0.9.9]]; a new barrage of fixes and
improvements check the link and [[https://github.com/djcb/mu/blob/master/NEWS][NEWS]]. Also, note the
[[http://code.google.com/p/mu0/downloads/detail?name%3Dmu4e-manual-0.9.9.pdf][mu4e-manual]] (PDF).
- 2012-07-01: released [[http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.5.tar.gz][mu-0.9.8.5]]; more fixes, improvements (see
the link).
- 2012-05-08: released [[http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.4.tar.gz][mu-0.9.8.4]] with even more improvements (the
link has all the details)
- 2012-04-06: released [[http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.3.tar.gz][mu-0.9.8.3]], with many improvements,
fixes. See the link for details. *NOTE*: existing =mu= and =mu4e=
users are recommended to execute =mu index --rebuild= after
installation.
- 2012-03-11: released [[http://code.google.com/p/mu0/downloads/detail?name=mu-0.9.8.2.tar.gz][mu-0.9.8.2]], with a number of fixes and
improvements, see the link for the details.
- 2012-02-17: released [[http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8.1.tar.gz][mu-0.9.8.1]], which has a number of
improvements to the 0.9.8 release: add mark as read/unread,
colorize cited message parts, better handling of text-based
message parts, documentation fixes, documentation updates and a
few fixes here and there
- 2012-02-09: moved the mu source code repository [[https://github.com/djcb/mu][to Github]].
- 2012-01-31: finally, [[http://mu0.googlecode.com/files/mu-0.9.8.tar.gz][mu-0.9.8]] is available. It comes with an
emacs-based e-mail client, [[file:mu4e.html][mu4e]], and much improved [[file:mu-guile.html][guile
bindings]]. Furthermore, It adds search for attachment mime type
and search inside any text part of a message, more tests,
improvements in many parts of the code.
- 2011-09-03: mu 0.9.7 is now available; compared to the -pre
version there are a few small changes; the most important one is
a fix specifically for running mu on MacOS.
- [[file:old-news.org][Old news]]
** Development & download
#+html:<a href="mu4e-splitview.png" border="0"><img src="mu4e-splitview-small.png" align="right" margin="10px"/></a>
Some Linux-distributions already provide pre-built mu packages; if
there's no packagage for your distribution, or if you want the
latest release, you can [[http://code.google.com/p/mu0/downloads/list][download mu source packages]] from Google
Code. In case you find a bug, or have a feature requests, please
use the [[https://github.com/djcb/mu/issues][issue tracker]].
If you'd like to work with the mu source code, you can find it [[https://github.com/djcb/mu][in Github]];
also, see the notes on [[https://github.com/djcb/mu/blob/master/HACKING][HACKING]] the mu source code.
There's also a [[http://groups.google.com/group/mu-discuss][mailing list]].
** License & Copyright
*mu* was designed and implemented by Dirk-Jan C. Binnema, and is Free
Software, licensed under the GNU GPLv3
#+html:<hr/><div align="center">&copy; 2011-2012 Dirk-Jan C. Binnema</div>
#+begin_html
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-578531-1");
pageTracker._trackPageview();
</script>
#+end_html

164
www/mu-guile.md Normal file
View File

@ -0,0 +1,164 @@
---
layout: default
permalink: /code/mu/mu-guile.html
---
# mu-guile
Starting from version 0.9.7,
[GNU/Guile](http://www.djcbsoftware.nl/code/mu][mu]] had experimental
bindings for the
[[http://www.gnu.org/software/guile/) programming language, which is a version of the [Scheme](http://en.wikipedia.org/wiki/Scheme_(programming_language))
programming language, specifically designed for extending existing
programs.
`mu` version 0.9.8 has much improved bindings, and they are
[documented](file:mu-guile/index.html), with many examples. You can
find more examples in the `guile/examples` directory of the `mu`
source package.
It must be said that Scheme (and in general, languages from the Lisp-family)
initially may look a bit 'strange' -- all these parentheses etc.; so please
bear with us -- you will get used to it.
## Some examples
Here are some examples; we don't provide too much explanation /how/ they do
what they do, but the [manual](file:mu-guile/index.html) takes you through that, step-by-step.
*NOTE (1)*: if you get errors like `ERROR: no code for module (mu)`,
`guile` cannot find the `mu` modules. To solve this, you need to set
the `GUILE_LOAD_PATH` to the directory with the installed `mu.scm`,
e.g.
``` sh
export GUILE_LOAD_PATH="/usr/local/share/guile/site/2.0"
```
(you need to adapt this if you installed `mu` in some non-standard place; but
it's always the directory with the installed `mu.scm`).
*NOTE (2)*: for the graphs (below) to work, you will need to have the `gnuplot`
program installed.
*NOTE (3)*: the examples below assume that you have your messages indexed
already using `mu`; see the man pages, or the [mu cheat sheet](http://www.djcbsoftware.nl/code/mu/cheatsheet.html).
### Messages per weekday
#!/bin/sh
exec guile -s $0 $@
!#
(use-modules (mu) (mu message) (mu stats) (mu plot))
(mu:initialize)
;; create a list like (("Mon" . 13) ("Tue" . 23) ...)
(define weekday-table
(mu:weekday-numbers->names
(sort
(mu:tabulate-messages
(lambda (msg)
(tm:wday (localtime (mu:date msg)))))
(lambda (a b) (< (car a) (car b))))))
(for-each
(lambda (elm)
(format #t "`a: `a\n" (car elm) (cdr elm)))
weekday-table)
Which outputs something like:
Sun: 2278
Mon: 2991
Tue: 3077
Wed: 2734
Thu: 2796
Fri: 2343
Sat: 1856
The numbers may be a bit different though... In my case, Saturday
seems a particularly slow day for e-mail.
### Drawing graphs
We can also draw graphs from this, by adding the following to the script:
;; plain-text graph
(mu:plot (weekday-table) "Messages per weekday" "Day" "Messages" #t)
;; GUI graph
(mu:plot (weekday-table) "Messages per weekday" "Day" "Messages")
This gives us the following:
### plain text graph
Messages per weekday
Messages
3200 ++---+--------+---------+--------+---------+---------+--------+---++
| + + "/tmp/filel8NGRf" using 2:xticlabels(1) ****** |
3000 ++ * * ++
| *********** * |
| * ** * |
2800 ++ * ** * ********* ++
| * ** ************ * |
2600 ++ * ** ** ** * ++
| * ** ** ** * |
| * ** ** ** * |
2400 ++ * ** ** ** *********** ++
*********** ** ** ** ** * |
2200 *+ ** ** ** ** ** * ++
* ** ** ** ** ** * |
* ** ** ** ** ** * |
2000 *+ ** ** ** ** ** * ++
* + ** + ** + ** + ** + ** + ***********
1800 ********************************************************************
Sun Mon Tue Wed Thu Fri Sat
Day
#### GUI graph
<img src="graph01.png">
### Export contacts to `mutt`
`mu` provides `mu cfind` to get contact information from the database;
it's fast, since it uses cached contact data. But sometimes, we may
want to get a bit more advanced. For examples, suppose I want a list
of names and e-mail addresses of people that were seen at least 20
times since 2010, in the `mutt` address book format.
We could get such a list with something like the following:
!/bin/sh
exec guile -s $0 $@
!#
(use-modules (mu) (mu message) (mu contact))
(mu:initialize)
;; Get a list of contacts that were seen at least 20 times since 2010
(define (selected-contacts)
(let ((addrs '())
(start (car (mktime (car (strptime "%F" "2010-01-01")))))
(minfreq 20))
(mu:for-each-contact
(lambda (contact)
(if (and (mu:email contact)
(>= (mu:frequency contact) minfreq)
(>= (mu:last-seen contact) start))
(set! addrs (cons contact addrs)))))
addrs))
(for-each
(lambda (contact)
(format #t "~a\n" (mu:contact->string contact "mutt-alias")))
(selected-contacts))
## License & Copyright
*mu-guile* was designed and implemented by Dirk-Jan C. Binnema, and is
Free Software, licensed under the GNU GPLv3

56
www/mu4e.md Normal file
View File

@ -0,0 +1,56 @@
---
layout: default
permalink: /code/mu/mu4e.html
---
Starting with version 0.9.8, [mu](http://www.djcbsoftware.nl/code/mu)
provides an emacs-based e-mail client which uses `mu` as its back-end:
*mu4e*.
Through `mu`, `mu4e` sits on top of your Maildir (which you update
with e.g. `offlineimap` or `fetchmail`). `mu4e` is designed to enable
super-efficient handling of e-mail; searching, reading, replying,
moving, deleting. The overall 'feel' is a bit of a mix of `dired` and
[Wanderlust](http://www.gohome.org/wl/).
Features include:
- Fully search-based: there are no folders, only queries
- UI optimized for speed with quick key strokes for common actions
- Fully documented, with example configurations
- Asynchronous: heavy actions never block emacs
- Write rich-text e-mails using /org-mode/ (experimental)
- Address auto-completion based on your messages -- no need for
managing address books
- Extendable in many places using custom actions
For all the details, please see the [manual](mu4e/), or
check the screenshots below. `mu4e` is part of the normal
[mu source package](http://code.google.com/p/mu0/downloads/list) and
also [[https://github.com/djcb/mu][available on Github]].
# Screenshots
## The main view
<img src="mu4e-1.png">
## The headers view
<img src="mu4e-2.png">
## The message view
<img src="mu4e-3.png">
## The message/headers split view (0.9.8.4)
<img src="mu4e-splitview.png">
The message/headers split view, and speedbar support.
## View message as pdf (0.9.8.4)
<img src="mu4egraph.png">
## License & Copyright
*mu4e* was designed and implemented by Dirk-Jan C. Binnema, and is
Free Software, licensed under the GNU GPLv3

View File

@ -1,66 +0,0 @@
#+title: mu4e: an e-mail client for emacs
#+style: <link rel="stylesheet" type="text/css" href="mu.css">
#+options: skip t
Starting with version 0.9.8, [[http://www.djcbsoftware.nl/code/mu][mu]] provides an emacs-based e-mail client which
uses =mu= as its back-end: *mu4e*.
Through =mu=, =mu4e= sits on top of your Maildir (which you update with
e.g. =offlineimap= or =fetchmail=). =mu4e= is designed to enable
super-efficient handling of e-mail; searching, reading, replying, moving,
deleting. The overall 'feel' is a bit of a mix of =dired= and [[http://www.gohome.org/wl/][Wanderlust]].
Features include:
- Fully search-based: there are no folders, only queries
- UI optimized for speed with quick key strokes for common actions
- Fully documented, with example configurations
- Asynchronous: heavy actions never block emacs
- Write rich-text e-mails using ~org-mode~ (experimental)
- Address auto-completion based on your messages -- no need for managing
address books
- Extendable in many places using custom actions
For all the details, please see the [[file:mu4e/index.html][manual]], or check the screenshots
below. ~mu4e~ is part of the normal [[http://code.google.com/p/mu0/downloads/list][mu source package]] and also [[https://github.com/djcb/mu][available on
Github]].
** Screenshots
Here are some screenshots.
*** The main view
[[file:mu4e-1.png]]
*** The headers view
[[file:mu4e-2.png]]
*** The message view
[[file:mu4e-3.png]]
*** The message/headers split view (0.9.8.4)
[[file:mu4e-splitview.png]]
The message/headers split view, and speedbar support.
*** View message as pdf (0.9.8.4)
[[file:mu4egraph.png]]
** License & Copyright
*mu4e* was designed and implemented by Dirk-Jan C. Binnema, and is Free
Software, licensed under the GNU GPLv3
#+html:<hr/><div align="center">&copy; 2011-2012 Dirk-Jan C. Binnema</div>
#+begin_html
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-578531-1");
pageTracker._trackPageview();
</script>
#+end_html

90
www/old-news.md Normal file
View File

@ -0,0 +1,90 @@
---
layout: default
permalink: code/mu/old-news.html
---
# Old news
- 2011-07-31: mu *0.9.7-pre* is now available with a number of interesting
new features and fixes, many based on user suggestions. `mu` now supports
/mail threading/ based on the [JWZ-algorithm](http://www.jwz.org/doc/threading.html); output is now automatically
converted to the user-locale; `mu view` can output separators between
messages for easier processing, support for X-Label-tags, and last but not
least, `mu` now has bindings for the [Guile](http://www.gnu.org/s/guile/) (Scheme) programming language -
there is a new toy (`toys/muile`) that allows you to inspect messages and
do all kinds of statistics - see the [README](https://gitorious.org/mu/mu/blobs/master/toys/muile/README) for more information.
- 2011-06-02: after quite a bit of testing, *0.9.6* has been promoted to be
the next release -- forget about the 'bèta'. Development continues for
the next release.
- 2011-05-28: *mu-0.9.6* (bèta). A lot of internal changes, but also quite
some new features, for example:
- wild-card searching for most fields: mu find 'car*'
- search for message with certain attachments with 'attach:/a:': mu find
'attach:resume*'
- color for `mu find`, `mu cfind`, `mu extract` and `mu view`
Everything is documented in the man-pages, and there are examples in the [[file:cheatsheet.org][mu
cheatsheet]].
- 2011-04-25: *mu-0.9.5* a small, but important, bugfix in maildir-detection,
some small optimizations.
- 2011-04-12: *mu 0.9.4* released - adds the `cfind` command, to find
contacts (name + e-mail); add `flag:unread` which is a synonym for
`flag:new OR NOT flag:seen`. Updates to the documentation and some internal
updates. This is a *bèta-version*.
- 2011-02-13: *mu 0.9.3*; fixes a bunch of minor issues in 0.9.2; updated the
web page with pages for [mu cheatsheet](file:mug.org][mug]] (the experimental UI) and the [[file:cheatsheet.org).
- 2011-02-02: *mu 0.9.2* released, which adds support for matching on message
size, and various new output format. See [NEWS](http://gitorious.org/mu/mu/blobs/master/NEWS) for all the user-visible
changes, also from older releases.
- [2010-12-05] *mu version 0.9.1* released; fixes a couple of issues users
found with a missing icon, the unit-tests.
- [2010-12-04] *mu version 0.9* released. Compared to the bèta-release, there
were a number of improvements to the documentation and the unit
tests. Pre-processing queries is a little bit smarter now, making matching
e-mail address more eager. Experimental support for Fedora-14.
- [2010-11-27] *mu version 0.9-beta* released. New features: searching is now
accent-insensitive; you can now search for message priority (`prio:`),
time-interval (`date:`) and message flags (`flag:`). Also, you can now store
('bookmark') often-used queries. To top it off, there is a simple graphical
UI now, called `mug`. Documentation has been update, and all known bugs have
been fixed.
- [2010-10-30] *mu version 0.8* released, with only some small cosmetic
updates compared to 0.8-beta. Hurray!
- [2010-10-23] *mu version 0.8-beta* released. The new version brings `mu
extract` for getting the attachments from messages, improved searching
(matching is a bit more 'greedy'), updated and extended documentation,
including the `mu-easy` manpage with simple examples. All known
non-enhancement bugs were fixed.
- [2010-02-27] *mu version 0.7* released. Compared to the beta version, there
are few changes. The maildir-matching syntax now contains a starting `/`, so
`~/Maildir/foo/bar/(cur|new)/msg` can be matched with `m:/foo/bar`. The
top-level maildir can be matched with `m:/`. Apart from that, there are so
small cosmetic fixes and documentation updates.
- [2010-02-11] *mu version 0.7-beta* released. A lot of changes:
- Automatic database scheme version check, notifies users when an
upgrade is needed
- Adds the `mu view` command, to view mail message files
- Removes the 10K match limit
- Support for unattended upgrades - that is, the database can
automatically be upgraded (`--autoupgrade`). Also, the log file is
automatically cleaned when it gets too big (unless you use
`--nocleanup`)
- Search for a certain Maildir using the `maildir:`,`m:` search
prefixes. For example, you can find all messages located in
`~/Maildir/foo/bar/(cur|new)/msg` with `m:foo/bar`. This replaces the
search for path/p in 0.6
- Fixes for reported issues #17 and #18
- A test suite with a growing number of unit tests
- Updated documentation
- Many internal refactoring and other changes
This version has been
tagged as `v0.7-beta` in repository, and must be considered a code-complete
preview of the upcoming release 0.7. Please report any problems you encounter
with it.

View File

@ -1,101 +0,0 @@
#+title: Mu - Old News
#+html:<a href="index.html"><img src="mu.png" border="0" align="right"/></a>
#+style: <link rel="stylesheet" type="text/css" href="mu.css">
* Old news
- 2011-07-31: mu *0.9.7-pre* is now available with a number of interesting
new features and fixes, many based on user suggestions. =mu= now supports
/mail threading/ based on the [[http://www.jwz.org/doc/threading.html][JWZ-algorithm]]; output is now automatically
converted to the user-locale; =mu view= can output separators between
messages for easier processing, support for X-Label-tags, and last but not
least, =mu= now has bindings for the [[http://www.gnu.org/s/guile/][Guile]] (Scheme) programming language -
there is a new toy (=toys/muile=) that allows you to inspect messages and
do all kinds of statistics - see the [[https://gitorious.org/mu/mu/blobs/master/toys/muile/README][README]] for more information.
- 2011-06-02: after quite a bit of testing, *0.9.6* has been promoted to be
the next release -- forget about the 'bèta'. Development continues for
the next release.
- 2011-05-28: *mu-0.9.6* (bèta). A lot of internal changes, but also quite
some new features, for example:
- wild-card searching for most fields: mu find 'car*'
- search for message with certain attachments with 'attach:/a:': mu find
'attach:resume*'
- color for =mu find=, =mu cfind=, =mu extract= and =mu view=
Everything is documented in the man-pages, and there are examples in the [[file:cheatsheet.org][mu
cheatsheet]].
- 2011-04-25: *mu-0.9.5* a small, but important, bugfix in maildir-detection,
some small optimizations.
- 2011-04-12: *mu 0.9.4* released - adds the =cfind= command, to find
contacts (name + e-mail); add =flag:unread= which is a synonym for
=flag:new OR NOT flag:seen=. Updates to the documentation and some internal
updates. This is a *bèta-version*.
- 2011-02-13: *mu 0.9.3*; fixes a bunch of minor issues in 0.9.2; updated the
web page with pages for [[file:mug.org][mug]] (the experimental UI) and the [[file:cheatsheet.org][mu cheatsheet]].
- 2011-02-02: *mu 0.9.2* released, which adds support for matching on message
size, and various new output format. See [[http://gitorious.org/mu/mu/blobs/master/NEWS][NEWS]] for all the user-visible
changes, also from older releases.
- [2010-12-05] *mu version 0.9.1* released; fixes a couple of issues users
found with a missing icon, the unit-tests.
- [2010-12-04] *mu version 0.9* released. Compared to the bèta-release, there
were a number of improvements to the documentation and the unit
tests. Pre-processing queries is a little bit smarter now, making matching
e-mail address more eager. Experimental support for Fedora-14.
- [2010-11-27] *mu version 0.9-beta* released. New features: searching is now
accent-insensitive; you can now search for message priority (=prio:=),
time-interval (=date:=) and message flags (=flag:=). Also, you can now store
('bookmark') often-used queries. To top it off, there is a simple graphical
UI now, called =mug=. Documentation has been update, and all known bugs have
been fixed.
- [2010-10-30] *mu version 0.8* released, with only some small cosmetic
updates compared to 0.8-beta. Hurray!
- [2010-10-23] *mu version 0.8-beta* released. The new version brings =mu
extract= for getting the attachments from messages, improved searching
(matching is a bit more 'greedy'), updated and extended documentation,
including the =mu-easy= manpage with simple examples. All known
non-enhancement bugs were fixed.
- [2010-02-27] *mu version 0.7* released. Compared to the beta version, there
are few changes. The maildir-matching syntax now contains a starting =/=, so
=~/Maildir/foo/bar/(cur|new)/msg= can be matched with =m:/foo/bar=. The
top-level maildir can be matched with =m:/=. Apart from that, there are so
small cosmetic fixes and documentation updates.
- [2010-02-11] *mu version 0.7-beta* released. A lot of changes:
- Automatic database scheme version check, notifies users when an
upgrade is needed
- Adds the =mu view= command, to view mail message files
- Removes the 10K match limit
- Support for unattended upgrades - that is, the database can
automatically be upgraded (=--autoupgrade=). Also, the log file is
automatically cleaned when it gets too big (unless you use
=--nocleanup=)
- Search for a certain Maildir using the =maildir:=,=m:= search
prefixes. For example, you can find all messages located in
=~/Maildir/foo/bar/(cur|new)/msg= with =m:foo/bar=. This replaces the
search for path/p in 0.6
- Fixes for reported issues #17 and #18
- A test suite with a growing number of unit tests
- Updated documentation
- Many internal refactoring and other changes
This version has been
tagged as =v0.7-beta= in repository, and must be considered a code-complete
preview of the upcoming release 0.7. Please report any problems you encounter
with it.
#+html:<hr/><div align="center">&copy; 2011 Dirk-Jan C. Binnema</div>
#+begin_html
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-578531-1");
pageTracker._trackPageview();
</script>
#+end_html