Improve output

This commit is contained in:
Melroy van den Berg 2025-04-24 17:28:53 +02:00
parent 86363c1dae
commit fca7c791b2
No known key found for this signature in database
GPG key ID: 71D11FF23454B9D7

View file

@ -66,7 +66,7 @@ func createSummary(jsonStr string) string {
case "Image", "Audio", "Video", "Document": case "Image", "Audio", "Video", "Document":
summaryParts = formatMedia(jsonStr, summaryParts, bold, green, yellow) summaryParts = formatMedia(jsonStr, summaryParts, bold, green, yellow)
case "Event": case "Event":
summaryParts = formatEvent(jsonStr, summaryParts, bold, green, yellow) summaryParts = formatEvent(jsonStr, summaryParts, bold, yellow)
case "Tombstone": case "Tombstone":
summaryParts = formatTombstone(jsonStr, summaryParts, bold, green, yellow) summaryParts = formatTombstone(jsonStr, summaryParts, bold, green, yellow)
} }
@ -115,10 +115,16 @@ func formatActor(jsonStr string, parts []string, bold, cyan, green, red, yellow
// formatContent formats content-type objects (Note, Article, Page, etc.) // formatContent formats content-type objects (Note, Article, Page, etc.)
func formatContent(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string { func formatContent(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string {
// Show the name/title if present (especially for Page/thread)
if name := gjson.Get(jsonStr, "name").String(); name != "" {
parts = append(parts, fmt.Sprintf("%s: %s", bold("Title"), name))
}
if content := gjson.Get(jsonStr, "content").String(); content != "" { if content := gjson.Get(jsonStr, "content").String(); content != "" {
md := htmlToMarkdown(content) md := htmlToMarkdown(content)
if len(md) > 300 { // Truncate the content if its too big.
md = md[:297] + "..." if len(md) > 1200 {
md = md[:1197] + "..."
} }
parts = append(parts, fmt.Sprintf("%s:\n%s", bold("Content"), renderMarkdown(md))) parts = append(parts, fmt.Sprintf("%s:\n%s", bold("Content"), renderMarkdown(md)))
} }
@ -134,7 +140,7 @@ func formatContent(jsonStr string, parts []string, bold, green, yellow func(a ..
href := attachment.Get("href").String() href := attachment.Get("href").String()
name := attachment.Get("name").String() name := attachment.Get("name").String()
// Truncate long descriptions // Truncate long names
if len(name) > 100 { if len(name) > 100 {
name = name[:97] + "..." name = name[:97] + "..."
} }
@ -230,7 +236,7 @@ func formatActivity(jsonStr string, parts []string, bold, green, yellow func(a .
url := attachment.Get("url").String() url := attachment.Get("url").String()
name := attachment.Get("name").String() name := attachment.Get("name").String()
// Truncate long descriptions // Truncate long names
if len(name) > 100 { if len(name) > 100 {
name = name[:97] + "..." name = name[:97] + "..."
} }
@ -304,7 +310,7 @@ func formatCollection(jsonStr string, parts []string, bold, green, yellow func(a
// formatMedia formats media-type objects (Image, Video, etc.) // formatMedia formats media-type objects (Image, Video, etc.)
func formatMedia(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string { func formatMedia(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string {
if name := gjson.Get(jsonStr, "name").String(); name != "" { if name := gjson.Get(jsonStr, "name").String(); name != "" {
parts = append(parts, fmt.Sprintf("%s: %s", bold("Name"), name)) parts = append(parts, fmt.Sprintf("%s: %s", bold("Title"), name))
} }
if url := gjson.Get(jsonStr, "url").String(); url != "" { if url := gjson.Get(jsonStr, "url").String(); url != "" {
@ -327,9 +333,9 @@ func formatMedia(jsonStr string, parts []string, bold, green, yellow func(a ...i
} }
// formatEvent formats event-type objects // formatEvent formats event-type objects
func formatEvent(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string { func formatEvent(jsonStr string, parts []string, bold, yellow func(a ...interface{}) string) []string {
if name := gjson.Get(jsonStr, "name").String(); name != "" { if name := gjson.Get(jsonStr, "name").String(); name != "" {
parts = append(parts, fmt.Sprintf("%s: %s", bold("Name"), name)) parts = append(parts, fmt.Sprintf("%s: %s", bold("Title"), name))
} }
if content := gjson.Get(jsonStr, "content").String(); content != "" { if content := gjson.Get(jsonStr, "content").String(); content != "" {