diff --git a/lib/generators/article.js b/lib/generators/article.js index 4d2fb9b..67d1ee7 100644 --- a/lib/generators/article.js +++ b/lib/generators/article.js @@ -6,7 +6,9 @@ var findit = require('findit'), fs = require('fs'), docs = require('../docs'), weld = require('weld').weld, - helpers = require('../helpers'); + helpers = require('../helpers'), + koala = require('koala'), + uglify = require('uglify-js').parser.parse; var article = exports; @@ -92,7 +94,24 @@ article.weld = function(dom, articles) { // // TODO: the current code highlighting is slow, very slow. let's try to fix that // - dom.innerHTML = hl(dom.innerHTML, false, true); + Array.prototype.forEach.call( $('code', dom), function (c) { + var src = $(c).text(), + rendered; + + // test to see if uglify thinks the code snippet is javascript + // Makes too many false negatives, imo. + try { + uglify(src); + // "snippet.js" is recognized by koala as a js filename + rendered = koala.render('snippet.js', src); + } catch (e) { + //assume it's not javascript. Still have to handle entities though. + rendered = $("