display.py
57 lines
| 1.9 KiB
| text/x-python
|
PythonLexer
MinRK
|
r7946 | """Simple magics for display formats""" | ||
#----------------------------------------------------------------------------- | ||||
# Copyright (c) 2012 The IPython Development Team. | ||||
# | ||||
# Distributed under the terms of the Modified BSD License. | ||||
# | ||||
# The full license is in the file COPYING.txt, distributed with this software. | ||||
#----------------------------------------------------------------------------- | ||||
#----------------------------------------------------------------------------- | ||||
# Imports | ||||
#----------------------------------------------------------------------------- | ||||
# Our own packages | ||||
MinRK
|
r9999 | from IPython.core.display import display, Javascript, Latex, SVG, HTML | ||
MinRK
|
r7946 | from IPython.core.magic import ( | ||
Thomas Kluyver
|
r9399 | Magics, magics_class, cell_magic | ||
MinRK
|
r7946 | ) | ||
#----------------------------------------------------------------------------- | ||||
# Magic implementation classes | ||||
#----------------------------------------------------------------------------- | ||||
@magics_class | ||||
class DisplayMagics(Magics): | ||||
"""Magics for displaying various output types with literals | ||||
Mikhail Korobov
|
r10054 | Defines javascript/latex/svg/html cell magics for writing | ||
blocks in those languages, to be rendered in the frontend. | ||||
MinRK
|
r7946 | """ | ||
@cell_magic | ||||
def javascript(self, line, cell): | ||||
"""Run the cell block of Javascript code""" | ||||
display(Javascript(cell)) | ||||
@cell_magic | ||||
def latex(self, line, cell): | ||||
Jonathan Frederic
|
r21735 | """Render the cell as a block of latex | ||
Jonathan Frederic
|
r21738 | The subset of latex which is support depends on the implementation in | ||
the client. In the Jupyter Notebook, this magic only renders the subset | ||||
of latex defined by MathJax | ||||
Jonathan Frederic
|
r21735 | [here](https://docs.mathjax.org/en/v2.5-latest/tex.html).""" | ||
MinRK
|
r7946 | display(Latex(cell)) | ||
@cell_magic | ||||
def svg(self, line, cell): | ||||
"""Render the cell as an SVG literal""" | ||||
display(SVG(cell)) | ||||
MinRK
|
r9999 | |||
@cell_magic | ||||
def html(self, line, cell): | ||||
Mikhail Korobov
|
r10054 | """Render the cell as a block of HTML""" | ||
MinRK
|
r9999 | display(HTML(cell)) | ||