diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-04-02 15:01:49 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-12-22 15:00:44 +0100 |
commit | d9bbc2fe0a280d05795594e49c22413a0b5b71c4 (patch) | |
tree | 5bcbf1a33a75666a21c89a5b646d9b55eec6258f /packages/gitbook-markdown/lib/page.js | |
parent | e572570c43beee7b2df5aa562662290010bf2ab7 (diff) | |
download | gitbook-d9bbc2fe0a280d05795594e49c22413a0b5b71c4.zip gitbook-d9bbc2fe0a280d05795594e49c22413a0b5b71c4.tar.gz gitbook-d9bbc2fe0a280d05795594e49c22413a0b5b71c4.tar.bz2 |
Don't escape code block if already in escaped block
Diffstat (limited to 'packages/gitbook-markdown/lib/page.js')
-rw-r--r-- | packages/gitbook-markdown/lib/page.js | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/packages/gitbook-markdown/lib/page.js b/packages/gitbook-markdown/lib/page.js index 742d8f9..9b0f37f 100644 --- a/packages/gitbook-markdown/lib/page.js +++ b/packages/gitbook-markdown/lib/page.js @@ -15,20 +15,28 @@ function combine(nodes) { return _.pluck(nodes, 'raw').join(''); } -function escapeCodeElement(el) { - if(el.type == 'code') { - el.raw = escape(el.raw); - } - return el; -} + function preparePage(src) { var lexed = annotate.blocks(src); + var levelRaw = 0; + var escapeCodeElement = function(el) { + if (el.type == 'code' && levelRaw == 0) { + el.raw = escape(el.raw); + } else if (el.type == 'rawStart') { + levelRaw = levelRaw + 1; + } else if (el.type == 'rawStart') { + levelRaw = levelRaw - 1; + } + return el; + }; var escaped = lexed + // Escape code blocks .map(escapeCodeElement) + // Escape inline code blocks .map(function(el) { // Only escape paragraphs and headings |