|
|
@@ -7,6 +7,7 @@ package rewrite // import "miniflux.app/reader/rewrite"
|
|
|
import (
|
|
|
"fmt"
|
|
|
"html"
|
|
|
+ "net/url"
|
|
|
"regexp"
|
|
|
"strings"
|
|
|
|
|
|
@@ -43,6 +44,38 @@ func addImageTitle(entryURL, entryContent string) string {
|
|
|
return entryContent
|
|
|
}
|
|
|
|
|
|
+func addMailtoSubject(entryURL, entryContent string) string {
|
|
|
+ doc, err := goquery.NewDocumentFromReader(strings.NewReader(entryContent))
|
|
|
+ if err != nil {
|
|
|
+ return entryContent
|
|
|
+ }
|
|
|
+
|
|
|
+ matches := doc.Find(`a[href^="mailto:"]`)
|
|
|
+
|
|
|
+ if matches.Length() > 0 {
|
|
|
+ matches.Each(func(i int, a *goquery.Selection) {
|
|
|
+ hrefAttr, _ := a.Attr("href")
|
|
|
+
|
|
|
+ mailto, err := url.Parse(hrefAttr)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ subject := mailto.Query().Get("subject")
|
|
|
+ if subject == "" {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ a.AppendHtml(" [" + html.EscapeString(subject) + "]")
|
|
|
+ })
|
|
|
+
|
|
|
+ output, _ := doc.Find("body").First().Html()
|
|
|
+ return output
|
|
|
+ }
|
|
|
+
|
|
|
+ return entryContent
|
|
|
+}
|
|
|
+
|
|
|
func addDynamicImage(entryURL, entryContent string) string {
|
|
|
doc, err := goquery.NewDocumentFromReader(strings.NewReader(entryContent))
|
|
|
if err != nil {
|