Asciinema: рдЬреБрдкрд┐рдЯрд░ рдХреЗ рдЕрдВрджрд░ рдХрд╛рд╕реНрдЯ рдмрдЬрд╛рдирд╛?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдорд╛рд░реНрдЪ 2018  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: asciinema/asciinema

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рд╕реАрдзреЗ рдЬреБрдкрд┐рдЯрд░ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдЕрдВрджрд░ рдХрд╛рд╕реНрдЯ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рдкреНрд░рдпрд╛рд╕ рд╣реЛрдЧрд╛? рдЗрд╕ _might_ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдХреБрдЫ рдкрддрд▓реЗ HTML рд▓рд┐рдлрд╛рдлреЗ рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЗрд╕рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ asciinema-player рдкрд░ рдПрдХ рдореБрджреНрджрд╛ рдЙрдард╛рдпрд╛ рд╣реИ: https://github.com/asciinema/asciinema-player/issues/85 , рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣рд╛рдВ рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рднреА рд╣реИ, рдЕрдЧрд░ рд╣рдо рд╕реАрдзреЗ рдкреВрд░реЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рд╕реНрдЯ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ asciinema-рдЦрд┐рд▓рд╛рдбрд╝реА рддрдВрддреНрд░ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдп @ рдбреАрдкрд▓реБрдХ , рдЖрдк рдЕрдкрдиреЗ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдПрдореНрдмреЗрдб рдХреЛрдб рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ рдЕрдкрдиреЗ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдПрд╕рд┐рдиреЗрдорд╛ рдХрд╛рд╕реНрдЯ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ

from IPython.display import HTML
HTML("""<script src="https://asciinema.org/a/1wkyfecyj2qa4t9gm4bank61y.js" id="asciicast-1wkyfecyj2qa4t9gm4bank61y" async></script>""")

image

рдЬрд╛рджреБрдИ рдХрд╛рд░реНрдп %%html рднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
image

рдпрд╣ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ: https://www.useloom.com/share/e606957f1aa0431399c30c1b95cb5207

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рдп @ рдбреАрдкрд▓реБрдХ , рдЖрдк рдЕрдкрдиреЗ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдПрдореНрдмреЗрдб рдХреЛрдб рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ рдЕрдкрдиреЗ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдПрд╕рд┐рдиреЗрдорд╛ рдХрд╛рд╕реНрдЯ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ

from IPython.display import HTML
HTML("""<script src="https://asciinema.org/a/1wkyfecyj2qa4t9gm4bank61y.js" id="asciicast-1wkyfecyj2qa4t9gm4bank61y" async></script>""")

image

рдЬрд╛рджреБрдИ рдХрд╛рд░реНрдп %%html рднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
image

рдпрд╣ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ: https://www.useloom.com/share/e606957f1aa0431399c30c1b95cb5207

@zodiacfireworks рдзрдиреНрдпрд╡рд╛рдж! asciinema.org рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рджреВрд░рд╕реНрде рд╕реНрдХреНрд░реАрдирдХрд╛рд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрджреНрднреБрдд рд╣реИред

