{"id":4156,"date":"2024-10-21T07:34:52","date_gmt":"2024-10-20T22:34:52","guid":{"rendered":"https:\/\/matoken.org\/blog\/?p=4156"},"modified":"2024-10-21T07:41:06","modified_gmt":"2024-10-20T22:41:06","slug":"share-asciicast-format-files-with-asciinema-player","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2024\/10\/21\/share-asciicast-format-files-with-asciinema-player\/","title":{"rendered":"asciicast\u5f62\u5f0f\u306e\u30d5\u30a1\u30a4\u30eb\u3092asciinema player\u3067\u5171\u6709\u3059\u308b"},"content":{"rendered":"<p><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M1.61 0v24l20.78-12zm4.15 7.2l4.3 2.48l-4.3 2.48zm6.79 3.92l1.53.88l-8.32 4.8v-1.76z\"><\/path><\/svg><!-- https:\/\/icon-sets.iconify.design\/simple-icons\/asciinema\/ --><\/p>\n<div class=\"paragraph\">\n<p>asciinema \u3068\u3044\u3046\u7aef\u672b\u3092\u9332\u753b\u518d\u751f\u3068\u5171\u6709\u306e\u51fa\u6765\u308b\u30c4\u30fc\u30eb\u3084\u30b5\u30fc\u30d3\u30b9\u304c\u3042\u308a\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/matoken.org\/blog\/2015\/08\/13\/terminal-web-share-asciinema\/\">\u7aef\u672b\u64cd\u4f5c\u3092 Web \u3067\u5171\u6709\u51fa\u6765\u308b asciinema \u2013 matoken&#8217;s meme<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\u5171\u6709\u306e\u305f\u3081\u306b\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f asciinema.org \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u307e\u3059\u304c\uff0c\u30b5\u30a4\u30ba\u306e\u5236\u9650\u304c\u3042\u308a\u5927\u304d\u306a\u3082\u306e\u306f\u5171\u6709\u3067\u304d\u307e\u305b\u3093\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ asciinema rec sl_lolcat.cast <b class=\"conum\">(1)<\/b>\nasciinema: recording asciicast to sl.cast\nasciinema: press &lt;ctrl-d&gt; or type \"exit\" when you're done\n$ <b class=\"conum\">(2)<\/b>\n^d <b class=\"conum\">(3)<\/b>\nexit\nasciinema: recording finished\nasciinema: asciicast saved to sl.cast\n$ ls -l sl_lolcat.cast\n-rw-rw-r-- 1 matoken matoken 35881291 10\u6708 21 06:51 sl_lolcat.cast\n$ asciinema upload sl_lolcat.cast <b class=\"conum\">(4)<\/b>\nasciinema: upload failed: Sorry, the size of your recording exceeds the server-configured limit.<\/pre>\n<\/div>\n<\/div>\n<div class=\"colist arabic\">\n<ol>\n<li>\n<p>asciinema \u30b3\u30de\u30f3\u30c9\u3067 <code>sl_lolcat.cast<\/code> \u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u540d\u3067\u9332\u753b<\/p>\n<\/li>\n<li>\n<p>\u9332\u753b\u3057\u305f\u3044\u64cd\u4f5c<\/p>\n<\/li>\n<li>\n<p><code>&lt;Ctrl-d&gt;<\/code> \u3067\u9332\u753b\u7d42\u4e86<\/p>\n<\/li>\n<li>\n<p>\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u304c\u5927\u304d\u3044\u306e\u3067 asciinema.org \u3078\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306b\u5931\u6557<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/github.com\/asciinema\/asciinema-server\">asciinema server<\/a> \u3092\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3059\u308b\u3053\u3068\u3067\u304d\u307e\u3059\u304c\u3061\u3087\u3063\u3068\u5927\u3052\u3055\uff0easciinema player \u3060\u3051\u306a\u3089\u304a\u624b\u8efd\u305d\u3046\u306a\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/docs.asciinema.org\/manual\/player\/quick-start\/\">Quick start &#8211; asciinema docs<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>asciinema player \u306e <a href=\"https:\/\/github.com\/asciinema\/asciinema-player\/releases\/latest\">releases page<\/a> \u304b\u3089 <code>asciinema-player.min.js<\/code> \u3068 <code>asciinema-player.css<\/code> \u3092\u5165\u624b\u3057\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ wget https:\/\/github.com\/asciinema\/asciinema-player\/releases\/latest\/download\/asciinema-player.css \\\n       https:\/\/github.com\/asciinema\/asciinema-player\/releases\/latest\/download\/asciinema-player.min.js<\/pre>\n<\/div>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/asciinema\/asciinema-player\">asciinema\/asciinema-player: Web player for terminal session recordings<\/a><\/p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/asciinema\/asciinema-player\/releases\/latest\">latest release page<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\u540c\u3058\u5834\u6240\u306b\u5171\u6709\u3057\u305f\u3044 cast \u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304d\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306a html \u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\uff0c <code>\/demo.cast<\/code> \u90e8\u5206\u3092\u81ea\u5206\u306e cast \u30d5\u30a1\u30a4\u30eb\u3068\u7f6e\u304d\u63db\u3048\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n  ...\n  &lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"\/asciinema-player.css\" \/&gt;\n  ...\n&lt;\/head&gt;\n&lt;body&gt;\n  ...\n  &lt;div id=\"demo\"&gt;&lt;\/div&gt;\n  ...\n  &lt;script src=\"\/asciinema-player.min.js\"&gt;&lt;\/script&gt;\n  &lt;script&gt;\n    AsciinemaPlayer.create('\/demo.cast', document.getElementById('demo'));\n  &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u9069\u5f53\u306a httpd \u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068\u57cb\u3081\u8fbc\u3081\u307e\u3057\u305f\uff0e\u305d\u306e\u307e\u307e\u518d\u751f\u3067\u304d\u307e\u3059 :)<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ python -m http.server 8000 -d . -b localhost &amp;\n$ xdg-open http:\/\/localhost:8000\/test.html<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u3053\u308c\u3092\u4f7f\u3046\u3068\u5927\u304d\u306a cast \u30d5\u30a1\u30a4\u30eb\u3067\u3082\u5171\u6709\u3057\u3084\u3059\u304f\u306a\u308a\u305d\u3046\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<div class=\"title\">SEE ALSO<\/div>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/asciinema\/ttyrec2asciicast\">asciinema\/ttyrec2asciicast: ttyrec to asciicast converter<\/a> ttyrec \u5f62\u5f0f\u306e\u30d5\u30a1\u30a4\u30eb\u3092 asciinema \u306e asciicast \u5f62\u5f0f\u306b\u5909\u63db\u3067\u304d\u308b\u30c4\u30fc\u30eb<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"title\">\u74b0\u5883<\/div>\n<div class=\"content\">\n<pre>$ dpkg-query -W asciinema\nasciinema       2.4.0-1\n$ lsb_release -dr\nDescription:    Debian GNU\/Linux trixie\/sid\nRelease:        n\/a\n$ arch\nx86_64<\/pre>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>asciinema \u3068\u3044\u3046\u7aef\u672b\u3092\u9332\u753b\u518d\u751f\u3068\u5171\u6709\u306e\u51fa\u6765\u308b\u30c4\u30fc\u30eb\u3084\u30b5\u30fc\u30d3\u30b9\u304c\u3042\u308a\u307e\u3059\uff0e \u7aef\u672b\u64cd\u4f5c\u3092 Web \u3067\u5171\u6709\u51fa\u6765\u308b asciinema \u2013 matoken&#8217;s meme \u5171\u6709\u306e\u305f\u3081\u306b\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f asc [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[7,6,199,1],"tags":[853,854],"class_list":["post-4156","post","type-post","status-publish","format-standard","hentry","category-debian-linux","category-linux","category-sid","category-1","tag-asciinema","tag-ttyrec"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=4156"}],"version-history":[{"count":4,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4156\/revisions"}],"predecessor-version":[{"id":4161,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4156\/revisions\/4161"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=4156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=4156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=4156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}