Skip to content

Commit b491214

Browse files
committed
Enable html classes
1 parent 9d8a332 commit b491214

File tree

2 files changed

+141
-415
lines changed

2 files changed

+141
-415
lines changed

execnb/shell.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,13 @@ async def run_async(self:CaptureShell,
160160
def _pre(s, xtra=''): return f"<pre {xtra}><code>{escape(s)}</code></pre>"
161161
def _strip(s): return strip_ansi(escape(s))
162162

163-
def render_outputs(outputs, ansi_renderer=_strip, include_imgs=True, pygments=False):
163+
def render_outputs(outputs, ansi_renderer=_strip, include_imgs=True, pygments=False, md_tfm=noop, html_tfm=noop):
164164
try:
165165
from mistletoe import markdown, HTMLRenderer
166166
from mistletoe.contrib.pygments_renderer import PygmentsRenderer
167167
except ImportError: return print('mistletoe not found -- please install it')
168168
renderer = PygmentsRenderer if pygments else HTMLRenderer
169+
169170
def render_output(out):
170171
otype = out['output_type']
171172
if otype == 'stream':
@@ -176,9 +177,9 @@ def render_output(out):
176177
elif otype in ('display_data','execute_result'):
177178
data = out['data']
178179
_g = lambda t: ''.join(data[t]) if t in data else None
179-
if d := _g('text/html'): return d
180+
if d := _g('text/html'): return html_tfm(d)
180181
if d := _g('application/javascript'): return f'<script>{d}</script>'
181-
if d := _g('text/markdown'): return markdown(d, renderer=renderer)
182+
if d := _g('text/markdown'): return md_tfm(markdown(d, renderer=renderer))
182183
if d := _g('text/latex'): return f'<div class="math">${d}$</div>'
183184
if include_imgs:
184185
if d := _g('image/jpeg'): return f'<img src="data:image/jpeg;base64,{d}"/>'

nbs/02_shell.ipynb

Lines changed: 137 additions & 412 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)