diff --git a/internal/utilities/html.go b/internal/utilities/html.go
index 52aa8e4..b44f100 100644
--- a/internal/utilities/html.go
+++ b/internal/utilities/html.go
@@ -2,15 +2,23 @@ package utilities
import (
"io"
+ "strconv"
"strings"
"golang.org/x/net/html"
)
+const (
+ htmlNoList int = iota
+ htmlOrderedList
+ htmlUnorderedList
+)
+
func ConvertHTMLToText(text string) string {
var builder strings.Builder
- var unorderedList bool
+ htmlList := htmlNoList
+ orderedListNumber := 1
token := html.NewTokenizer(strings.NewReader(text))
@@ -24,24 +32,35 @@ func ConvertHTMLToText(text string) string {
builder.WriteString(text)
case html.StartTagToken, html.EndTagToken:
tag := token.Token().String()
- unorderedList = processTag(&builder, tag, unorderedList)
+ htmlList, orderedListNumber = processTagToken(&builder, tag, htmlList, orderedListNumber)
}
}
}
-func processTag(writer io.StringWriter, tag string, unorderedList bool) bool {
+func processTagToken(writer io.StringWriter, tag string, htmlList, orderedListNumber int) (int, int) {
switch tag {
case "
", "
", "
", "": _, _ = writer.WriteString("\n") case "