chore: add memo content snippet

pull/3712/head
Steven 8 months ago
parent 0053977b14
commit 5a26b76511

@ -8,6 +8,7 @@ import (
"log/slog"
"slices"
"time"
"unicode/utf8"
"github.com/google/cel-go/cel"
"github.com/lithammer/shortuuid/v4"
@ -1301,5 +1302,27 @@ func getMemoContentSnippet(content string) (string, error) {
}
plainText := renderer.NewStringRenderer().Render(nodes)
if len(plainText) > 100 {
return substring(plainText, 100) + "...", nil
}
return plainText, nil
}
func substring(s string, length int) string {
if length <= 0 {
return ""
}
runeCount := 0
byteIndex := 0
for byteIndex < len(s) {
_, size := utf8.DecodeRuneInString(s[byteIndex:])
byteIndex += size
runeCount++
if runeCount == length {
break
}
}
return s[:byteIndex]
}

Loading…
Cancel
Save