diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-01-19 18:08:20 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-12-22 15:00:30 +0100 |
commit | 7256573a630f9a4c1da3532a6dc0e2cdbf411411 (patch) | |
tree | 29a12e6d9b2f962366f42b0928f404327335a20c /packages/gitbook-markdown/lib/page.js | |
parent | 0b3b135a3935a4f64843e673b70925d8495e271f (diff) | |
download | gitbook-7256573a630f9a4c1da3532a6dc0e2cdbf411411.zip gitbook-7256573a630f9a4c1da3532a6dc0e2cdbf411411.tar.gz gitbook-7256573a630f9a4c1da3532a6dc0e2cdbf411411.tar.bz2 |
Add basic parsing of markdown using kramed
Diffstat (limited to 'packages/gitbook-markdown/lib/page.js')
-rw-r--r-- | packages/gitbook-markdown/lib/page.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/gitbook-markdown/lib/page.js b/packages/gitbook-markdown/lib/page.js new file mode 100644 index 0000000..1adfcf8 --- /dev/null +++ b/packages/gitbook-markdown/lib/page.js @@ -0,0 +1,36 @@ +var Q = require('q'); +var _ = require('lodash'); +var kramed = require('kramed'); +var hljs = require('highlight.js'); + +var lnormalize = require('./utils/lang').normalize; + +function parsePage(src) { + var options = _.extend({}, kramed.defaults, { + // Synchronous highlighting with highlight.js + highlight: function (code, lang) { + if(!lang) return code; + + // Normalize lang + lang = lnormalize(lang); + + try { + return hljs.highlight(lang, code).value; + } catch(e) { } + + return code; + } + }); + + return { + sections: [ + { + type: "normal", + content: kramed(src, options) + } + ] + }; +} + +// Exports +module.exports = parsePage; |