diff --git a/sitegin/transformer-markdown.js b/sitegin/transformer-markdown.js index 4dce021c6f50619f2bc751072da7fb546d5c13d6..9e146f4ca3ae42c48fa801cfe60cdcf910722c24 100644 --- a/sitegin/transformer-markdown.js +++ b/sitegin/transformer-markdown.js @@ -1,6 +1,7 @@ var marked = require('marked'); var renderer = new marked.Renderer(); var toURL = require('./transformer-urlizetags.js').toURL; +var highlightjs = require('highlight.js'); renderer.image = function(href, title, text) { if(process.argv[3] !== "final") { @@ -38,9 +39,6 @@ marked.setOptions({ sanitize: false, smartLists: true, smartypants: false, - highlight: function (code) { - return require('highlight.js').highlightAuto(code).value; - } }); module.exports = function() { @@ -48,7 +46,16 @@ module.exports = function() { tr.fancyname = "transformer markdown"; tr.forEachPage = function(article, cb) { article.origContent = article.content; - article.content = marked(article.content); + article.content = marked(article.content, { + highlight: function (code) { + var h; + if(highlightjs.getLanguage(article.metadata.lang)) + h = highlightjs.highlight(article.metadata.lang, code, true); + else + h = highlightjs.highlightAuto(code); + return h.value; + } + }); cb(); } }