mirror of
https://github.com/miniflux/v2.git
synced 2025-07-12 16:58:36 +00:00
Use truncated entry description as title if unavailable
This commit is contained in:
parent
c9e0f0b3e4
commit
1eb01b39e7
10 changed files with 314 additions and 24 deletions
23
reader/sanitizer/truncate.go
Normal file
23
reader/sanitizer/truncate.go
Normal file
|
@ -0,0 +1,23 @@
|
|||
// Copyright 2022 Frédéric Guillot. All rights reserved.
|
||||
// Use of this source code is governed by the Apache 2.0
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package sanitizer
|
||||
|
||||
import "strings"
|
||||
|
||||
func TruncateHTML(input string, max int) string {
|
||||
text := StripTags(input)
|
||||
text = strings.ReplaceAll(text, "\n", " ")
|
||||
text = strings.ReplaceAll(text, "\t", " ")
|
||||
text = strings.ReplaceAll(text, " ", " ")
|
||||
text = strings.TrimSpace(text)
|
||||
|
||||
// Convert to runes to be safe with unicode
|
||||
runes := []rune(text)
|
||||
if len(runes) > max {
|
||||
return strings.TrimSpace(string(runes[:max])) + "…"
|
||||
}
|
||||
|
||||
return text
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue