improvements to maildir rendering

This commit is contained in:
Jaromil 2017-05-20 14:35:29 +02:00
parent aa455eb896
commit 59fb83307e
1 changed files with 16 additions and 4 deletions

20
maildir
View File

@ -122,6 +122,8 @@ EOF
maildb_list() { maildb_list() {
fn maildb_list $* fn maildb_list $*
_db="$1" _db="$1"
_order=${2:-insert_date}
_limit=${3:-100}
req=(_db) req=(_db)
freq=($_db) freq=($_db)
ckreq || return 1 ckreq || return 1
@ -130,7 +132,8 @@ maildb_list() {
.width 64 128 .width 64 128
.separator "|" .separator "|"
SELECT uid, path, mail_from, mail_subj, mail_date, insert_date FROM published SELECT uid, path, mail_from, mail_subj, mail_date, insert_date FROM published
ORDER BY insert_date DESC; ORDER BY $_order DESC
LIMIT $_limit;
EOF EOF
} }
@ -205,6 +208,15 @@ mail_getinfo() {
return 0 return 0
} }
mail_html_normal() {
# remove mailchimp footer and unsubscribe links
iconv -c | grep -i -v 'unsubscribe' \
| awk '
BEGIN { spam=0 }
/canspam/ { spam=1; next }
{ if(spam==0) print $0
}'
}
# this one requires maildir-utils in apt # this one requires maildir-utils in apt
mail_file_render() { mail_file_render() {
@ -233,9 +245,9 @@ EOF
BEGIN { body=0 } BEGIN { body=0 }
/<body/ { body=1; next } /<body/ { body=1; next }
/<\/body/ { body=0; next } /<\/body/ { body=0; next }
{ if(body==1) print $0 }' "$_html".part | iconv -c { if(body==1) print $0 }' "$_html".part | mail_html_normal
else else
cat "$_html".part | iconv -c cat "$_html".part | mail_html_normal
fi fi
rm -f "$_html".part rm -f "$_html".part
return 0 } return 0 }
@ -273,7 +285,7 @@ mail_index_render() {
</tr></thead> </tr></thead>
EOF EOF
for m in ${(f)"$(maildb_list $_db)"}; do for m in ${(f)"$(maildb_list $_db mail_date)"}; do
mail_fill "$m" mail_fill "$m"
cat <<EOF >> "views/${mdname}.html" cat <<EOF >> "views/${mdname}.html"