рдореЗрд░реЗ рдкреНрд░рд╢реНрди рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рдирд╛ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рд╕реНрдХреНрд░реАрдирдХрд╛рд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛ рддреЛ "рд╕рд╛рдорд╛рдиреНрдп" рдЬреНрдпреВрдкрд┐рдЯрд░ рд╕реЗрд▓ рдореЗрдВ рдПрд╕реНрдХрд┐рдирд╛рдорд╛-рдкреНрд▓реЗрдпрд░ рдХреЗ рд╕рд╛рдеред рдореИрдВрдиреЗ рд╕реНрдерд╛рдиреАрдп рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдкрд░ рдПрд╕рд┐рдирдорд╛-рдкреНрд▓реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА, рд▓реЗрдХрд┐рди рд╡реНрдпрд░реНрдеред рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд asciinama-player рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдирд╛ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд▓реЗрдХрд┐рди, ermmm... рдореИрдВрдиреЗ рдЕрднреА рд╕рдмрд╕реЗ рдЕрд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдФрд░ рдореЗрд░реЗ рдмрдбрд╝реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ! рдореИрдВрдиреЗ рдХреЛрдб рд╕реЗрд▓ рдореЗрдВ рдмрд╕ ! /my/path/asciinema play demo.cast рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реИ! рдФрд░, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рдХрд░рддрд╛ рд╣реИ! рдЖрдЙрдЯрдкреБрдЯ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдПрдПрдирдПрд╕рдЖрдИ рдПрд╕реНрдХреЗрдк рдХреЛрдб рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддреЗ рд╣реБрдПред рд▓реЗрдХрд┐рди рдпрд╣ рдЯрд░реНрдорд┐рдирд▓ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЛ "рдЕрдирджреЗрдЦрд╛" рдХрд░рддрд╛ рд╣реИ, рдкреВрд░реНрдг рд╕реЗрд▓ рдЪреМрдбрд╝рд╛рдИ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рд▓рдВрдмрд╡рдд рд╡рд┐рдВрдбреЛрд┐рдВрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣реЗ, рдпрд╣ рдЕрджреНрднреБрдд рд╣реИ!

рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕реЗ рддрдм рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП? ;)

рд╣рдо рдпрд╣ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреНрдпреВрдкрд┐рдЯрд░ рдореЗрдВ рдПрд╕рд┐рдиреЗрдорд╛-рдкреНрд▓реЗрдпрд░ рдмрд┐рдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд░реАрдХрд╛ рднреА рд╣реЛред рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдХрд┐рд╕реНрдордд рдирд╣реАрдВред

рдЖрд╣, рддреЛ рд╣рдо рдпрд╣рд╛рдВ рдкреНрд▓реЗрдпрд░ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ 3 рддрд░реАрдХреЗ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ:

  1. рдЙрдкрдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ: ! /my/path/asciinema play demo.cast
  2. рдПрдореНрдмреЗрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ <script> : HTML("""<script src="https://asciinema.org/a/1wkyfecyj2qa4t9gm4bank61y.js" ...
  3. asciinema-player.js + рд╕реНрдерд╛рдиреАрдп .cast рдлрд╝рд╛рдЗрд▓ рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ 2 рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ, рд╣реИ рдирд╛?

@deeplook рдЖрдк 3 рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@рд╕рд┐рдХрд┐рд▓ рд╕рд╣реАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ (2) рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ asciinema-player рд╕реНрдерд╛рдкрд┐рдд рд╣реИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ TermRecord рдХреЗ рд╕рд╛рде рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдЬрд╣рд╛рдВ рдореИрдВ рдПрдХ рд╕реНрд╡-рдирд┐рд╣рд┐рдд HTML рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд░рд▓ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

from IPython.display import IFrame
IFrame('http://theonewolf.github.io/TermRecord/hello-static.html', 800, 300)

рдХреНрдпрд╛ TermRecord рдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЗрдирд▓рд╛рдЗрди рд╣реИ? рдмрд┐рдирд╛ рдЬреЗрдПрд╕/рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реЛрдВ рд╡рд╛рд▓реА рд╕рд┐рд░реНрдл рдПрдХ рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓?

рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛрд╕реНрддреЛрдВ рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рд╣реИред рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ HTML рдореЗрдВ JS/CSS рд╣реИ ...

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реАрдПрд╕рдПрд╕/рдЬреЗрдПрд╕ рдФрд░ рдбреЗрдЯрд╛ рд╕рд╣рд┐рдд рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдПрдЪрдЯреАрдПрдордПрд▓ рдмреНрд▓реЙрдмреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдиреЗрдорд╛-рдкреНрд▓реЗрдпрд░ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