فهرست منبع

feat(rewrite)!: remove `parse_markdown` rewrite rule

It was added in 2022 by #1513, to support blog.laravel.com, which has
since switched to HTML. The Atom 0.3/1.0, RSS 1.0/2.0, RDF, and JSON formats
don't support markdown in their spec, and any website serving it there should
be considered as buggy and fixed.

This shaves off 2MB from the miniflux binary, which is quite steep for a
feature that nobody is/should be using, and remove a dependency which is always
a good thing.
Julien Voisin 1 سال پیش
والد
کامیت
a913f3f75f
5فایلهای تغییر یافته به همراه0 افزوده شده و 23 حذف شده
  1. 0 1
      go.mod
  2. 0 2
      go.sum
  3. 0 17
      internal/reader/rewrite/rewrite_functions.go
  4. 0 2
      internal/reader/rewrite/rewriter.go
  5. 0 1
      internal/reader/rewrite/rules.go

+ 0 - 1
go.mod

@@ -12,7 +12,6 @@ require (
 	github.com/lib/pq v1.10.9
 	github.com/prometheus/client_golang v1.20.5
 	github.com/tdewolff/minify/v2 v2.21.2
-	github.com/yuin/goldmark v1.7.8
 	golang.org/x/crypto v0.30.0
 	golang.org/x/net v0.32.0
 	golang.org/x/oauth2 v0.24.0

+ 0 - 2
go.sum

@@ -66,8 +66,6 @@ github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcY
 github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
 github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
-github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY=

+ 0 - 17
internal/reader/rewrite/rewrite_functions.go

@@ -17,8 +17,6 @@ import (
 	nethtml "golang.org/x/net/html"
 
 	"github.com/PuerkitoBio/goquery"
-	"github.com/yuin/goldmark"
-	goldmarkhtml "github.com/yuin/goldmark/renderer/html"
 )
 
 var (
@@ -410,21 +408,6 @@ func addHackerNewsLinksUsing(entryContent, app string) string {
 	return entryContent
 }
 
-func parseMarkdown(entryContent string) string {
-	var sb strings.Builder
-	md := goldmark.New(
-		goldmark.WithRendererOptions(
-			goldmarkhtml.WithUnsafe(),
-		),
-	)
-
-	if err := md.Convert([]byte(entryContent), &sb); err != nil {
-		return entryContent
-	}
-
-	return sb.String()
-}
-
 func removeTables(entryContent string) string {
 	doc, err := goquery.NewDocumentFromReader(strings.NewReader(entryContent))
 	if err != nil {

+ 0 - 2
internal/reader/rewrite/rewriter.go

@@ -91,8 +91,6 @@ func (rule rule) applyRule(entryURL string, entry *model.Entry) {
 		entry.Content = addHackerNewsLinksUsing(entry.Content, "hack")
 	case "add_hn_links_using_opener":
 		entry.Content = addHackerNewsLinksUsing(entry.Content, "opener")
-	case "parse_markdown":
-		entry.Content = parseMarkdown(entry.Content)
 	case "remove_tables":
 		entry.Content = removeTables(entry.Content)
 	case "remove_clickbait":

+ 0 - 1
internal/reader/rewrite/rules.go

@@ -35,7 +35,6 @@ var predefinedRules = map[string]string{
 	"treelobsters.com":       "add_image_title",
 	"webtoons.com":           `add_dynamic_image,replace("webtoon"|"swebtoon")`,
 	"www.qwantz.com":         "add_image_title,add_mailto_subject",
-	"www.recalbox.com":       "parse_markdown",
 	"xkcd.com":               "add_image_title",
 	"youtube.com":            "add_youtube_video",
 }