Skip to content
This repository
Browse code

* update web pages

  • Loading branch information...
commit 6ba2b8c5887a73b0b2caac7364142dc396094678 1 parent a518467
authored January 14, 2012
BIN  www/graph01.png
41  www/index.org
Source Rendered
... ...
@@ -1,6 +1,7 @@
1  
-#+title: Mu
  1
+#+title:
2 2
 #+style: <link rel="stylesheet" type="text/css" href="mu.css">
3 3
 #+html:<img src="mu.jpg" align="right" margin="10px"/>
  4
+#+options: skip t
4 5
 
5 6
 * Welcome to mu!
6 7
 
@@ -9,15 +10,32 @@
9 10
   that mail - in particular, to instantly find that one important e-mail you
10 11
   need right now.
11 12
 
12  
-  *mu* is a tool for dealing with e-mail messages stored in the
13  
-  [[http://en.wikipedia.org/wiki/Maildir][Maildir]]-format. *mu*'s main purpose is to help you to quickly find the
  13
+  *mu* is a tool for dealing with e-mail messages stored in the [[http://en.wikipedia.org/wiki/Maildir][Maildir]]-format,
  14
+  on Unix-like systems. *mu*'s main purpose is to help you to quickly find the
14 15
   messages you need; in addition, it allows you to view messages, extract
15 16
   attachments, create new maildirs, ... See the [[file:cheatsheet.org][mu cheatsheet]] for some examples.
16 17
 
17 18
   Searching works by first indexing your messages into a [[http://xapian.org/][Xapian]]-database, which
18 19
   can then be queried using a custom query language.
19 20
 
  21
+** Features
  22
+
  23
+   - fast indexing for Maildir, Maildir+ and Maildir-on-VFAT
  24
+   - search for messages based on the sender, receiver, subject, date range,
  25
+     size, priority, words in message, flags (signed, encrypted, new, replied,
  26
+     has-attachment,...), message-id, maildir, tags, attachment (name,
  27
+     mime-type, text) and more
  28
+   - command-line tools for indexing, searching, viewing, extracting
  29
+     attachments, exporting address lists, creating maildirs, ...
  30
+   - accent/case normalization - so /angstrom/ will match /Ångström/.
  31
+   - can be integrated with other e-mail clients such as [[http://www.mutt.org/][mutt]] and [[http://www.emacswiki.org/emacs/WanderLust][Wanderlust]].
  32
+   - [[file:mu4e.html][mu4e]], an emacs-based e-mail client based on =mu=
  33
+   - [[file:mu-guile.html][mu-guile]]: guile-bindings that allow for scripting, advanced processing of
  34
+     your data
  35
+   - fully documented (man pages, info pages)
  36
+
20 37
 ** News
  38
+
21 39
    - 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=
22 40
      configuration problems; also, the documentation now contains an example of
23 41
      how to set up =mu4e= with Gmail.
@@ -73,23 +91,6 @@
73 91
 
74 92
    - [[file:old-news.org][Old news]]
75 93
 
76  
-** Features
77  
-
78  
-   - fast indexing for Maildir, Maildir+ and Maildir-on-VFAT
79  
-   - search for messages based on the sender, receiver, message subject, size,
80  
-     priority, words in the message body, attachments, date range, flags
81  
-     (signed, encrypted, new, replied, unread, ...), message-id, maildir
82  
-   - known to work on Linux (Ubuntu/Fedora/Debian/Gentoo), FreeBSD, MacOS,
83  
-     Solaris, ...
84  
-   - fully documented (man pages)
85  
-   - can be integrated with e-mail clients; documentation has examples for [[http://www.mutt.org/][mutt]]
86  
-     and [[http://www.emacswiki.org/emacs/WanderLust][Wanderlust]].
87  
-   - output in plain text, xml, s-expressions (experimental)
88  
-   - extract message parts, attachments, open them using their default
89  
-     application
90  
-
91  
-   In addition, there is a toy UI for *mu* called [[file:mug.org][mug]]; the plan is to slowly
92  
-   evolve this into a full-featured UI.
93 94
 
94 95
 ** Development & download
95 96
    :PROPERTIES:
156  www/mu-guile.org
Source Rendered
... ...
@@ -0,0 +1,156 @@
  1
+#+title: mu-guile: guile-bindings for mu
  2
+#+style: <link rel="stylesheet" type="text/css" href="mu.css">
  3
+#+options: skip t
  4
+
  5
+  Starting from version 0.9.7, =mu= had early, experimental bindings for the
  6
+  [[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
  7
+  language, specifically designed for extending existing programs.
  8
+
  9
+  =mu= version 0.9.8 has much improved bindings, and they are [[file:mu-guile/index.html][documented]], with
  10
+  many examples. You can find more examples in the =guile/examples= directory of
  11
+  the =mu= source package.
  12
+
  13
+  It must be said that Scheme (and in general, languages from the Lisp-family)
  14
+  initially may look a bit 'strange' -- all these parentheses etc.; so please
  15
+  bear with us.
  16
+
  17
+** Some examples
  18
+
  19
+   Here are some examples; we don't provide too much explanation /how/ they do
  20
+   what they do, but the [[file:mu-guile/index.html][manual]] takes you through that, step-by-step.
  21
+
  22
+*** Messages per weekday
  23
+
  24
+#+begin_src scheme
  25
+#!/bin/sh
  26
+exec guile -s $0 $@
  27
+!#
  28
+
  29
+(use-modules (mu) (mu message) (mu stats) (mu plot))
  30
+(mu:initialize)
  31
+
  32
+;; create a list like (("Mon" . 13) ("Tue" . 23) ...)
  33
+(define weekday-table
  34
+  (mu:day-numbers->names
  35
+    (sort
  36
+      (mu:tabulate-messages
  37
+	(lambda (msg)
  38
+	  (tm:wday (localtime (mu:date msg)))))
  39
+      (lambda (a b) (< (car a) (car b))))))
  40
+
  41
+(for-each
  42
+  (lambda (elm)
  43
+    (format #t "~a: ~a\n" (car elm) (cdr elm)))
  44
+  weekday-table)
  45
+#+end_src
  46
+
  47
+    Which might get us something like:
  48
+
  49
+#+begin_example
  50
+Sun: 2278
  51
+Mon: 2991
  52
+Tue: 3077
  53
+Wed: 2734
  54
+Thu: 2796
  55
+Fri: 2343
  56
+Sat: 1856
  57
+#+end_example
  58
+
  59
+*** Drawing graphs
  60
+
  61
+    We can also draw graphs from this, by adding the following to the script:
  62
+
  63
+#+begin_src scheme
  64
+;; plain-text graph
  65
+(mu:plot (weekday-table) "Messages per weekday" "Day" "Messages" #t)
  66
+
  67
+;; GUI graph
  68
+(mu:plot (weekday-table) "Messages per weekday" "Day" "Messages")
  69
+#+end_src scheme
  70
+
  71
+    This gives us the following:
  72
+
  73
+**** plain text graph
  74
+#+begin_example
  75
+                               Messages per weekday
  76
+ Messages
  77
+   3200 ++---+--------+---------+--------+---------+---------+--------+---++
  78
+        |    +        +     "/tmp/filel8NGRf" using 2:xticlabels(1) ****** |
  79
+   3000 ++                  *       *                                     ++
  80
+        |         ***********       *                                      |
  81
+        |         *        **       *                                      |
  82
+   2800 ++        *        **       *          *********                  ++
  83
+        |         *        **       ************       *                   |
  84
+   2600 ++        *        **       **        **       *                  ++
  85
+        |         *        **       **        **       *                   |
  86
+        |         *        **       **        **       *                   |
  87
+   2400 ++        *        **       **        **       ***********        ++
  88
+        ***********        **       **        **       **        *         |
  89
+   2200 *+       **        **       **        **       **        *        ++
  90
+        *        **        **       **        **       **        *         |
  91
+        *        **        **       **        **       **        *         |
  92
+   2000 *+       **        **       **        **       **        *        ++
  93
+        *    +   **   +    **   +   **   +    **   +   **    +   ***********
  94
+   1800 ********************************************************************
  95
+            Sun      Mon       Tue      Wed       Thu       Fri      Sat
  96
+                                        Day
  97
+#+end_example
  98
+
  99
+**** GUI graph
  100
+
  101
+     [[file:graph01.png]]
  102
+
  103
+
  104
+
  105
+*** Export contacts to =mutt=
  106
+
  107
+    =mu= provides =mu cfind= to get contact information from the database; it's
  108
+    fast, since it uses cached contact data. But sometimes, we may want to get a
  109
+    bit more advanced. For examples, suppose I want a list of names and e-mail
  110
+    addresses of people that were seen at least 20 times since 2010, in the
  111
+    =mutt= address book format.
  112
+
  113
+    We could get such a list with something like the following:
  114
+
  115
+#+begin_src scheme
  116
+#!/bin/sh
  117
+exec guile -s $0 $@ !#
  118
+
  119
+(use-modules (mu) (mu message) (mu contact))
  120
+(mu:initialize)
  121
+
  122
+;; Get a list of contacts that were seen at least 20 times since 2010
  123
+(define (selected-contacts)
  124
+  (let  ((addrs '())
  125
+	  (start (car (mktime (car (strptime "%F" "2010-01-01")))))
  126
+	  (minfreq 20))
  127
+    (mu:for-each-contact
  128
+      (lambda (contact)
  129
+	(if (and (mu:email contact)
  130
+	      (>= (mu:frequency contact) minfreq)
  131
+	      (>= (mu:last-seen contact) start))
  132
+	  (set! addrs (cons contact addrs)))))
  133
+      addrs))
  134
+
  135
+(for-each
  136
+  (lambda (contact)
  137
+    (format #t "~a\n" (mu:contact->string contact "mutt-alias")))
  138
+  (selected-contacts))
  139
+#+end_src
  140
+
  141
+** License & Copyright
  142
+
  143
+   *mu4e* was designed and implemented by Dirk-Jan C. Binnema, and is Free
  144
+   Software, licensed under the GNU GPLv3
  145
+
  146
+#+html:<hr/><div align="center">&copy; 2011-2012 Dirk-Jan C. Binnema</div>
  147
+#+begin_html
  148
+<script type="text/javascript">
  149
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  150
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  151
+</script>
  152
+<script type="text/javascript">
  153
+var pageTracker = _gat._getTracker("UA-578531-1");
  154
+pageTracker._trackPageview();
  155
+</script>
  156
+#+end_html
92  www/mu.css
@@ -22,3 +22,95 @@ a.menu:visited {color: #ffffff; text-decoration: none; }
22 22
 a.menu:hover   {color: #ff0000; text-decoration: underline; }
23 23
 
24 24
 .mine          {color: #ffffff; font-weight: bold}
  25
+
  26
+
  27
+
  28
+
  29
+/* emacs-code -----------------------*/
  30
+
  31
+/* zenburnesque code blocks in for html-exported org mode */
  32
+
  33
+
  34
+pre.src {
  35
+   background: #dddddd;
  36
+   color: #555555;
  37
+}
  38
+
  39
+.org-preprocessor {
  40
+   color: #8cd0d3;
  41
+}
  42
+
  43
+.org-variable-name {
  44
+   color: #0084C8;
  45
+   font-weight: bold;
  46
+}
  47
+
  48
+.org-string {
  49
+   color: #4E9A06;
  50
+}
  51
+
  52
+.org-type {
  53
+   color: #2F8B58;
  54
+   font-weight: bold;
  55
+}
  56
+
  57
+.org-function-name {
  58
+   color: #00578E;
  59
+   font-weight: bold
  60
+}
  61
+
  62
+.org-keyword {
  63
+   color: #A52A2A;
  64
+   font-weight: bold;
  65
+}
  66
+
  67
+.org-comment {
  68
+   color: #204A87;
  69
+}
  70
+
  71
+.org-doc {
  72
+   color: #afd8af;
  73
+}
  74
+
  75
+.org-comment-delimiter {
  76
+   color: #708070;
  77
+}
  78
+
  79
+.org-constant {
  80
+   color: #F5666D;
  81
+}
  82
+
  83
+.org-builtin {
  84
+   color: #A020F0;
  85
+}
  86
+
  87
+
  88
+.warning,  .org-warning {
  89
+       color: yellow;
  90
+       font-weight: bold
  91
+}
  92
+
  93
+
  94
+/* emacs other stuff --------------------- */
  95
+      .org-date, .org-org-date {
  96
+        /* org-date */
  97
+        color: #00ffff;
  98
+        text-decoration: underline;
  99
+      }
  100
+      .org-hide, .org-org-hide {
  101
+        /* org-hide */
  102
+        color: #000000;
  103
+      }
  104
+      .org-level-1, .org-org-level-1  {
  105
+        /* org-level-1 */
  106
+        color: #356da0;
  107
+      }
  108
+      .org-level-2,.org-org-level-2 {
  109
+        /* org-level-2 */
  110
+        color: #7685de;
  111
+      }
  112
+      .org-todo,.org-org-todo {
  113
+        /* org-todo */
  114
+        color: #ffc0cb;
  115
+        font-weight: bold;
  116
+      }
BIN  www/mu4e-1.png
BIN  www/mu4e-2.png
BIN  www/mu4e-3.png
37  www/mu4e.org
Source Rendered
... ...
@@ -0,0 +1,37 @@
  1
+#+title: mu4e: mu for emacs
  2
+#+style: <link rel="stylesheet" type="text/css" href="mu.css">
  3
+#+options: skip t
  4
+
  5
+  With version 0.9.8, =mu= comes with an emacs-based e-mail client that uses
  6
+  =mu= for its back-end: *mu4e*. For all the details, please see [[file:mu4e/index.html][manual]].
  7
+
  8
+** Screenshots
  9
+
  10
+  Here are some screenshots.
  11
+
  12
+*** The main view
  13
+  [[file:mu4e-1.png]]
  14
+
  15
+*** The headers view
  16
+  [[file:mu4e-2.png]]
  17
+
  18
+*** The message view
  19
+  [[file:mu4e-3.png]]
  20
+
  21
+
  22
+** License & Copyright
  23
+
  24
+   *mu4e* was designed and implemented by Dirk-Jan C. Binnema, and is Free
  25
+   Software, licensed under the GNU GPLv3
  26
+
  27
+#+html:<hr/><div align="center">&copy; 2011-2012 Dirk-Jan C. Binnema</div>
  28
+#+begin_html
  29
+<script type="text/javascript">
  30
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  31
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  32
+</script>
  33
+<script type="text/javascript">
  34
+var pageTracker = _gat._getTracker("UA-578531-1");
  35
+pageTracker._trackPageview();
  36
+</script>
  37
+#+end_html

0 notes on commit 6ba2b8c

Please sign in to comment.
Something went wrong with that request. Please try again.