X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/a83d50d5a64488deb3796bbd0ca0a03b0516cc77..7013dfe93a05082153f79eca6c9e5c05b54d9d50:/.config/mutt/htmldump?ds=sidebyside diff --git a/.config/mutt/htmldump b/.config/mutt/htmldump new file mode 100755 index 0000000..c15ecd1 --- /dev/null +++ b/.config/mutt/htmldump @@ -0,0 +1,51 @@ +#!/bin/sh + +get_mutt_confvar() { + local ret; + ret=$(mutt -Q "$1" | sed -rne "s,\S+(=| 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 pandoc >/dev/null; then + + exec iconv -f "$2" -t utf-8 | pandoc -s -f html -t markdown_mmd \ + --columns=$WIDTH + +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