diff --git a/www/graph01.png b/www/graph01.png
new file mode 100644
index 00000000..327e0795
Binary files /dev/null and b/www/graph01.png differ
diff --git a/www/index.org b/www/index.org
index 223df817..a47b601a 100644
--- a/www/index.org
+++ b/www/index.org
@@ -1,6 +1,7 @@
-#+title: Mu
+#+title:
#+style:
#+html:
+#+options: skip t
* Welcome to mu!
@@ -9,15 +10,32 @@
that mail - in particular, to instantly find that one important e-mail you
need right now.
- *mu* is a tool for dealing with e-mail messages stored in the
- [[http://en.wikipedia.org/wiki/Maildir][Maildir]]-format. *mu*'s main purpose is to help you to quickly find the
+ *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 quickly find the
messages you need; in addition, it allows you to view messages, extract
attachments, create new maildirs, ... See the [[file:cheatsheet.org][mu cheatsheet]] for some examples.
Searching works by first indexing your messages into a [[http://xapian.org/][Xapian]]-database, which
can then be queried using a custom query language.
+** Features
+
+ - fast indexing for 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
+ - command-line tools for indexing, searching, viewing, extracting
+ attachments, exporting address lists, creating maildirs, ...
+ - accent/case normalization - so /angstrom/ will match /Å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=
+ - [[file:mu-guile.html][mu-guile]]: guile-bindings that allow for scripting, advanced processing of
+ your data
+ - fully documented (man pages, info pages)
+
** News
+
- 2012-01-07: [[http://code.google.com/p/mu0/downloads/detail?name%3Dmu-0.9.8-alpha3.tar.gz][mu-0.9.8-alpha-3]] is available, with fixes for some =mu4e=
configuration problems; also, the documentation now contains an example of
how to set up =mu4e= with Gmail.
@@ -73,23 +91,6 @@
- [[file:old-news.org][Old news]]
-** Features
-
- - fast indexing for Maildir, Maildir+ and Maildir-on-VFAT
- - search for messages based on the sender, receiver, message subject, size,
- priority, words in the message body, attachments, date range, flags
- (signed, encrypted, new, replied, unread, ...), message-id, maildir
- - known to work on Linux (Ubuntu/Fedora/Debian/Gentoo), FreeBSD, MacOS,
- Solaris, ...
- - fully documented (man pages)
- - can be integrated with e-mail clients; documentation has examples for [[http://www.mutt.org/][mutt]]
- and [[http://www.emacswiki.org/emacs/WanderLust][Wanderlust]].
- - output in plain text, xml, s-expressions (experimental)
- - extract message parts, attachments, open them using their default
- application
-
- In addition, there is a toy UI for *mu* called [[file:mug.org][mug]]; the plan is to slowly
- evolve this into a full-featured UI.
** Development & download
:PROPERTIES:
diff --git a/www/mu-guile.org b/www/mu-guile.org
new file mode 100644
index 00000000..b899a1b1
--- /dev/null
+++ b/www/mu-guile.org
@@ -0,0 +1,156 @@
+#+title: mu-guile: guile-bindings for mu
+#+style:
+#+options: skip t
+
+ Starting from version 0.9.7, =mu= had early, experimental bindings for the
+ [[http://www.gnu.org/software/guile/][GNU/Guile]] programming language, which is a version of the [[http://en.wikipedia.org/wiki/Scheme_(programming_language)][Scheme]] programming
+ language, specifically designed for extending existing programs.
+
+ =mu= version 0.9.8 has much improved bindings, and they are [[file:mu-guile/index.html][documented]], 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.
+
+** Some examples
+
+ Here are some examples; we don't provide too much explanation /how/ they do
+ what they do, but the [[file:mu-guile/index.html][manual]] takes you through that, step-by-step.
+
+*** Messages per weekday
+
+#+begin_src scheme
+#!/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:day-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)
+#+end_src
+
+ Which might get us something like:
+
+#+begin_example
+Sun: 2278
+Mon: 2991
+Tue: 3077
+Wed: 2734
+Thu: 2796
+Fri: 2343
+Sat: 1856
+#+end_example
+
+*** Drawing graphs
+
+ We can also draw graphs from this, by adding the following to the script:
+
+#+begin_src scheme
+;; plain-text graph
+(mu:plot (weekday-table) "Messages per weekday" "Day" "Messages" #t)
+
+;; GUI graph
+(mu:plot (weekday-table) "Messages per weekday" "Day" "Messages")
+#+end_src scheme
+
+ This gives us the following:
+
+**** plain text graph
+#+begin_example
+ 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
+#+end_example
+
+**** GUI graph
+
+ [[file: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:
+
+#+begin_src scheme
+#!/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))
+#+end_src
+
+** License & Copyright
+
+ *mu4e* was designed and implemented by Dirk-Jan C. Binnema, and is Free
+ Software, licensed under the GNU GPLv3
+
+#+html: