summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-markdown/lib/toHTML.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-05-02 16:20:58 +0200
committerSamy Pessé <samypesse@gmail.com>2016-12-22 15:00:56 +0100
commit776d5a6ed80cc3ac6543d2a456a4b2333f2ede33 (patch)
tree986a20b3514495fa8e7b9cc526c33b82281cde0f /packages/gitbook-markdown/lib/toHTML.js
parent56b082ebb2e43b0fb1a2a7b83336222ee827d8ca (diff)
downloadgitbook-776d5a6ed80cc3ac6543d2a456a4b2333f2ede33.zip
gitbook-776d5a6ed80cc3ac6543d2a456a4b2333f2ede33.tar.gz
gitbook-776d5a6ed80cc3ac6543d2a456a4b2333f2ede33.tar.bz2
Rename to case sensitive
Diffstat (limited to 'packages/gitbook-markdown/lib/toHTML.js')
-rw-r--r--packages/gitbook-markdown/lib/toHTML.js57
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
+};