]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
add colon to header, add header filteringi, add discussion of message bodies; factor...
authorDavid Bremner <bremner@pivot.cs.unb.ca>
Thu, 31 Jul 2008 21:52:11 +0000 (18:52 -0300)
committerDavid Bremner <bremner@pivot.cs.unb.ca>
Thu, 31 Jul 2008 22:10:35 +0000 (19:10 -0300)
IkiWiki/Plugin/mailbox.pm
templates/email.tmpl

index 7c8e4a5dbc0df093f812c0d077b46d7ae2d908ff..6e2939d690851a48f76e3d5374d2d0a520a96c52 100644 (file)
@@ -40,7 +40,6 @@ sub preprocess (@) { #{{{
 sub format_mailbox(@){
     my %params=@_;
     my $path=$params{path} || error("path parameter mandatory");
-    my $header_list=$params{headers} || "subject,from";
 
     my $folder=Email::Folder->new($path) || error("mailbox could not be opened");
     return join "\n", map { format_message(message=>$_) } $folder->messages;
@@ -63,20 +62,30 @@ sub format_message(@){
     my $message=$params{message} || 
        error gettext("missing parameter"). "message";
 
+    my $keep_headers=$params{headers} || qr/^(subject|from|date)/i;
+    
     my $template= 
        template("email.tmpl") || error gettext("missing template");
     
-    my @headers=map { make_pair($message,$_) } 
-       $message->header_names;
+    my @names = grep  {m/$keep_headers/;}  ($message->header_names);
+    my @headers=map { make_pair($message,$_) } @names;
+    
 
     $template->param(HEADERS=>[@headers]);
-
-    $template->param(body=>escapeHTML($message->body));
+    $template->param(body=>format_body($message->body));
 
     my $output=$template->output();
     return $output;
 }
 
+sub format_body($){
+    my $body=shift;
+
+    # it is not completely clear to me the right way to go here.  some
+    # passing things straight to markdown is not working all that
+    # well.
+    return "<pre>".escapeHTML($body)."</pre>";
+}
 ### Utilities
 
 # From Arpit Jain
index 17922ec95fe4f529a0cf9cb4b91876d913a24cf4..8508fd2f49347348add630a7df7d3e9f68a32ba5 100644 (file)
@@ -1,9 +1,7 @@
 <div class="mailmessage">
   <div class="mailheaders">
     <TMPL_LOOP NAME="HEADERS">
-      <span class="headername">
-       <TMPL_VAR NAME="HEADERNAME"> 
-      </span>
+      <span class="headername"><TMPL_VAR NAME="HEADERNAME"></span>:
       <span class="headerval">
        <TMPL_VAR NAME="VAL">
       </span>