X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/7dce3f94007246722ec7319798053cafb98b4010..9777b1b01cb571ad1f698f9476d08f2873e471b8:/.mutt/htmldump?ds=sidebyside diff --git a/.mutt/htmldump b/.mutt/htmldump index 565d512..906bd6d 100755 --- a/.mutt/htmldump +++ b/.mutt/htmldump @@ -1,5 +1,46 @@ #!/bin/sh -exec elinks -anonymous -localhost -eval "set document.codepage.assume = '$2'" \ - -eval "set document.browse.margin_width = 0" \ - -force-html -dump -dump-charset utf-8 -dump-color-mode 0 +get_mutt_confvar() { + local ret; + ret=$(mutt -D | sed -rne "s,^${1}(=| is ),,p") + case "$ret" in + (set) echo return 0;; + (unset) echo return 1;; + ('') echo "${2:-}"; return 1;; + (*) echo "$ret";; + esac +} + +WRAP=$(get_mutt_confvar wrap 0) +if [ $WRAP -lt 0 ]; then + WIDTH=$((${COLUMNS:-78} + $WRAP)) + +elif [ $WRAP -gt 0 ]; then + WIDTH=$WRAP + +fi + +if command -v html2markdown >/dev/null; then + + exec html2markdown --asterisk-emphasis --body-width=$WIDTH --unicode-snob \ + --no-skip-internal-links --links-after-para --no-wrap-links \ + --decode-errors=replace --images-to-alt - "$2"| \ + sed -re 's,^\\--[[:space:]]+$,-- ,' + +elif command -v elinks >/dev/null; then + + exec elinks -anonymous -localhost -eval "set document.codepage.assume = '$2'" \ + -dump-width $WIDTH \ + -eval "set document.browse.margin_width = 0" \ + -force-html -dump -dump-charset utf-8 -dump-color-mode 0 + +elif command -v w3m >/dev/null; then + + exec w3m -I "$2" -O utf-8 -T text/html -dump -cols $WIDTH + +else + + echo >&2 No HTML to text converter found. + exit 1 + +fi