[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