add 'nohtml' option, fixes #5

This commit is contained in:
Aine 2022-08-26 15:56:25 +03:00
parent a7877cac00
commit 41a52c1eca
No known key found for this signature in database
GPG key ID: 34969C908CCA2804
4 changed files with 14 additions and 1 deletions

View file

@ -103,7 +103,7 @@ func (b *Bot) Send(ctx context.Context, email *utils.Email) error {
text.WriteString(email.Subject)
text.WriteString("\n\n")
}
if email.HTML != "" {
if email.HTML != "" && !settings.NoHTML() {
text.WriteString(format.HTMLToMarkdown(email.HTML))
} else {
text.WriteString(email.Text)

View file

@ -64,6 +64,13 @@ var (
optionNoSubject,
),
},
{
key: optionNoHTML,
description: fmt.Sprintf(
"Get or set `%s` of the room (`true` - ignore HTML in email; `false` - parse HTML in emails)",
optionNoHTML,
),
},
}
// sanitizers is map of option name => sanitizer function
@ -71,6 +78,7 @@ var (
optionMailbox: utils.Mailbox,
optionNoSender: utils.SanitizeBoolString,
optionNoSubject: utils.SanitizeBoolString,
optionNoHTML: utils.SanitizeBoolString,
}
)

View file

@ -24,6 +24,7 @@ const (
optionMailbox = "mailbox"
optionNoSender = "nosender"
optionNoSubject = "nosubject"
optionNoHTML = "nohtml"
)
var migrations = []string{}

View file

@ -60,6 +60,10 @@ func (s settings) NoSubject() bool {
return utils.Bool(s.Get(optionNoSubject))
}
func (s settings) NoHTML() bool {
return utils.Bool(s.Get(optionNoHTML))
}
// Set option
func (s settings) Set(key, value string) {
s[strings.ToLower(strings.TrimSpace(key))] = value