diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2015-03-12 20:05:48 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-12-22 15:00:40 +0100 |
commit | 82910ed2d0abd5c4c1133d41c516b3064818fd3a (patch) | |
tree | d623c1c4c4f8b5ded0425aa8aab03c386364bb6e /packages/gitbook-markdown/lib | |
parent | 0746b4e716866bfaf979b385e7d65d2d2abea7f6 (diff) | |
download | gitbook-82910ed2d0abd5c4c1133d41c516b3064818fd3a.zip gitbook-82910ed2d0abd5c4c1133d41c516b3064818fd3a.tar.gz gitbook-82910ed2d0abd5c4c1133d41c516b3064818fd3a.tar.bz2 |
Escape inline code blocks now
Diffstat (limited to 'packages/gitbook-markdown/lib')
-rw-r--r-- | packages/gitbook-markdown/lib/page.js | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/packages/gitbook-markdown/lib/page.js b/packages/gitbook-markdown/lib/page.js index d98bb72..603f122 100644 --- a/packages/gitbook-markdown/lib/page.js +++ b/packages/gitbook-markdown/lib/page.js @@ -17,16 +17,35 @@ 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(src); + var lexed = annotate.blocks(src); + + var escaped = lexed // Escape code blocks - var escaped = lexed.map(function(el) { - if(el.type == 'code') { - el.raw = escape(el.raw); + .map(escapeCodeElement) + // Escape inline code blocks + .map(function(el) { + // Only escape paragraphs and headings + if(!(el.type == 'paragraph' || el.type == 'heading')) { + return el; } + + // Escape inline code blocks + var newInline = annotate.inline(el.raw).map(escapeCodeElement); + + // Change raw source code + el.raw = combine(newInline); + return el; - }) + }); return combine(escaped); } |