add 'nohtml' option, fixes #5

This commit is contained in:
Aine
2022-08-26 15:56:25 +03:00
parent a7877cac00
commit 41a52c1eca
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