mirror of
https://github.com/miniflux/v2.git
synced 2025-08-01 17:38:37 +00:00
Add addDynamicIframe
rewrite function.
Add unit tests for `add_dynamic_iframe` rewrite.
This commit is contained in:
parent
50341759b6
commit
1159dd6982
3 changed files with 87 additions and 0 deletions
|
@ -167,6 +167,43 @@ func addDynamicImage(entryURL, entryContent string) string {
|
|||
return entryContent
|
||||
}
|
||||
|
||||
func addDynamicIframe(entryURL, entryContent string) string {
|
||||
doc, err := goquery.NewDocumentFromReader(strings.NewReader(entryContent))
|
||||
if err != nil {
|
||||
return entryContent
|
||||
}
|
||||
|
||||
// Ordered most preferred to least preferred.
|
||||
candidateAttrs := []string{
|
||||
"data-src",
|
||||
"data-original",
|
||||
"data-orig",
|
||||
"data-url",
|
||||
"data-lazy-src",
|
||||
}
|
||||
|
||||
changed := false
|
||||
|
||||
doc.Find("iframe").Each(func(i int, iframe *goquery.Selection) {
|
||||
for _, candidateAttr := range candidateAttrs {
|
||||
if srcAttr, found := iframe.Attr(candidateAttr); found {
|
||||
changed = true
|
||||
|
||||
iframe.SetAttr("src", srcAttr)
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if changed {
|
||||
output, _ := doc.Find("body").First().Html()
|
||||
return output
|
||||
}
|
||||
|
||||
return entryContent
|
||||
}
|
||||
|
||||
func fixMediumImages(entryURL, entryContent string) string {
|
||||
doc, err := goquery.NewDocumentFromReader(strings.NewReader(entryContent))
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue