diff --git a/package.json b/package.json index 6a039fd17c..41d1b7a637 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,8 @@ "request": "~2.25.0", "reds": "~0.2.4", "winston": "~0.7.2", - "nodebb-plugin-mentions": "~0.1.0" + "nodebb-plugin-mentions": "~0.1.0", + "nodebb-plugin-markdown": "~0.1.0" }, "bugs": { "url": "https://github.com/designcreateplay/NodeBB/issues" diff --git a/src/postTools.js b/src/postTools.js index 1ef7d9da78..d853dc5583 100644 --- a/src/postTools.js +++ b/src/postTools.js @@ -94,7 +94,7 @@ var RDB = require('./redis.js'), PostTools.privileges(pid, uid, function(privileges) { if (privileges.editable) { - plugins.fireHook('filter:save_post_content', content, function(parsedContent) { + plugins.fireHook('filter:post.save', content, function(parsedContent) { content = parsedContent; success(); }); @@ -170,31 +170,27 @@ var RDB = require('./redis.js'), } PostTools.toHTML = function(raw, callback) { - var marked = require('marked'), - cheerio = require('cheerio'); + plugins.fireHook('filter:post.parse', raw, function(parsed) { + var cheerio = require('cheerio'); - marked.setOptions({ - breaks: true - }); - - if (raw && raw.length > 0) { - var parsedContentDOM = cheerio.load(marked(raw)); - var domain = nconf.get('url'); - - parsedContentDOM('a').each(function() { - this.attr('rel', 'nofollow'); - var href = this.attr('href'); + if (parsed && parsed.length > 0) { + var parsedContentDOM = cheerio.load(parsed); + var domain = nconf.get('url'); - if (href && !href.match(domain) && !utils.isRelativeUrl(href)) { - this.attr('href', domain + 'outgoing?url=' + encodeURIComponent(href)); - } - }); + parsedContentDOM('a').each(function() { + this.attr('rel', 'nofollow'); + var href = this.attr('href'); + if (href && !href.match(domain) && !utils.isRelativeUrl(href)) { + this.attr('href', domain + 'outgoing?url=' + encodeURIComponent(href)); + } + }); - callback(null, parsedContentDOM.html()); - } else { - callback(null, '

'); - } + callback(null, parsedContentDOM.html()); + } else { + callback(null, '

'); + } + }); }