8181{% - endif -%}
8282<div class =" inner_cell" >
8383<div class =" text_cell_render border-box-sizing rendered_html" >
84- {{ cell.source | markdown2html | strip_files_prefix | clean_html }}
84+ {% - if resources .should_sanitize_html %}
85+ {% - set html_value =cell .source | markdown 2html | strip_files_prefix | clean_html -%}
86+ {% - else %}
87+ {% - set html_value =cell .source | markdown 2html | strip_files_prefix -%}
88+ {% - endif %}
89+ {{ html_value }}
8590</div >
8691</div >
8792</div >
@@ -133,23 +138,33 @@ unknown type {{ cell.type }}
133138
134139{% block data_html scoped -%}
135140<div class =" output_html rendered_html output_subarea {{ extra_class }}" >
141+ {% - if resources .should_sanitize_html %}
142+ {% - set html_value =output .data ['text/html' ] | clean_html -%}
143+ {% - else %}
144+ {% - set html_value =output .data ['text/html' ] -%}
145+ {% - endif %}
136146{% - if output .get ('metadata' , {}).get ('text/html' , {}).get ('isolated' ) -%}
137147<iframe
138148 class =" isolated-iframe"
139149 style =" height :520px ; width :100% ; margin :0 ; padding : 0 "
140150 frameborder =" 0"
141151 scrolling =" auto"
142- src =" data:text/html;base64,{{output.data['text/html'] | text_base64}}" >
152+ src =" data:text/html;base64,{{ html_value | text_base64 }}" >
143153</iframe >
144154{% - else -%}
145- {{ output.data['text/html '] }}
155+ {{ html_value }}
146156{% - endif -%}
147157</div >
148158{% - endblock data_html %}
149159
150160{% block data_markdown scoped -%}
161+ {% - if resources .should_sanitize_html %}
162+ {% - set html_value =output .data ['text/markdown' ] | markdown 2html | clean_html -%}
163+ {% - else %}
164+ {% - set html_value =output .data ['text/markdown' ] | markdown 2html -%}
165+ {% - endif %}
151166<div class =" output_markdown rendered_html output_subarea {{ extra_class }}" >
152- {{ output.data['text/markdown '] | markdown2html }}
167+ {{ html_value }}
153168</div >
154169{% - endblock data_markdown %}
155170
@@ -234,14 +249,17 @@ alt="{{ alttext | escape_html }}"
234249{% - block data_javascript scoped %}
235250{% set div_id = uuid 4() %}
236251<div id =" {{ div_id }}" class =" output_subarea output_javascript {{ extra_class }}" >
252+ {% - if not resources .should_sanitize_html %}
237253<script type =" text/javascript" >
238254var element = $ (' #{{ div_id }}' );
239255{{ output .data [' application/javascript' ] }}
240256 </script >
257+ {% - endif %}
241258</div >
242259{% - endblock -%}
243260
244261{% - block data_widget_view scoped %}
262+ {% - if not resources .should_sanitize_html %}
245263{% set div_id = uuid 4() %}
246264{% set datatype_list = output .data | filter_data_type %}
247265{% set datatype = datatype_list [0]%}
@@ -253,14 +271,17 @@ var element = $('#{{ div_id }}');
253271{{ output .data [datatype] | json_dumps | escape_html }}
254272 </script >
255273</div >
274+ {% - endif %}
256275{% - endblock data_widget_view -%}
257276
258277{% - block footer %}
278+ {% - if not resources .should_sanitize_html %}
259279{% set mimetype = 'application/vnd.jupyter.widget-state+json' %}
260280{% if mimetype in nb .metadata .get ("widgets" ,{})%}
261281<script type =" {{ mimetype }}" >
262- {{ nb .metadata .widgets [mimetype] | json_dumps | clean_html }}
282+ {{ nb .metadata .widgets [mimetype] | json_dumps | escape_html }}
263283 </script >
264284{% endif %}
285+ {% - endif %}
265286{{ super() }}
266287{% - endblock footer -%}
0 commit comments