Интересно, сколько усилий потребовалось бы для воспроизведения забросов непосредственно внутри ячеек Jupyter? Для этого _Может_ понадобиться обернуть вывод текста в какой-то тонкий конверт HTML, но, возможно, это даже не нужно.
Первоначально я поднял вопрос об asciinema-player здесь: https://github.com/asciinema/asciinema-player/issues/85 , но, может быть, это тоже хорошее место, если бы мы могли показывать слепки напрямую без целого asciinema-player машины.
Привет @deeplook , вы можете вставить код встраивания в свой блокнот Jupyter и вставить asciinema cast прямо в блокнот Jupyter
from IPython.display import HTML
HTML("""<script src="https://asciinema.org/a/1wkyfecyj2qa4t9gm4bank61y.js" id="asciicast-1wkyfecyj2qa4t9gm4bank61y" async></script>""")
Магическая функция %%html
тоже работает
Смотрите это видео: https://www.useloom.com/share/e606957f1aa0431399c30c1b95cb5207
@zodiacfireworks Спасибо! Безусловно, замечательно иметь возможность запускать удаленные скринкасты, размещенные на asciinema.org.
Перечитывая свой вопрос, я признаю, что это не так очевидно, но я больше думал о запуске локального скринкаста в «нормальной» ячейке Jupyter с asciinama-player. Я пробовал использовать asciinama-player на локальных забросах, но тщетно. Было бы неплохо сделать это с помощью знакомого интерфейса asciinama-player для локальных файлов.
Но, эммм ... Я только что попробовал сделать самое невероятное, и, к моему большому удивлению, это сработало ! Я просто ввел ! /my/path/asciinema play demo.cast
в ячейку кода! И, честно говоря, я не ожидал, что это сработает, но похоже, что это так! Вывод отображается как обычно, с учетом информации о времени и управляющих кодов ANSI. Но он «игнорирует» записанные значения ширины и высоты терминала, беря полную ширину ячейки и не выполняя никаких вертикальных окон. Но эй, это потрясающе!
Должны ли мы тогда закрыть его? ;)
Мы могли бы, если бы также был четко определенный способ добавления битов asciinema-player в Jupyter, чтобы он также запускал локальное приведение. Я пробовал это вначале, но не повезло.
Итак, мы говорим о трех способах встраивания игрока:
! /my/path/asciinema play demo.cast
<script>
: HTML("""<script src="https://asciinema.org/a/1wkyfecyj2qa4t9gm4bank61y.js" ...
asciinema-player.js
+ local .cast
Я думаю, что первые 2 уже решены, не так ли?
@deeplook вы имеете в
@sickill Правильно. Я предполагаю, что (2) также будет работать для любого другого сайта, на котором установлен asciinema-player.
Это действительно помогло бы наверстать упущенное с TermRecord , где я могу просто указать на автономный файл HTML, как показано здесь:
from IPython.display import IFrame
IFrame('http://theonewolf.github.io/TermRecord/hello-static.html', 800, 300)
Содержит ли файл TermRecord все встроенное? Просто один файл HTML без файлов js / данных?
Понятия не имею, это просто то, о чем мне рассказали друзья. Надо полагать, что HTML содержит JS / CSS ...
Я предполагаю, что было бы легко добавить в asciinema-player возможность генерировать автономные HTML-объекты, включая CSS / JS и данные.
Самый полезный комментарий
Привет @deeplook , вы можете вставить код встраивания в свой блокнот Jupyter и вставить asciinema cast прямо в блокнот Jupyter
Магическая функция
%%html
тоже работаетСмотрите это видео: https://www.useloom.com/share/e606957f1aa0431399c30c1b95cb5207