From 172ecd10052235d8f2ced967e69c78776eba8180 Mon Sep 17 00:00:00 2001 From: Josh Barnes Date: Thu, 12 Oct 2017 01:27:10 +0100 Subject: [PATCH 1/4] [python-markdown] avoid js error when marked doesn't wrap things in

--- .../nbextensions/python-markdown/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js index aab02df..b3ce43f 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js @@ -63,8 +63,8 @@ define([ html = marked(text); } else if (out_data.msg_type === "stream") { html = marked(out_data.content.text); - var t = html.match(/

([\s\S]*?)<\/p>/)[1]; //strip

and

that marked adds and we don't want - html = t ? t : html; + var t = html.match(/

([\s\S]*?)<\/p>/); //strip

and

that marked (maybe) adds and we don't want + html = t !== null ? t[1] : html; var q = html.match(/'([\s\S]*?)'/); // strip quotes from strings if (q !== null) html = q[1] } else if (out_data.msg_type === "execute_result" | out_data.msg_type === "display_data" ) { From aef0a6a7bd10b1d0dd9b51cd3fdc89673d518737 Mon Sep 17 00:00:00 2001 From: Josh Barnes Date: Thu, 12 Oct 2017 01:34:55 +0100 Subject: [PATCH 2/4] [python-markdown] only strip p-tags or quotes from beginning & end --- .../nbextensions/python-markdown/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js index b3ce43f..20d5e95 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js @@ -63,9 +63,9 @@ define([ html = marked(text); } else if (out_data.msg_type === "stream") { html = marked(out_data.content.text); - var t = html.match(/

([\s\S]*?)<\/p>/); //strip

and

that marked (maybe) adds and we don't want + var t = html.match(/^

([\s\S]*?)<\/p>$/); //strip

and

that marked (maybe) adds and we don't want html = t !== null ? t[1] : html; - var q = html.match(/'([\s\S]*?)'/); // strip quotes from strings + var q = html.match(/^'([\s\S]*?)'$/); // strip quotes from strings if (q !== null) html = q[1] } else if (out_data.msg_type === "execute_result" | out_data.msg_type === "display_data" ) { var ul = out_data.content.data; From d606a9c353c2701459a7ae4c14770c2546368fd8 Mon Sep 17 00:00:00 2001 From: Josh Barnes Date: Thu, 12 Oct 2017 01:47:31 +0100 Subject: [PATCH 3/4] [python-markdown] also fix execute-result processing --- .../nbextensions/python-markdown/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js index 20d5e95..e0545a6 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js @@ -90,9 +90,9 @@ define([ } else { html = marked(ul['text/plain']); // [\s\S] is used to also catch newlines - var t = html.match(/

([\s\S]*?)<\/p>/)[1]; //strip

and

that marked adds and we don't want - html = t ? t : html; - var q = html.match(/'([\s\S]*?)'/); // strip quotes from strings + var t = html.match(/^

([\s\S]*?)<\/p>$/); //strip

and

that marked adds and we don't want + html = t !== null ? t[1] : html; + var q = html.match(/^'([\s\S]*?)'$/); // strip quotes from strings if (q !== null) html = q[1] } } From 4a1279bfffdd00a32b242259a562cbb9c1f9acff Mon Sep 17 00:00:00 2001 From: Josh Barnes Date: Thu, 12 Oct 2017 01:52:38 +0100 Subject: [PATCH 4/4] [python-markdown] allow whitespace before/after wrapping

tags --- .../nbextensions/python-markdown/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js index e0545a6..724d61e 100644 --- a/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js +++ b/src/jupyter_contrib_nbextensions/nbextensions/python-markdown/main.js @@ -63,7 +63,7 @@ define([ html = marked(text); } else if (out_data.msg_type === "stream") { html = marked(out_data.content.text); - var t = html.match(/^

([\s\S]*?)<\/p>$/); //strip

and

that marked (maybe) adds and we don't want + var t = html.match(/^\s*

([\s\S]*?)<\/p>\s*$/); //strip

and

that marked (maybe) adds and we don't want html = t !== null ? t[1] : html; var q = html.match(/^'([\s\S]*?)'$/); // strip quotes from strings if (q !== null) html = q[1] @@ -90,7 +90,7 @@ define([ } else { html = marked(ul['text/plain']); // [\s\S] is used to also catch newlines - var t = html.match(/^

([\s\S]*?)<\/p>$/); //strip

and

that marked adds and we don't want + var t = html.match(/^\s*

([\s\S]*?)<\/p>\s*$/); //strip

and

that marked adds and we don't want html = t !== null ? t[1] : html; var q = html.match(/^'([\s\S]*?)'$/); // strip quotes from strings if (q !== null) html = q[1]