diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-12-22 15:51:59 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-12-22 15:51:59 +0100 |
commit | c4e512477e3cbe1344caaa2f1cc56e4bb402ad79 (patch) | |
tree | ca43a054bf84a49b48c942b754153b5459eed3ee /packages/gitbook-markdown/lib | |
parent | 6e0fd5d5d44fc2c97e075c4bbff188a0a7e797c1 (diff) | |
download | gitbook-c4e512477e3cbe1344caaa2f1cc56e4bb402ad79.zip gitbook-c4e512477e3cbe1344caaa2f1cc56e4bb402ad79.tar.gz gitbook-c4e512477e3cbe1344caaa2f1cc56e4bb402ad79.tar.bz2 |
Import gitbook-markdown
Diffstat (limited to 'packages/gitbook-markdown/lib')
-rw-r--r-- | packages/gitbook-markdown/lib/index.js | 10 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/page.js | 67 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/toHTML.js | 37 | ||||
-rw-r--r-- | packages/gitbook-markdown/lib/toMarkdown.js | 56 |
4 files changed, 0 insertions, 170 deletions
diff --git a/packages/gitbook-markdown/lib/index.js b/packages/gitbook-markdown/lib/index.js deleted file mode 100644 index d65ebf7..0000000 --- a/packages/gitbook-markdown/lib/index.js +++ /dev/null @@ -1,10 +0,0 @@ -var HTMLParser = require('gitbook-html'); - -var toHTML = require('./toHTML'); -var toMarkdown = require('./toMarkdown'); -var page = require('./page'); - -module.exports = HTMLParser.createParser(toHTML, toMarkdown); - -// Add the custom page escaping -module.exports.page.prepare = page.prepare; diff --git a/packages/gitbook-markdown/lib/page.js b/packages/gitbook-markdown/lib/page.js deleted file mode 100644 index 2cf0941..0000000 --- a/packages/gitbook-markdown/lib/page.js +++ /dev/null @@ -1,67 +0,0 @@ -var _ = require('lodash'); -var MarkupIt = require('markup-it'); -var gitbookSyntax = require('markup-it/syntaxes/markdown'); - -var RAW_START = '{% raw %}'; -var RAW_END = '{% endraw %}'; -var markdown = new MarkupIt(gitbookSyntax); - -/** - * Escape a code block's content using raw blocks - * - * @param {String} - * @return {String} - */ -function escape(str) { - return RAW_START + str + RAW_END; -} - - -/** - * Add templating "raw" to code blocks to - * avoid nunjucks processing their content. - * - * @param {String} src - * @return {String} - */ -function preparePage(src) { - var levelRaw = 0; - var content = markdown.toContent(src, { - math: true, - template: true - }); - - var textMarkdown = markdown.toText(content, { - annotate: function(state, raw, token) { - var tokenType = token.getType(); - - if (tokenType === MarkupIt.ENTITIES.TEMPLATE) { - var type = token.getData().get('type'); - var expr = token.getAsPlainText(); - - if (type === 'expr') { - if (expr === 'raw') { - levelRaw = levelRaw + 1; - } else if (expr == 'endraw') { - levelRaw = 0; - } - } - } - - if ( - (tokenType === MarkupIt.BLOCKS.CODE || tokenType === MarkupIt.STYLES.CODE) - && levelRaw === 0 - ) { - return escape(raw); - } - - return raw; - } - }); - - return textMarkdown; -} - -module.exports = { - prepare: preparePage -}; diff --git a/packages/gitbook-markdown/lib/toHTML.js b/packages/gitbook-markdown/lib/toHTML.js deleted file mode 100644 index 9140624..0000000 --- a/packages/gitbook-markdown/lib/toHTML.js +++ /dev/null @@ -1,37 +0,0 @@ -var MarkupIt = require('markup-it'); -var markdownSyntax = require('markup-it/syntaxes/markdown'); -var htmlSyntax = require('markup-it/syntaxes/html'); - -var markdown = new MarkupIt(markdownSyntax); -var html = new MarkupIt(htmlSyntax); - -/** - * Convert Markdown block to HTML - * - * @param {String} src (markdown) - * @return {String} (html) - */ -function convertMdToHTMLBlock(src) { - var content = markdown.toContent(src); - var textHtml = html.toText(content); - - return textHtml; -} - -/** - * Convert Markdown inline to HTML - * - * @param {String} src (markdown) - * @return {String} (html) - */ -function convertMdToHTMLInline(src) { - var content = markdown.toInlineContent(src); - var textHtml = html.toInlineText(content); - - return textHtml; -} - -module.exports = { - block: convertMdToHTMLBlock, - inline: convertMdToHTMLInline -}; diff --git a/packages/gitbook-markdown/lib/toMarkdown.js b/packages/gitbook-markdown/lib/toMarkdown.js deleted file mode 100644 index 71de016..0000000 --- a/packages/gitbook-markdown/lib/toMarkdown.js +++ /dev/null @@ -1,56 +0,0 @@ -var escape = require('markdown-escape'); - -// Return N time a string -function ns(s, n) { - return Array(n + 1).join(s); -} - -/* - * This module provides markup rules for gitbook-html - * These rules are being used to generate SUMMARY/GLOSSARY/LANGS - */ -module.exports = { - onText: function(text) { - return escape(text); - }, - - onTitleStart: function(level) { - return ns('#', level) + ' '; - }, - onTitleEnd: function(level) { - return this.onBL(); - }, - - onParagraphStart: function() { - return this.onSection(); - }, - onParagraphEnd: function() { - return this.onSection(); - }, - - onLinkStart: function() { - return '['; - }, - onLinkEnd: function(href) { - return '](' + href +')'; - }, - - onListStart: function(level) { - return ''; - }, - onListEnd: function() { - return ''; - }, - - onListItemStart: function(level) { - return ns(' ', level * 4) + '* '; - }, - onListItemEnd: function() { - return ''; - }, - - onHR: function() { - return '-----'; - } -}; - |