From ea8ad8b346978b04b067eead8e1f2bbc3c1bfb45 Mon Sep 17 00:00:00 2001 From: Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 28 Jul 2021 11:42:26 +0200 Subject: Link parsing (#120) * add link parsing + formatting functionality * refinement + docs * add missing test * credit url library --- internal/processing/status/util.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'internal/processing/status/util.go') diff --git a/internal/processing/status/util.go b/internal/processing/status/util.go index b4d115f8d..f85e05478 100644 --- a/internal/processing/status/util.go +++ b/internal/processing/status/util.go @@ -8,6 +8,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" + "github.com/superseriousbusiness/gotosocial/internal/text" "github.com/superseriousbusiness/gotosocial/internal/util" ) @@ -248,13 +249,15 @@ func (p *processor) processContent(form *apimodel.AdvancedStatusCreateForm, acco form.Format = apimodel.StatusFormatDefault } + // remove any existing html from the status + content := text.RemoveHTML(form.Status) + // parse content out of the status depending on what format has been submitted - var content string switch form.Format { case apimodel.StatusFormatPlain: - content = p.formatter.FromPlain(form.Status, status.GTSMentions, status.GTSTags) + content = p.formatter.FromPlain(content, status.GTSMentions, status.GTSTags) case apimodel.StatusFormatMarkdown: - content = p.formatter.FromMarkdown(form.Status, status.GTSMentions, status.GTSTags) + content = p.formatter.FromMarkdown(content, status.GTSMentions, status.GTSTags) default: return fmt.Errorf("format %s not recognised as a valid status format", form.Format) } -- cgit v1.2.3