package confluence // Confluence storage format macro helpers. func CodeMacro(language string, body string) string { var lang string if language != "" { lang = `` + language + `` } return `` + lang + `` + `` } func InfoPanel(body string) string { return `` + `` + body + `` + `` } func NotePanel(body string) string { return `` + `` + body + `` + `` } func WarningPanel(body string) string { return `` + `` + body + `` + `` } func ImageExternal(url string) string { return `` } // escapeCDATA splits ]]> sequences so they don't break CDATA sections. func escapeCDATA(s string) string { result := make([]byte, 0, len(s)) for i := 0; i < len(s); i++ { if i+2 < len(s) && s[i] == ']' && s[i+1] == ']' && s[i+2] == '>' { result = append(result, ']', ']', '>', '<', '!', '[', 'C', 'D', 'A', 'T', 'A', '[') i += 2 } else { result = append(result, s[i]) } } return string(result) }