IPython Rich Display с содержанием Markdown - PullRequest
0 голосов
/ 10 декабря 2018

Документы IPython дают пример того, как создать, чтобы ваши собственные объекты отображались в IPython с расширенным отображением:

class Shout(object):
    def __init__(self, text):
        self.text = text

    def _repr_html_(self):
        return "<h1>" + self.text + "</h1>"

Однако это только очень простой пример, и в моемcase Я хотел бы отображать не только текст, но и Markdown в виджете.

Я пробовал много разных вариантов

class Shout(object):
    def __init__(self, text):
        self.text = text

    def _repr_html_(self):
        return "<h1>" + IPython.display.Markdown(self.text) + "</h1>"

или

class Shout(object):
    def __init__(self, text):
        self.text = text

    def _repr_html_(self):
        return "<h1>" + IPython.display.Markdown(self.text)._repr_html_() + "</h1>"

или

class Shout(object):
    def __init__(self, text):
        self.text = text

    def _repr_html_(self):
        return "<h1>" + IPython.display.display(IPython.display.Markdown(self.text)) + "</h1>"

но ни один из них не работает.Они либо ничего не отображают, None, либо с ошибкой AttributeError: 'Markdown' object has no attribute '_repr_html_'.

Есть ли способ отобразить экранный объект уценки внутри другого объекта в IPython?Я хочу реализовать свой собственный _repr_latex_, поэтому вставка <h1> в Markdown не является решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...