mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 16:52:25 -05:00
[feature] Support markdown format for Account bio/note (#1037)
* [feature] Status format also controls bio format * test
This commit is contained in:
parent
2216f253c1
commit
67106c9dc4
6 changed files with 54 additions and 10 deletions
|
|
@ -66,7 +66,7 @@ func (p *processor) Update(ctx context.Context, account *gtsmodel.Account, form
|
|||
account.NoteRaw = *form.Note
|
||||
|
||||
// Process note to generate a valid HTML representation
|
||||
note, err := p.processNote(ctx, *form.Note, account.ID)
|
||||
note, err := p.processNote(ctx, *form.Note, account)
|
||||
if err != nil {
|
||||
return nil, gtserror.NewErrorBadRequest(err)
|
||||
}
|
||||
|
|
@ -241,13 +241,13 @@ func (p *processor) UpdateHeader(ctx context.Context, header *multipart.FileHead
|
|||
return processingMedia.LoadAttachment(ctx)
|
||||
}
|
||||
|
||||
func (p *processor) processNote(ctx context.Context, note string, accountID string) (string, error) {
|
||||
func (p *processor) processNote(ctx context.Context, note string, account *gtsmodel.Account) (string, error) {
|
||||
if note == "" {
|
||||
return "", nil
|
||||
}
|
||||
|
||||
tagStrings := util.DeriveHashtagsFromText(note)
|
||||
tags, err := p.db.TagStringsToTags(ctx, tagStrings, accountID)
|
||||
tags, err := p.db.TagStringsToTags(ctx, tagStrings, account.ID)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
|
@ -255,7 +255,7 @@ func (p *processor) processNote(ctx context.Context, note string, accountID stri
|
|||
mentionStrings := util.DeriveMentionNamesFromText(note)
|
||||
mentions := []*gtsmodel.Mention{}
|
||||
for _, mentionString := range mentionStrings {
|
||||
mention, err := p.parseMention(ctx, mentionString, accountID, "")
|
||||
mention, err := p.parseMention(ctx, mentionString, account.ID, "")
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
|
@ -266,5 +266,9 @@ func (p *processor) processNote(ctx context.Context, note string, accountID stri
|
|||
// emojiStrings := util.DeriveEmojisFromText(note)
|
||||
// emojis, err := p.db.EmojiStringsToEmojis(ctx, emojiStrings)
|
||||
|
||||
if account.StatusFormat == "markdown" {
|
||||
return p.formatter.FromMarkdown(ctx, note, mentions, tags, nil), nil
|
||||
}
|
||||
|
||||
return p.formatter.FromPlain(ctx, note, mentions, tags), nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue