X-Git-Url: https://git.madduck.net/etc/neomutt.git/blobdiff_plain/a6ac44586209b9b0be5add1bef270451f3dcb677..4d1afcd5cc3e282554877a10d6be81931ef0cc03:/.config/neomutt/htmldump?ds=sidebyside diff --git a/.config/neomutt/htmldump b/.config/neomutt/htmldump new file mode 100755 index 0000000..396b799 --- /dev/null +++ b/.config/neomutt/htmldump @@ -0,0 +1,59 @@ +#!/bin/sh + +get_mutt_confvar() { + local ret; + ret=$(neomutt -Q "$1" | sed -rne "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 + +awesome-client <<-_eof + local naughty = require("naughty") + naughty.notify({ preset = naughty.config.presets.low, + title = "htmldump called", + text = [[$@]], + }) + _eof + +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