transform p tags to line breaks, run StripHTMLTags for status content
This commit is contained in:
parent
6844c6e348
commit
cad41d792f
3 changed files with 16 additions and 9 deletions
|
@ -158,7 +158,6 @@ func (s Status) String() string {
|
||||||
|
|
||||||
%s
|
%s
|
||||||
%s
|
%s
|
||||||
|
|
||||||
%s
|
%s
|
||||||
%s
|
%s
|
||||||
|
|
||||||
|
@ -179,10 +178,9 @@ func (s Status) String() string {
|
||||||
|
|
||||||
return fmt.Sprintf(
|
return fmt.Sprintf(
|
||||||
format,
|
format,
|
||||||
utilities.DisplayNameFormat(s.Account.DisplayName),
|
utilities.DisplayNameFormat(s.Account.DisplayName), s.Account.Username,
|
||||||
s.Account.Username,
|
|
||||||
utilities.HeaderFormat("CONTENT:"),
|
utilities.HeaderFormat("CONTENT:"),
|
||||||
utilities.WrapLines(s.Content, "\n ", 80),
|
utilities.WrapLines(utilities.StripHTMLTags(s.Content), "\n ", 80),
|
||||||
utilities.HeaderFormat("STATUS ID:"),
|
utilities.HeaderFormat("STATUS ID:"),
|
||||||
s.ID,
|
s.ID,
|
||||||
utilities.HeaderFormat("CREATED AT:"),
|
utilities.HeaderFormat("CREATED AT:"),
|
||||||
|
|
|
@ -19,7 +19,7 @@ func (t Timeline) String() string {
|
||||||
builder.WriteString(utilities.HeaderFormat(t.Name) + "\n\n")
|
builder.WriteString(utilities.HeaderFormat(t.Name) + "\n\n")
|
||||||
|
|
||||||
for _, status := range t.Statuses {
|
for _, status := range t.Statuses {
|
||||||
builder.WriteString(utilities.DisplayNameFormat(status.Account.DisplayName) + " (@" + status.Account.Username + ")\n\n")
|
builder.WriteString(utilities.DisplayNameFormat(status.Account.DisplayName) + " (@" + status.Account.Username + ")\n")
|
||||||
builder.WriteString(utilities.WrapLines(utilities.StripHTMLTags(status.Content), "\n", 80) + "\n\n")
|
builder.WriteString(utilities.WrapLines(utilities.StripHTMLTags(status.Content), "\n", 80) + "\n\n")
|
||||||
builder.WriteString(utilities.FieldFormat("ID:") + " " + status.ID + "\t" + utilities.FieldFormat("Created at:") + " " + utilities.FormatTime(status.CreatedAt) + "\n")
|
builder.WriteString(utilities.FieldFormat("ID:") + " " + status.ID + "\t" + utilities.FieldFormat("Created at:") + " " + utilities.FormatTime(status.CreatedAt) + "\n")
|
||||||
builder.WriteString(separator + "\n")
|
builder.WriteString(separator + "\n")
|
||||||
|
|
|
@ -45,13 +45,22 @@ func StripHTMLTags(text string) string {
|
||||||
case html.TextToken:
|
case html.TextToken:
|
||||||
text := token.Token().Data
|
text := token.Token().Data
|
||||||
builder.WriteString(text)
|
builder.WriteString(text)
|
||||||
case html.StartTagToken:
|
case html.StartTagToken, html.EndTagToken:
|
||||||
tag := token.Token().String()
|
tag := token.Token().String()
|
||||||
if tag == "<br>" {
|
builder.WriteString(transformTag(tag))
|
||||||
builder.WriteString("\n")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func transformTag(tag string) string {
|
||||||
|
switch tag {
|
||||||
|
case "<br>":
|
||||||
|
return "\n"
|
||||||
|
case "<p>", "</p>":
|
||||||
|
return "\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func WrapLines(text, separator string, charLimit int) string {
|
func WrapLines(text, separator string, charLimit int) string {
|
||||||
|
|
Loading…
Reference in a new issue