summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-markdown/lib/page.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-markdown/lib/page.js')
-rw-r--r--packages/gitbook-markdown/lib/page.js20
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