checkpoint: optionally wrap lines after converting HTML
This commit is contained in:
parent
5b31712974
commit
f8300a1771
3 changed files with 8 additions and 5 deletions
|
@ -27,11 +27,11 @@ func (p Printer) PrintAccount(account model.Account, relationship *model.Account
|
|||
builder.WriteString("\n" + p.fieldFormat("Statuses:"))
|
||||
builder.WriteString(" " + strconv.Itoa(account.StatusCount))
|
||||
builder.WriteString("\n\n" + p.headerFormat("BIOGRAPHY:"))
|
||||
builder.WriteString(p.wrapLines(convertHTMLToText(account.Note), 0))
|
||||
builder.WriteString(p.convertHTMLToText(account.Note, true))
|
||||
builder.WriteString("\n\n" + p.headerFormat("METADATA:"))
|
||||
|
||||
for _, field := range account.Fields {
|
||||
builder.WriteString("\n" + p.fieldFormat(field.Name) + ": " + convertHTMLToText(field.Value))
|
||||
builder.WriteString("\n" + p.fieldFormat(field.Name) + ": " + p.convertHTMLToText(field.Value, false))
|
||||
}
|
||||
|
||||
builder.WriteString("\n\n" + p.headerFormat("ACCOUNT URL:"))
|
||||
|
|
|
@ -23,7 +23,7 @@ type htmlConvertState struct {
|
|||
orderedListIndex int
|
||||
}
|
||||
|
||||
func convertHTMLToText(text string) string {
|
||||
func (p Printer) convertHTMLToText(text string, wrapLines bool) string {
|
||||
var builder strings.Builder
|
||||
|
||||
state := htmlConvertState{
|
||||
|
@ -37,6 +37,9 @@ func convertHTMLToText(text string) string {
|
|||
tt := token.Next()
|
||||
switch tt {
|
||||
case html.ErrorToken:
|
||||
if wrapLines {
|
||||
return p.wrapLines(builder.String(), 0)
|
||||
}
|
||||
return builder.String()
|
||||
case html.TextToken:
|
||||
text := token.Token().Data
|
||||
|
|
|
@ -23,7 +23,7 @@ func (p Printer) PrintStatus(status model.Status) {
|
|||
|
||||
// The content of the status.
|
||||
builder.WriteString("\n\n" + p.headerFormat("CONTENT:"))
|
||||
builder.WriteString(p.wrapLines(convertHTMLToText(status.Content), 0))
|
||||
builder.WriteString(p.convertHTMLToText(status.Content, true))
|
||||
|
||||
// Details of media attachments (if any).
|
||||
if len(status.MediaAttachments) > 0 {
|
||||
|
@ -105,7 +105,7 @@ func (p Printer) PrintStatusList(list model.StatusList) {
|
|||
mediaAttachments = status.Reblog.MediaAttachments
|
||||
}
|
||||
|
||||
builder.WriteString("\n" + p.wrapLines(convertHTMLToText(content), 0))
|
||||
builder.WriteString("\n" + p.convertHTMLToText(content, true))
|
||||
|
||||
if poll != nil {
|
||||
builder.WriteString(p.pollOptions(*poll))
|
||||
|
|
Loading…
Reference in a new issue