display.py
70 lines
| 2.2 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 | ||||
Jonathan Frederic
|
r22307 | |||
Defines javascript/latex/svg/html cell magics for writing | ||||
Mikhail Korobov
|
r10054 | blocks in those languages, to be rendered in the frontend. | ||
MinRK
|
r7946 | """ | ||
Jonathan Frederic
|
r22307 | |||
@cell_magic | ||||
def js(self, line, cell): | ||||
Matthias Bussonnier
|
r22310 | """Run the cell block of Javascript code | ||
Alias of `%%javascript` | ||||
""" | ||||
Jonathan Frederic
|
r22307 | self.javascript(line, cell) | ||
MinRK
|
r7946 | @cell_magic | ||
def javascript(self, line, cell): | ||||
"""Run the cell block of Javascript code""" | ||||
display(Javascript(cell)) | ||||
Jonathan Frederic
|
r22307 | |||
MinRK
|
r7946 | @cell_magic | ||
def latex(self, line, cell): | ||||
Jonathan Frederic
|
r21735 | """Render the cell as a block of latex | ||
Jonathan Frederic
|
r22307 | |||
Jonathan Frederic
|
r21738 | The subset of latex which is support depends on the implementation in | ||
Jonathan Frederic
|
r22307 | 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)) | ||
Matti Remes
|
r23656 | |||
@cell_magic | ||||
def markdown(self, line, cell): | ||||
"""Render the cell as Markdown text block""" | ||||
display(Markdown(cell)) | ||||