diff --git a/index.md b/index.md index 1440c43..91ba8af 100644 --- a/index.md +++ b/index.md @@ -5,12 +5,13 @@ Happy to accept pull requests for new topics! # Programs - [qutebrowser](docs/qutebrowser.md) - A highly customizable keyboard focused webbrowser using vim bindings + highly customizable keyboard focused webbrowser using vim bindings - [vimwiki](docs/vimwiki.md) - A wiki script for vim -- [weechat](docs/weechat.md) A TUI client for matrix + wiki script for vim +- [weechat](docs/weechat.md) TUI client for matrix - [ssh](docs/ssh.md) ssh configuration -- [GIT](docs/GIT.md) A version control software +- [GIT](docs/GIT.md) version control software +- [neomutt](neomutt.md) highly customizable TUI email client # Admin diff --git a/neomutt.md b/neomutt.md new file mode 100644 index 0000000..1c0209a --- /dev/null +++ b/neomutt.md @@ -0,0 +1,65 @@ +# Neomutt + +## Markdown to HTML rendering +To write more normie-friendly emails, non-plain-text emails are probably better. +For this, a conversion from Markdown to HTML with Mathjax support seems best. +It supports all the bells and whistles of markdown (images, links, code, italics, bold) as well as mathemtical formulas in LaTex notation using Mathjax. + +### Configuration + +The conversion is done via pandoc using templates. +Ensure `pandoc` is installed. (`which pandoc || sudo pacman -S pandoc`) + +Add to your muttrc (either in `~/.mutt/muttrc` or `~/.config/mutt/muttrc`. From now on assuming `~/.config/mutt` as config folder) + +``` +macro compose m \ +"set pipe_decode\ +pandoc -f gfm -t plain -o /tmp/msg.txt\ +pandoc -s -f gfm --self-contained -o /tmp/msg.html --resource-path ~/.config/mutt/templates/ --template email\ +unset pipe_decode\ +/tmp/msg.txt\ +/tmp/msg.html\ +" \ +"Convert markdown to HTML5 and plaintext alternative content types" +``` + +Create a folder called `templates`: `mkdir -p ~/.config/mutt/templates` +and create a file called `email.html` in this folder with the following content: +```html + + + + + + +$for(css)$ + +$endfor$ + +$for(header-includes)$ + $header-includes$ +$endfor$ + + + $body$ + $for(include-after)$ + $include-after$ + $endfor$ + + +``` +TODO: Proper Mathjax support +TODO: delete plaintext attachment after HTML creation + +### Usage + +To use this, write your email as usual and afterwards, press `m` on the created file in neomutt. +This will generate a combined file for plaintext fallback in case of unsupported HTML rendering. + +For now, also delete the still present plaintext file with `D`. +Your email should now be ready to be sent.