[rancid] html colorized mail diffs

heasley heas at shrubbery.net
Sat Jan 30 19:23:31 UTC 2016


Fri, Jan 29, 2016 at 10:45:52PM -0300, nachofw:
> Hi guys, im trying to send colorized mails diffs from rancid.I’ve found a very nice bash script that converts the output from diff to html. Can anyone help me make it work with rancid? So far I have tried this config with no succes:MAILHEADERS="Content-Type: text/html; charset=ISO-8859-1"; export MAILHEADERSDIFFSCRIPT="diff2html"; export DIFFSCRIPT The script which works perfectly from command line: #!/bin/bash## Convert diff output to colorized HTML. cat <<XX<html><head><title>Colorized Diff</title></head><style>.diffdiv  { border: solid 1px black;           }.comment  { color: gray;                       }.diff     { color: #8A2BE2;                    }.minus3   { color: blue;                       }.plus3    { color: maroon;                     }.at2      { color: lime;                       }.plus     { color: green; background: #E7E7E7; }.minus    { color: red;   background: #D7D7D7; }.only     { color: purple;                     }</style><body><pre>XX echo -n '<span class="comment">' first=1diffseen=0lastonly=0 OIFS=$IFSIFS='' # The -r option keeps the backslash from being an escape char.read -r s while [[ $? -eq 0 ]]do    # Get beginning of line to determine what type    # of diff line it is.    t1=${s:0:1}    t2=${s:0:2}    t3=${s:0:3}    t4=${s:0:4}    t7=${s:0:7}     # Determine HTML class to use.    if    [[ "$t7" == 'Only in' ]]; then        cls='only'        if [[ $diffseen -eq 0 ]]; then            diffseen=1            echo -n '</span>'        else            if [[ $lastonly -eq 0 ]]; then                echo "</div>"            fi        fi        if [[ $lastonly -eq 0 ]]; then            echo "<div class='diffdiv'>"        fi        lastonly=1    elif [[ "$t4" == 'diff' ]

i can't parse that mess of html that you sent, but if you want color html, try
http://stackoverflow.com/questions/3827862/convert-raw-diff-file-to-colorized-html-output
in your procmailrc.  might be able to use that in DIFFSCRIPT too.


More information about the Rancid-discuss mailing list