1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-06 17:41:00 +00:00

refactor(readability): simplify a bit getArticle

- Use a proper division instead of multiplying by a float.
- Extract a condition in the parent scope
- Use an else-if construct instead of a simple if
This commit is contained in:
jvoisin 2025-06-27 16:25:23 +02:00 committed by Frédéric Guillot
parent a68de4ee6a
commit 4e1f836266

View file

@ -104,19 +104,19 @@ func ExtractContent(page io.Reader) (baseURL string, extractedContent string, er
func getArticle(topCandidate *candidate, candidates candidateList) string {
var output strings.Builder
output.WriteString("<div>")
siblingScoreThreshold := max(10, topCandidate.score*.2)
siblingScoreThreshold := max(10, topCandidate.score/5)
topCandidate.selection.Siblings().Union(topCandidate.selection).Each(func(i int, s *goquery.Selection) {
append := false
tag := "div"
node := s.Get(0)
if node == topCandidate.Node() {
append = true
} else if c, ok := candidates[node]; ok && c.score >= siblingScoreThreshold {
append = true
}
if s.Is("p") {
} else if s.Is("p") {
tag = node.Data
linkDensity := getLinkDensity(s)
content := s.Text()
contentLength := len(content)
@ -126,18 +126,15 @@ func getArticle(topCandidate *candidate, candidates candidateList) string {
append = true
}
} else {
if linkDensity == 0 && containsSentence(content) {
append = true
if linkDensity == 0 {
if containsSentence(content) {
append = true
}
}
}
}
if append {
tag := "div"
if s.Is("p") {
tag = node.Data
}
html, _ := s.Html()
output.WriteString("<" + tag + ">" + html + "</" + tag + ">")
}