diff --git a/docs/neomutt.md b/docs/neomutt.md new file mode 100644 index 0000000..cc461d4 --- /dev/null +++ b/docs/neomutt.md @@ -0,0 +1,124 @@ +# 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 --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$ + + +``` + +### 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. + +For writing formulas, just use latex syntax in the normal `$` delimiters. +Be careful on inline formulas, here a whitespace between the leading `$` and the formula breaks the rendering! + +## File Size + +Since Mathjax is creating a binary for the rendering of the math syntax which is embedded in the html, the file sizes are usually around 1 MB. +This is not necessary when no LaTeX syntax is used. +Create a second macro for which you use a different template, that excludes the mathjax script. +This way you can create smaller emails with pure markdown syntax and when necessary can send mathematical formulas, resulting in larger mails. + +For this add the following to the muttrc: +``` +macro compose l \ +"set pipe_decode\ +pandoc -f gfm -t plain -o /tmp/msg.txt\ +pandoc -s --self-contained -o /tmp/msg.html --resource-path ~/.config/mutt/templates/ --template email_pure\ +unset pipe_decode\ +/tmp/msg.txt\ +/tmp/msg.html\ +" \ +"Convert markdown to HTML5 and plaintext alternative content types" +``` + +Further create a new file called `email_pure.html` in `mutt/templates` with the following content: +```html + + + + + + +$for(css)$ + +$endfor$ + +$for(header-includes)$ + $header-includes$ +$endfor$ + + + $body$ + $for(include-after)$ + $include-after$ + $endfor$ + + +``` + + + +TODO: delete plaintext attachment after HTML creation +TODO: remove `tmp` files after sending diff --git a/docs/ssh.md b/docs/ssh.md index c3ba703..5953b38 100644 --- a/docs/ssh.md +++ b/docs/ssh.md @@ -17,7 +17,8 @@ Change the permisions of this folder using `chmod 700 ~/.ssh`. The next step is to make the `authorized_keys` file using ``` touch ~/authorized_keys -chmod 600 ~/.ssh/authorized_keys ``` +chmod 600 ~/.ssh/authorized_keys +``` Now open the `authorized_keys` and copy-paste the public key contents in to it. One can also use `ssh-copy-id user@domain` after generating the key-pair. @@ -48,19 +49,27 @@ If you need to connect to an access server before connecting to the actual serve ``` IgnoreUnknown AddKeysToAgent,UseKeychain +``` ## All EXEMPLUM-COMPANY +``` Host EXEMP* User username IdentityFile ~/.ssh/id_rsa AddKeysToAgent yes UseKeychain yes +``` ## Access server + +``` Host EXEMPaccess HostName login.example.com +``` ## Working server + +``` Host EXEMPwork HostName work.example.com proxycommand ssh -CW %h:%p EXEMPaccess ## access server diff --git a/index.md b/index.md index 91ba8af..07f07a1 100644 --- a/index.md +++ b/index.md @@ -11,7 +11,7 @@ Happy to accept pull requests for new topics! - [weechat](docs/weechat.md) TUI client for matrix - [ssh](docs/ssh.md) ssh configuration - [GIT](docs/GIT.md) version control software -- [neomutt](neomutt.md) highly customizable TUI email client +- [neomutt](docs/neomutt.md) highly customizable TUI email client # Admin diff --git a/neomutt.md b/neomutt.md deleted file mode 100644 index 1c0209a..0000000 --- a/neomutt.md +++ /dev/null @@ -1,65 +0,0 @@ -# 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.