mirror of
https://github.com/wgh136/nysoure.git
synced 2025-09-27 20:27:23 +00:00
Improve resource descriptions
This commit is contained in:
@@ -83,16 +83,32 @@ func serveIndexHtml(c fiber.Ctx) error {
|
|||||||
return c.SendString(content)
|
return c.SendString(content)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func mergeSpaces(str string) string {
|
||||||
|
// Replace multiple spaces with a single space
|
||||||
|
builder := strings.Builder{}
|
||||||
|
for i, r := range str {
|
||||||
|
if r == '\t' || r == '\r' {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if r == ' ' || r == '\n' {
|
||||||
|
if i > 0 && str[i-1] != ' ' && str[i-1] != '\n' {
|
||||||
|
builder.WriteRune(' ')
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
builder.WriteRune(r)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return builder.String()
|
||||||
|
}
|
||||||
|
|
||||||
func getResourceDescription(article string) string {
|
func getResourceDescription(article string) string {
|
||||||
htmlContent := mdToHTML([]byte(article))
|
htmlContent := mdToHTML([]byte(article))
|
||||||
plain := html2text.HTML2Text(string(htmlContent))
|
plain := html2text.HTML2Text(string(htmlContent))
|
||||||
|
plain = strings.TrimSpace(plain)
|
||||||
|
plain = mergeSpaces(plain)
|
||||||
if len([]rune(plain)) > 100 {
|
if len([]rune(plain)) > 100 {
|
||||||
plain = string([]rune(plain)[:100])
|
plain = string([]rune(plain)[:100])
|
||||||
}
|
}
|
||||||
plain = strings.ReplaceAll(plain, "\n", " ")
|
|
||||||
plain = strings.ReplaceAll(plain, "\r", "")
|
|
||||||
plain = strings.ReplaceAll(plain, "\t", "")
|
|
||||||
plain = strings.TrimSpace(plain)
|
|
||||||
return plain
|
return plain
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user