Merge pull request #1037 from hmhealey/revert987

Revert #987
Этот коммит содержится в:
Joram Wilander
2015-10-13 15:17:13 -04:00
родитель 4935112a47 17d37816d4
Коммит 09a5599375
2 изменённых файлов: 8 добавлений и 39 удалений

Просмотреть файл

@@ -6,31 +6,7 @@ const Utils = require('./utils.jsx');
const marked = require('marked');
class MattermostInlineLexer extends marked.InlineLexer {
constructor(links, options) {
super(links, options);
// modified version of the regex that doesn't break up words in snake_case
// the original is /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
this.rules.text = /^[\s\S]+?(?=__|\b_|[\\<!\[*`]| {2,}\n|$)/;
}
}
class MattermostParser extends marked.Parser {
parse(src) {
this.inline = new MattermostInlineLexer(src.links, this.options, this.renderer);
this.tokens = src.reverse();
var out = '';
while (this.next()) {
out += this.tok();
}
return out;
}
}
class MattermostMarkdownRenderer extends marked.Renderer {
export class MattermostMarkdownRenderer extends marked.Renderer {
constructor(options, formattingOptions = {}) {
super(options);
@@ -92,15 +68,3 @@ class MattermostMarkdownRenderer extends marked.Renderer {
return TextFormatting.doFormatText(text, this.formattingOptions);
}
}
export function format(text, options) {
const markdownOptions = {
renderer: new MattermostMarkdownRenderer(null, options),
sanitize: true
};
const tokens = marked.lexer(text, markdownOptions);
return new MattermostParser(markdownOptions).parse(tokens);
}

Просмотреть файл

@@ -8,6 +8,8 @@ const Markdown = require('./markdown.jsx');
const UserStore = require('../stores/user_store.jsx');
const Utils = require('./utils.jsx');
const marked = require('marked');
// Performs formatting of user posts including highlighting mentions and search terms and converting urls, hashtags, and
// @mentions to links by taking a user's message and returning a string of formatted html. Also takes a number of options
// as part of the second parameter:
@@ -20,8 +22,11 @@ export function formatText(text, options = {}) {
let output;
if (!('markdown' in options) || options.markdown) {
// the markdown renderer will call doFormatText as necessary
output = Markdown.format(text, options);
// the markdown renderer will call doFormatText as necessary so just call marked
output = marked(text, {
renderer: new Markdown.MattermostMarkdownRenderer(null, options),
sanitize: true
});
} else {
output = sanitizeHtml(text);
output = doFormatText(output, options);