commit e04bd7f839d5bc3f7035e366a46ecce8cfd9b447
parent bd2f1ca6fb5dcc7a8ef914d8044944e33a0667c0
Author: Jaromil <jaromil@dyne.org>
Date: Mon, 9 Mar 2015 18:37:39 +0100
more renderers for publish
Diffstat:
1 file changed, 29 insertions(+), 12 deletions(-)
diff --git a/src/zlibs/publish b/src/zlibs/publish
@@ -98,6 +98,7 @@ pubdb_getuid() {
return 1 }
uid=`hdr "$_path" | awk '/^Message-ID:/ { gsub(/<|>|,/ , "" , $2); print $2 }'`
uid="${(Q)uid%\\n*}" # trim
+ uid="${uid/@/.}" # s/@/./
{ test "$uid" = "" } && { uid=`basename "$_path"` }
upath=`print ${uid} | sed -e 's/\///g'`.html
@@ -159,7 +160,7 @@ pubdb_update() {
pubdb_extract_body() {
- func "pubdb_extract_body() $@"
+ func "pubdb_extract_body() $*"
_path="$1"
{ test -r "$_path" } || { error "mail not found for body extraction: $_path"; return 1 }
@@ -188,19 +189,35 @@ BEGIN { body=0 }
_text=`mu extract "$_path" | awk '/text\/plain/ {print $1; exit}'`
{ test "$_text" = "" } || {
mu extract --overwrite --parts="$_text" "$_path"
+
+
+ case $markdown_render in
+ redcarpet)
+ func "render using redcarpet"
+ cat "$_text".part | iconv -c | escape_html | redcarpet -
+ ;;
+ maruku|*)
+ func "render using maruku"
+ cat "$_text".part | iconv -c | escape_html | maruku --html-frag 2>/dev/null
+ ;;
+ esac
+ rm "$_text".part
+
+ return 0
+ }
+
+ # to make http text a link: (breaks if there are <a refs already)
+ # s|www\.[^ |<]*|<a href="http://&">&</a>|g'
+
# here we tweak the origin to avoid headers in markdown
# preferring to interpret # as inline preformat
-# cat "$_text".part | sed '
-# s/^#/ /g
-# ' | iconv -c | maruku --html-frag 2>/dev/null | sed '
-# s|http://[^ |<]*|<a href="&">&</a>|g
-# s|https://[^ |<]*|<a href="&">&</a>|g
-# '
-cat "$_text".part | iconv -c | escape_html | maruku --html-frag 2>/dev/null
- # s|www\.[^ |<]*|<a href="http://&">&</a>|g'
-rm "$_text".part
-return 0
-}
+
+ # cat "$_text".part | sed '
+ # s/^#/ /g
+ # ' | iconv -c | maruku --html-frag 2>/dev/null | sed '
+ # s|http://[^ |<]*|<a href="&">&</a>|g
+ # s|https://[^ |<]*|<a href="&">&</a>|g
+ # '
# check if its an html only mail
# _html=`mu extract "$_path" | awk '/text\/html/ {print $1; exit}'`