Eu me pergunto quanto esforço seria jogar moldes diretamente dentro das células do Jupyter. Isso _pode_ precisar envolver a saída de texto em algum envelope HTML fino, mas talvez nem seja necessário.
Eu levantei um problema originalmente no asciinema-player aqui: https://github.com/asciinema/asciinema-player/issues/85 , mas talvez este seja um bom lugar também, se pudéssemos mostrar os elencos diretamente sem o todo maquinário asciinema-player.
Olá @deeplook , você pode inserir o código embed em seu notebook Jupyter e inserir o elenco asciinema diretamente em seu notebook Jupyter
from IPython.display import HTML
HTML("""<script src="https://asciinema.org/a/1wkyfecyj2qa4t9gm4bank61y.js" id="asciicast-1wkyfecyj2qa4t9gm4bank61y" async></script>""")
A função mágica %%html
também está funcionando
Veja este vídeo: https://www.useloom.com/share/e606957f1aa0431399c30c1b95cb5207
@zodiacfireworks Obrigado! É certamente maravilhoso poder rodar screencasts remotos hospedados em asciinema.org.
Relendo minha pergunta, admito que não seja tão evidente, mas pensei mais em rodar um screencast local em uma célula Jupyter "normal" com asciinama-player. Eu tentei usar asciinama-player em cast locais, mas em vão. Fazer isso com a interface familiar asciinama-player para arquivos locais também seria muito bom.
Mas, ermmm ... Eu apenas tentei a coisa mais improvável que fazer, e para minha grande surpresa funciona este! Eu simplesmente digitei ! /my/path/asciinema play demo.cast
em uma célula de código! E, francamente, eu não esperava que isso funcionasse, mas parece que funciona! A saída é mostrada normalmente, respeitando as informações de tempo e os códigos de escape ANSI. Mas ele "ignora" os valores registrados para a largura e altura do terminal, tomando toda a largura da célula e não fazendo nenhuma janela vertical. Mas ei, isso é incrível!
Devemos fechar então? ;)
Poderíamos, se houvesse também uma maneira bem definida de adicionar os bits asciinema-player ao Jupyter para fazê-lo rodar casts locais também. Eu tentei isso no começo, mas sem sorte.
Ah, então estamos falando de 3 maneiras de incorporar o player aqui:
! /my/path/asciinema play demo.cast
<script>
: HTML("""<script src="https://asciinema.org/a/1wkyfecyj2qa4t9gm4bank61y.js" ...
asciinema-player.js
+ local .cast
Acho que os 2 primeiros já foram resolvidos, certo?
@deeplook, você está se referindo a 3.?
@sickill Correct. Presumo que (2) também funcionaria para qualquer outro site que tenha o asciinema-player instalado.
Na verdade, ajudaria a recuperar o atraso com o TermRecord , onde posso simplesmente apontar para um arquivo HTML autocontido, como mostrado aqui:
from IPython.display import IFrame
IFrame('http://theonewolf.github.io/TermRecord/hello-static.html', 800, 300)
O arquivo do TermRecord contém tudo embutido? Apenas um único arquivo html sem arquivos js / data?
Eu não tenho ideia, pois é apenas algo que amigos me contaram. Deve-se supor que o HTML contém JS / CSS ...
Suponho que seria fácil adicionar uma opção ao asciinema-player para gerar blobs HTML autocontidos, incluindo CSS / JS e os dados.
Comentários muito úteis
Olá @deeplook , você pode inserir o código embed em seu notebook Jupyter e inserir o elenco asciinema diretamente em seu notebook Jupyter
A função mágica
%%html
também está funcionandoVeja este vídeo: https://www.useloom.com/share/e606957f1aa0431399c30c1b95cb5207