mirror of
https://gitlab.melroy.org/melroy/fediresolve.git
synced 2025-06-07 20:08:57 +00:00
Add more color
This commit is contained in:
parent
1a8bcb5bf9
commit
f97368cc70
1 changed files with 28 additions and 24 deletions
|
@ -56,17 +56,17 @@ func createSummary(jsonStr string) string {
|
||||||
case "Person", "Application", "Group", "Organization", "Service":
|
case "Person", "Application", "Group", "Organization", "Service":
|
||||||
summaryParts = formatActor(jsonStr, summaryParts, bold, cyan, green, red, yellow)
|
summaryParts = formatActor(jsonStr, summaryParts, bold, cyan, green, red, yellow)
|
||||||
case "Note", "Article", "Page", "Question":
|
case "Note", "Article", "Page", "Question":
|
||||||
summaryParts = formatContent(jsonStr, summaryParts, bold, green)
|
summaryParts = formatContent(jsonStr, summaryParts, bold, green, yellow)
|
||||||
case "Create", "Update", "Delete", "Follow", "Add", "Remove", "Like", "Block", "Announce":
|
case "Create", "Update", "Delete", "Follow", "Add", "Remove", "Like", "Block", "Announce":
|
||||||
summaryParts = formatActivity(jsonStr, summaryParts, bold, green, yellow)
|
summaryParts = formatActivity(jsonStr, summaryParts, bold, green, yellow)
|
||||||
case "Collection", "OrderedCollection", "CollectionPage", "OrderedCollectionPage":
|
case "Collection", "OrderedCollection", "CollectionPage", "OrderedCollectionPage":
|
||||||
summaryParts = formatCollection(jsonStr, summaryParts, bold, green)
|
summaryParts = formatCollection(jsonStr, summaryParts, bold, green, yellow)
|
||||||
case "Image", "Audio", "Video", "Document":
|
case "Image", "Audio", "Video", "Document":
|
||||||
summaryParts = formatMedia(jsonStr, summaryParts, bold, green)
|
summaryParts = formatMedia(jsonStr, summaryParts, bold, green, yellow)
|
||||||
case "Event":
|
case "Event":
|
||||||
summaryParts = formatEvent(jsonStr, summaryParts, bold, green)
|
summaryParts = formatEvent(jsonStr, summaryParts, bold, green, yellow)
|
||||||
case "Tombstone":
|
case "Tombstone":
|
||||||
summaryParts = formatTombstone(jsonStr, summaryParts, bold, green)
|
summaryParts = formatTombstone(jsonStr, summaryParts, bold, green, yellow)
|
||||||
}
|
}
|
||||||
|
|
||||||
return strings.Join(summaryParts, "\n")
|
return strings.Join(summaryParts, "\n")
|
||||||
|
@ -106,7 +106,7 @@ func formatActor(jsonStr string, parts []string, bold, cyan, green, red, yellow
|
||||||
}
|
}
|
||||||
|
|
||||||
// formatContent formats content-type objects (Note, Article, etc.)
|
// formatContent formats content-type objects (Note, Article, etc.)
|
||||||
func formatContent(jsonStr string, parts []string, bold, green func(a ...interface{}) string) []string {
|
func formatContent(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string {
|
||||||
if content := gjson.Get(jsonStr, "content").String(); content != "" {
|
if content := gjson.Get(jsonStr, "content").String(); content != "" {
|
||||||
// Strip HTML tags for display
|
// Strip HTML tags for display
|
||||||
content = stripHTML(content)
|
content = stripHTML(content)
|
||||||
|
@ -141,38 +141,38 @@ func formatContent(jsonStr string, parts []string, bold, green func(a ...interfa
|
||||||
parts = append(parts, attachmentInfo)
|
parts = append(parts, attachmentInfo)
|
||||||
|
|
||||||
if url != "" {
|
if url != "" {
|
||||||
parts = append(parts, fmt.Sprintf(" URL: %s", url))
|
parts = append(parts, fmt.Sprintf(" URL: %s", green(url)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if published := gjson.Get(jsonStr, "published").String(); published != "" {
|
if published := gjson.Get(jsonStr, "published").String(); published != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Published"), formatDate(published)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Published"), yellow(formatDate(published))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if updated := gjson.Get(jsonStr, "updated").String(); updated != "" {
|
if updated := gjson.Get(jsonStr, "updated").String(); updated != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Updated"), formatDate(updated)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Updated"), yellow(formatDate(updated))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if attributedTo := gjson.Get(jsonStr, "attributedTo").String(); attributedTo != "" {
|
if attributedTo := gjson.Get(jsonStr, "attributedTo").String(); attributedTo != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Author"), attributedTo))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Author"), green(attributedTo)))
|
||||||
}
|
}
|
||||||
|
|
||||||
if to := gjson.Get(jsonStr, "to").Array(); len(to) > 0 {
|
if to := gjson.Get(jsonStr, "to").Array(); len(to) > 0 {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("To"), formatArray(to)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("To"), green(formatArray(to))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if cc := gjson.Get(jsonStr, "cc").Array(); len(cc) > 0 {
|
if cc := gjson.Get(jsonStr, "cc").Array(); len(cc) > 0 {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("CC"), formatArray(cc)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("CC"), green(formatArray(cc))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if inReplyTo := gjson.Get(jsonStr, "inReplyTo").String(); inReplyTo != "" {
|
if inReplyTo := gjson.Get(jsonStr, "inReplyTo").String(); inReplyTo != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("In Reply To"), inReplyTo))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("In Reply To"), green(inReplyTo)))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Include endTime for Question type
|
// Include endTime for Question type
|
||||||
if endTime := gjson.Get(jsonStr, "endTime").String(); endTime != "" {
|
if endTime := gjson.Get(jsonStr, "endTime").String(); endTime != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("End Time"), formatDate(endTime)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("End Time"), yellow(formatDate(endTime))))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Include options (oneOf/anyOf) for Question type
|
// Include options (oneOf/anyOf) for Question type
|
||||||
|
@ -243,7 +243,7 @@ func formatActivity(jsonStr string, parts []string, bold, green, yellow func(a .
|
||||||
}
|
}
|
||||||
|
|
||||||
if published := gjson.Get(jsonStr, "published").String(); published != "" {
|
if published := gjson.Get(jsonStr, "published").String(); published != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Published"), formatDate(published)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Published"), yellow(formatDate(published))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if target := gjson.Get(jsonStr, "target").String(); target != "" {
|
if target := gjson.Get(jsonStr, "target").String(); target != "" {
|
||||||
|
@ -254,7 +254,7 @@ func formatActivity(jsonStr string, parts []string, bold, green, yellow func(a .
|
||||||
}
|
}
|
||||||
|
|
||||||
// formatCollection formats collection-type objects
|
// formatCollection formats collection-type objects
|
||||||
func formatCollection(jsonStr string, parts []string, bold, green func(a ...interface{}) string) []string {
|
func formatCollection(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string {
|
||||||
if totalItems := gjson.Get(jsonStr, "totalItems").Int(); totalItems > 0 {
|
if totalItems := gjson.Get(jsonStr, "totalItems").Int(); totalItems > 0 {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %d", bold("Total Items"), totalItems))
|
parts = append(parts, fmt.Sprintf("%s: %d", bold("Total Items"), totalItems))
|
||||||
}
|
}
|
||||||
|
@ -285,17 +285,21 @@ func formatCollection(jsonStr string, parts []string, bold, green func(a ...inte
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if published := gjson.Get(jsonStr, "published").String(); published != "" {
|
||||||
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Published"), yellow(formatDate(published))))
|
||||||
|
}
|
||||||
|
|
||||||
return parts
|
return parts
|
||||||
}
|
}
|
||||||
|
|
||||||
// formatMedia formats media-type objects (Image, Video, etc.)
|
// formatMedia formats media-type objects (Image, Video, etc.)
|
||||||
func formatMedia(jsonStr string, parts []string, bold, green 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("Name"), name))
|
||||||
}
|
}
|
||||||
|
|
||||||
if url := gjson.Get(jsonStr, "url").String(); url != "" {
|
if url := gjson.Get(jsonStr, "url").String(); url != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("URL"), url))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("URL"), green(url)))
|
||||||
}
|
}
|
||||||
|
|
||||||
if duration := gjson.Get(jsonStr, "duration").String(); duration != "" {
|
if duration := gjson.Get(jsonStr, "duration").String(); duration != "" {
|
||||||
|
@ -303,7 +307,7 @@ func formatMedia(jsonStr string, parts []string, bold, green func(a ...interface
|
||||||
}
|
}
|
||||||
|
|
||||||
if published := gjson.Get(jsonStr, "published").String(); published != "" {
|
if published := gjson.Get(jsonStr, "published").String(); published != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Published"), formatDate(published)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Published"), yellow(formatDate(published))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if attributedTo := gjson.Get(jsonStr, "attributedTo").String(); attributedTo != "" {
|
if attributedTo := gjson.Get(jsonStr, "attributedTo").String(); attributedTo != "" {
|
||||||
|
@ -314,7 +318,7 @@ func formatMedia(jsonStr string, parts []string, bold, green func(a ...interface
|
||||||
}
|
}
|
||||||
|
|
||||||
// formatEvent formats event-type objects
|
// formatEvent formats event-type objects
|
||||||
func formatEvent(jsonStr string, parts []string, bold, green func(a ...interface{}) string) []string {
|
func formatEvent(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("Name"), name))
|
||||||
}
|
}
|
||||||
|
@ -328,11 +332,11 @@ func formatEvent(jsonStr string, parts []string, bold, green func(a ...interface
|
||||||
}
|
}
|
||||||
|
|
||||||
if startTime := gjson.Get(jsonStr, "startTime").String(); startTime != "" {
|
if startTime := gjson.Get(jsonStr, "startTime").String(); startTime != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Start Time"), formatDate(startTime)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Start Time"), yellow(formatDate(startTime))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if endTime := gjson.Get(jsonStr, "endTime").String(); endTime != "" {
|
if endTime := gjson.Get(jsonStr, "endTime").String(); endTime != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("End Time"), formatDate(endTime)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("End Time"), yellow(formatDate(endTime))))
|
||||||
}
|
}
|
||||||
|
|
||||||
if location := gjson.Get(jsonStr, "location").String(); location != "" {
|
if location := gjson.Get(jsonStr, "location").String(); location != "" {
|
||||||
|
@ -343,13 +347,13 @@ func formatEvent(jsonStr string, parts []string, bold, green func(a ...interface
|
||||||
}
|
}
|
||||||
|
|
||||||
// formatTombstone formats tombstone-type objects
|
// formatTombstone formats tombstone-type objects
|
||||||
func formatTombstone(jsonStr string, parts []string, bold, green func(a ...interface{}) string) []string {
|
func formatTombstone(jsonStr string, parts []string, bold, green, yellow func(a ...interface{}) string) []string {
|
||||||
if formerType := gjson.Get(jsonStr, "formerType").String(); formerType != "" {
|
if formerType := gjson.Get(jsonStr, "formerType").String(); formerType != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Former Type"), formerType))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Former Type"), formerType))
|
||||||
}
|
}
|
||||||
|
|
||||||
if deleted := gjson.Get(jsonStr, "deleted").String(); deleted != "" {
|
if deleted := gjson.Get(jsonStr, "deleted").String(); deleted != "" {
|
||||||
parts = append(parts, fmt.Sprintf("%s: %s", bold("Deleted"), formatDate(deleted)))
|
parts = append(parts, fmt.Sprintf("%s: %s", bold("Deleted"), yellow(formatDate(deleted))))
|
||||||
}
|
}
|
||||||
|
|
||||||
return parts
|
return parts
|
||||||
|
|
Loading…
Add table
Reference in a new issue