upgrade deps; rewrite smtp session
This commit is contained in:
11
vendor/github.com/jaytaylor/html2text/README.md
generated
vendored
11
vendor/github.com/jaytaylor/html2text/README.md
generated
vendored
@@ -6,7 +6,6 @@
|
||||
|
||||
### Converts HTML into text of the markdown-flavored variety
|
||||
|
||||
|
||||
## Introduction
|
||||
|
||||
Ensure your emails are readable by all!
|
||||
@@ -19,7 +18,6 @@ There are still lots of improvements to be had, but FWIW this has worked fine fo
|
||||
|
||||
It requires go 1.x or newer ;)
|
||||
|
||||
|
||||
## Download the package
|
||||
|
||||
```bash
|
||||
@@ -28,6 +26,8 @@ go get jaytaylor.com/html2text
|
||||
|
||||
## Example usage
|
||||
|
||||
### Library
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
@@ -110,6 +110,11 @@ Here is some more information:
|
||||
+-------------+-------------+
|
||||
```
|
||||
|
||||
### Command line
|
||||
|
||||
```
|
||||
echo '<div>hi</div>' | html2text
|
||||
```
|
||||
|
||||
## Unit-tests
|
||||
|
||||
@@ -119,12 +124,10 @@ Running the unit-tests is straightforward and standard:
|
||||
go test
|
||||
```
|
||||
|
||||
|
||||
# License
|
||||
|
||||
Permissive MIT license.
|
||||
|
||||
|
||||
## Contact
|
||||
|
||||
You are more than welcome to open issues and send pull requests if you find a bug or want a new feature.
|
||||
|
||||
23
vendor/github.com/jaytaylor/html2text/html2text.go
generated
vendored
23
vendor/github.com/jaytaylor/html2text/html2text.go
generated
vendored
@@ -18,6 +18,7 @@ type Options struct {
|
||||
PrettyTables bool // Turns on pretty ASCII rendering for table elements.
|
||||
PrettyTablesOptions *PrettyTablesOptions // Configures pretty ASCII rendering for table elements.
|
||||
OmitLinks bool // Turns on omitting links
|
||||
TextOnly bool // Returns only plain text
|
||||
}
|
||||
|
||||
// PrettyTablesOptions overrides tablewriter behaviors
|
||||
@@ -157,6 +158,9 @@ func (ctx *textifyTraverseContext) handleElement(node *html.Node) error {
|
||||
}
|
||||
|
||||
str := subCtx.buf.String()
|
||||
if ctx.options.TextOnly {
|
||||
return ctx.emit(str + ".\n\n")
|
||||
}
|
||||
dividerLen := 0
|
||||
for _, line := range strings.Split(str, "\n") {
|
||||
if lineLen := len([]rune(line)); lineLen-1 > dividerLen {
|
||||
@@ -177,7 +181,9 @@ func (ctx *textifyTraverseContext) handleElement(node *html.Node) error {
|
||||
|
||||
case atom.Blockquote:
|
||||
ctx.blockquoteLevel++
|
||||
ctx.prefix = strings.Repeat(">", ctx.blockquoteLevel) + " "
|
||||
if !ctx.options.TextOnly {
|
||||
ctx.prefix = strings.Repeat(">", ctx.blockquoteLevel) + " "
|
||||
}
|
||||
if err := ctx.emit("\n"); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -190,7 +196,9 @@ func (ctx *textifyTraverseContext) handleElement(node *html.Node) error {
|
||||
return err
|
||||
}
|
||||
ctx.blockquoteLevel--
|
||||
ctx.prefix = strings.Repeat(">", ctx.blockquoteLevel)
|
||||
if !ctx.options.TextOnly {
|
||||
ctx.prefix = strings.Repeat(">", ctx.blockquoteLevel)
|
||||
}
|
||||
if ctx.blockquoteLevel > 0 {
|
||||
ctx.prefix += " "
|
||||
}
|
||||
@@ -213,8 +221,10 @@ func (ctx *textifyTraverseContext) handleElement(node *html.Node) error {
|
||||
return err
|
||||
|
||||
case atom.Li:
|
||||
if err := ctx.emit("* "); err != nil {
|
||||
return err
|
||||
if !ctx.options.TextOnly {
|
||||
if err := ctx.emit("* "); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if err := ctx.traverseChildren(node); err != nil {
|
||||
@@ -230,6 +240,9 @@ func (ctx *textifyTraverseContext) handleElement(node *html.Node) error {
|
||||
return err
|
||||
}
|
||||
str := subCtx.buf.String()
|
||||
if ctx.options.TextOnly {
|
||||
return ctx.emit(str + ".")
|
||||
}
|
||||
return ctx.emit("*" + str + "*")
|
||||
|
||||
case atom.A:
|
||||
@@ -254,7 +267,7 @@ func (ctx *textifyTraverseContext) handleElement(node *html.Node) error {
|
||||
if attrVal := getAttrVal(node, "href"); attrVal != "" {
|
||||
attrVal = ctx.normalizeHrefLink(attrVal)
|
||||
// Don't print link href if it matches link element content or if the link is empty.
|
||||
if !ctx.options.OmitLinks && attrVal != "" && linkText != attrVal {
|
||||
if (attrVal != "" && linkText != attrVal) && !ctx.options.OmitLinks && !ctx.options.TextOnly {
|
||||
hrefLink = "( " + attrVal + " )"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user