diff options
Diffstat (limited to 'web/react/utils/text_formatting.jsx')
-rw-r--r-- | web/react/utils/text_formatting.jsx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/web/react/utils/text_formatting.jsx b/web/react/utils/text_formatting.jsx new file mode 100644 index 000000000..2e1416d1d --- /dev/null +++ b/web/react/utils/text_formatting.jsx @@ -0,0 +1,36 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +const Constants = require('../utils/constants.jsx'); +const UserStore = require('../stores/user_store.jsx'); + +export function formatText(text, options = {}) { + let output = sanitize(text); + + // TODO autolink @mentions + // TODO highlight mentions of self + // TODO autolink urls + // TODO highlight search terms + // TODO autolink hashtags + + // TODO leave space for markdown + + if (options.singleline) { + output = output.replace('\n', ' '); + } else { + output = output.replace('\n', '<br />'); + } + + return output; +} + +export function sanitize(text) { + let output = text; + + // normal string.replace only does a single occurrance so use a regex instead + output = output.replace(/&/g, '&'); + output = output.replace(/</g, '<'); + output = output.replace(/>/g, '>'); + + return output; +} |