diff --git a/index.js b/index.js index 304c212..e46e29b 100644 --- a/index.js +++ b/index.js @@ -9,7 +9,8 @@ var fs = require('fs'); var path = require('path'); -var Remarkable = require('remarkable'); +var { Remarkable } = require('remarkable'); +const { linkify } = require('remarkable/linkify'); var extend = require('extend-shallow'); var exists = require('fs-exists-sync'); var ent = require('ent'); @@ -106,12 +107,23 @@ helper.sync = function(name, options) { */ function markdown(options) { - return new Remarkable(extend({ - breaks: false, - html: true, - langPrefix: 'lang-', - linkify: true, - typographer: false, - xhtmlOut: false - }, options)); + const useLinkify = options.linkify === false ? false : true; + delete options.linkify; + + let remarkable = new Remarkable( + extend( + { + breaks: false, + html: true, + langPrefix: 'lang-', + typographer: false, + xhtmlOut: false, + }, + options + ) + ); + if (useLinkify) { + remarkable.use(linkify); + } + return remarkable; } diff --git a/package.json b/package.json index 9878c02..903d0dc 100644 --- a/package.json +++ b/package.json @@ -28,13 +28,13 @@ "ent": "^2.2.0", "extend-shallow": "^2.0.1", "fs-exists-sync": "^0.1.0", - "remarkable": "^1.6.2" + "remarkable": "^2.0.1" }, "devDependencies": { "engine-base": "^0.1.2", "gulp-format-md": "^0.1.9", "handlebars": "^4.0.5", - "highlight.js": "^9.3.0", + "highlight.js": "^11.9.0", "lodash": "^4.12.0", "mocha": "^2.4.5", "templates": "^0.17.2" diff --git a/test/fixtures/e.md b/test/fixtures/e.md index df3f03c..e692e5f 100644 --- a/test/fixtures/e.md +++ b/test/fixtures/e.md @@ -1,6 +1,6 @@ # EEE -``` +```javascript var message = 'This is an alert'; alert(message); ``` diff --git a/test/test.js b/test/test.js index 09b961b..d810d20 100644 --- a/test/test.js +++ b/test/test.js @@ -126,11 +126,11 @@ describe('lodash:', function() { describe('highlight:', function(argument) { it('should support syntax highlighting', function() { - var actual = md.sync('test/fixtures/e.md', { - highlight: function(code, lang) { + var actual = md.sync("test/fixtures/e.md", { + highlight: function (code, language) { try { try { - return hljs.highlight(lang, code).value; + return hljs.highlight(code, { language }).value; } catch (err) { if (!/Unknown language/i.test(err.message)) { throw err; @@ -140,8 +140,11 @@ describe('highlight:', function(argument) { } catch (err) { return code; } - } + }, }); - assert.equal(actual, '
var message = \'This is an alert\';\nalert(message);\n
\n');
+ assert.equal(
+ actual,
+ 'var message = \'This is an alert\';\nalert(message);\n
\n'
+ );
});
});