diff options
Diffstat (limited to 'packages/gitbook-markdown/lib/toHTML.js')
-rw-r--r-- | packages/gitbook-markdown/lib/toHTML.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/packages/gitbook-markdown/lib/toHTML.js b/packages/gitbook-markdown/lib/toHTML.js new file mode 100644 index 0000000..c40c545 --- /dev/null +++ b/packages/gitbook-markdown/lib/toHTML.js @@ -0,0 +1,57 @@ +var _ = require('lodash'); +var kramed = require('kramed'); + +/** + Get renderer for kramed with correct configuration + + @return {kramed.Renderer} +*/ +function getRenderer() { + return new kramed.Renderer({ + langPrefix: 'lang-', + smartypants: false, + headerPrefix: '', + headerAutoId: false, + xhtml: false + }); +} + +/** + Get options for markdown parsing + + @return {Object} +*/ +function getOption() { + return _.extend({}, kramed.defaults, { + mathjax: false + }); +} + +/** + Convert Markdown block to HTML + + @param {String} src (markdown) + @return {String} (html) +*/ +function convertMdToHTMLBlock(src) { + var options = _.extend(getOption(), { + renderer: getRenderer() + }); + + return kramed(src, options); +} + +/** + Convert Markdown inline to HTML + + @param {String} src (markdown) + @return {String} (html) +*/ +function convertMdToHTMLInline(src) { + return kramed.inlineLexer(src, getOption(), getRenderer()); +} + +module.exports = { + block: convertMdToHTMLBlock, + inline: convertMdToHTMLInline +}; |