summaryrefslogtreecommitdiffstats
path: root/api/slackimport.go
diff options
context:
space:
mode:
Diffstat (limited to 'api/slackimport.go')
-rw-r--r--api/slackimport.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/api/slackimport.go b/api/slackimport.go
index 15f5f43f4..1225e7833 100644
--- a/api/slackimport.go
+++ b/api/slackimport.go
@@ -494,6 +494,19 @@ func SlackConvertChannelMentions(channels []SlackChannel, posts map[string][]Sla
return posts
}
+func SlackConvertPostsMarkup(posts map[string][]SlackPost) map[string][]SlackPost {
+ // Convert URLs in Slack's format to Markdown format.
+ regex := regexp.MustCompile(`<([^|<>]+)\|([^|<>]+)>`)
+
+ for channelName, channelPosts := range posts {
+ for postIdx, post := range channelPosts {
+ posts[channelName][postIdx].Text = regex.ReplaceAllString(post.Text, "[$2]($1)")
+ }
+ }
+
+ return posts
+}
+
func SlackImport(fileData multipart.File, fileSize int64, teamID string) (*model.AppError, *bytes.Buffer) {
// Create log file
log := bytes.NewBufferString(utils.T("api.slackimport.slack_import.log"))
@@ -536,6 +549,7 @@ func SlackImport(fileData multipart.File, fileSize int64, teamID string) (*model
posts = SlackConvertUserMentions(users, posts)
posts = SlackConvertChannelMentions(channels, posts)
+ posts = SlackConvertPostsMarkup(posts)
addedUsers := SlackAddUsers(teamID, users, log)
botUser := SlackAddBotUser(teamID, log)