| 12345678910111213141516171819202122232425 |
- package markdown
- import (
- "regexp"
- )
- var (
- boldRe = regexp.MustCompile(`(?ms)\*\*(.*?)\*\*`)
- italicRe = regexp.MustCompile(`(?ms)\*(.*?)\*`)
- underlineRe = regexp.MustCompile(`(?ms)__(.*?)__`)
- strikethroughRe = regexp.MustCompile(`(?ms)~~(.*?)~~`)
- codeblockRe = regexp.MustCompile("(?ms)`" + `([^` + "`" + `\n]+)` + "`")
- emoteRe = regexp.MustCompile(`<(:[a-zA-Z0-9]+:)[0-9]+>`)
- )
- func Parse(input string, emoteColor string) string {
- input = boldRe.ReplaceAllString(input, "[::b]$1[::B]")
- input = italicRe.ReplaceAllString(input, "[::i]$1[::I]")
- input = underlineRe.ReplaceAllString(input, "[::u]$1[::U]")
- input = strikethroughRe.ReplaceAllString(input, "[::s]$1[::S]")
- input = codeblockRe.ReplaceAllString(input, "[::r]$1[::R]")
- input = emoteRe.ReplaceAllString(input, "[" + emoteColor + "]$1[-:-:-]")
- return input
- }
|