|
52 | 52 | "try: from matplotlib_inline.backend_inline import set_matplotlib_formats\n", |
53 | 53 | "except ImportError: set_matplotlib_formats = None\n", |
54 | 54 | "\n", |
55 | | - "from mistletoe import markdown, HTMLRenderer\n", |
56 | | - "from mistletoe.contrib.pygments_renderer import PygmentsRenderer\n", |
57 | | - "\n", |
58 | 55 | "from execnb.nbio import *\n", |
59 | 56 | "from execnb.nbio import _dict2obj" |
60 | 57 | ] |
|
983 | 980 | " ansi_renderer=_strip,\n", |
984 | 981 | " include_imgs=True,\n", |
985 | 982 | " pygments=False,\n", |
986 | | - " pygments_renderer=PygmentsRenderer,\n", |
987 | | - " html_renderer=HTMLRenderer\n", |
| 983 | + " markdown_func=None, # If None, defaults to mistletoe.markdown\n", |
| 984 | + " pygments_renderer=None, # If None, defaults to mistletoe.contrib.pygments.PygmentsRenderer \n", |
| 985 | + " html_renderer=None # If None, defaults to mistletoe.HTMLRenderer\n", |
988 | 986 | " ):\n", |
| 987 | + " try:\n", |
| 988 | + " if markdown_func is None: from mistletoe import markdown\n", |
| 989 | + " if pygments_renderer is None: from mistletoe import HTMLRenderer\n", |
| 990 | + " if html_renderer is None: from mistletoe.contrib.pygments import PygmentsRenderer \n", |
| 991 | + " except ImportError:\n", |
| 992 | + " return 'No renderers supplied for execnb.shell.render_output. Quickfix is to install mistletoe'\n", |
989 | 993 | " renderer = PygmentsRenderer if pygments else HTMLRenderer\n", |
990 | 994 | " def render_output(out):\n", |
991 | 995 | " otype = out['output_type']\n", |
|
999 | 1003 | " _g = lambda t: ''.join(data[t]) if t in data else None\n", |
1000 | 1004 | " if d := _g('text/html'): return d\n", |
1001 | 1005 | " if d := _g('application/javascript'): return f'<script>{d}</script>'\n", |
1002 | | - " if d := _g('text/markdown'): return markdown(d, renderer=renderer)\n", |
| 1006 | + " if d := _g('text/markdown'): return markdown_func(d, renderer=renderer)\n", |
1003 | 1007 | " if d := _g('text/latex'): return f'<div class=\"math\">${d}$</div>'\n", |
1004 | 1008 | " if include_imgs:\n", |
1005 | 1009 | " if d := _g('image/jpeg'): return f'<img src=\"data:image/jpeg;base64,{d}\"/>'\n", |
|
0 commit comments