{"id":4170,"date":"2024-10-22T07:33:58","date_gmt":"2024-10-21T22:33:58","guid":{"rendered":"https:\/\/matoken.org\/blog\/?p=4170"},"modified":"2024-10-22T08:09:16","modified_gmt":"2024-10-21T23:09:16","slug":"convert-terminal-results-to-html-with-terminal-to-html-command","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2024\/10\/22\/convert-terminal-results-to-html-with-terminal-to-html-command\/","title":{"rendered":"terminal-to-html\u30b3\u30de\u30f3\u30c9\u3067\u7aef\u672b\u306e\u7d50\u679c\u3092HTML\u306b\u5909\u63db\u3059\u308b"},"content":{"rendered":"<p><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\"><defs><mask id=\"ipSTerminal0\"><g fill=\"none\" stroke-linejoin=\"round\" stroke-width=\"4\"><rect width=\"40\" height=\"32\" x=\"4\" y=\"8\" fill=\"#fff\" stroke=\"#fff\" rx=\"2\"><\/rect><path stroke=\"#000\" stroke-linecap=\"round\" d=\"m12 18l7 6l-7 6m11 2h13\"><\/path><\/g><\/mask><\/defs><path fill=\"currentColor\" d=\"M0 0h48v48H0z\" mask=\"url(#ipSTerminal0)\"><\/path><\/svg><!-- https:\/\/icon-sets.iconify.design\/icon-park-solid\/terminal\/ --<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M.154 14.692V9.308h.885v2h2.615v-2h.885v5.384h-.885v-2.5H1.039v2.5zm7.75 0v-4.5H5.96v-.884h4.77v.884H8.789v4.5zm4.25 0v-4.615q0-.327.221-.548t.548-.221h4.346q.327 0 .548.22q.222.222.222.549v4.615h-.885v-4.5h-1.615v3.5h-.885v-3.5h-1.615v4.5zm8.077 0V9.308h.884v4.5h2.731v.884z\"><\/path><\/svg><!-- https:\/\/icon-sets.iconify.design\/material-symbols-light\/html\/ --><\/p>\n<div class=\"paragraph\">\n<p>\u5148\u65e5 aha \u3068\u3044\u3046\u30b3\u30de\u30f3\u30c9\u3092\u8a66\u3057\u307e\u3057\u305f\u304c\uff0c\u4eca\u56de <code>terminal-to-html<\/code> \u3068\u3044\u3046\u4f3c\u305f\u30b3\u30de\u30f3\u30c9\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/buildkite\/terminal-to-html\">buildkite\/terminal-to-html: Converts arbitrary shell output (with ANSI) into beautifully rendered HTML<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/matoken.org\/blog\/2024\/10\/18\/aha-command-that-converts-command-results-to-html\/\">\u30b3\u30de\u30f3\u30c9\u7d50\u679c\u306a\u3069\u3092html\u306b\u5909\u63db\u3057\u3066\u304f\u308c\u308baha \u2013 matoken&#8217;s meme<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"listingblock\">\n<div class=\"title\">\u5c0e\u5165\u3068help<\/div>\n<div class=\"content\">\n<pre>$ go install github.com\/buildkite\/terminal-to-html\/v3\/cmd\/terminal-to-html@latest\n$ which terminal-to-html\n\/home\/matoken\/go\/bin\/terminal-to-html\n$ terminal-to-html --help\nterminal-to-html - turn ANSI in to HTML\n\nSTDIN\/STDOUT USAGE:\n  cat input.raw | terminal-to-html [arguments...] &gt; out.html\n\nWEBSERVICE USAGE:\n  terminal-to-html --http :6060 &amp;\n  curl --data-binary \"@input.raw\" http:\/\/localhost:6060\/terminal &gt; out.html\n\nOPTIONS:\n  --http value              HTTP service mode (eg --http :6060), endpoint is \/terminal\n  --preview                 wrap output in HTML &amp; CSS so it can be easily viewed directly in a browser (default: false)\n  --log-stats-to-stderr     Logs a JSON object to stderr containing resource and processing statistics after successfully processing (default: false)\n  --buffer-max-lines value  Sets a limit on the number of lines to hold in the screen buffer (and also limits the possible window height), allowing the renderer to operate in a streaming fashion and enabling the processing of large inputs. Setting to 0 disables the limit, causing the renderer to buffer the entire screen before producing any output (default: 300)\n  --window-max-cols value   Sets an upper bound on the window width (which may change based on input). Window size mainly affects cursor movement sequences (default: 400)\n  --window-cols value       Sets the initial window width. Window size mainly affects cursor movement sequences (default: 160)\n  --window-lines value      Sets the initial window height. Window size mainly affects cursor movement sequences (default: 100)\n  --help, -h                show help\n  --version, -v             print the version<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u65e9\u901f\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\uff0e\u65e2\u5b9a\u5024\u3067\u306f\u30d8\u30c3\u30c0\u30fc\u3084\u30d5\u30c3\u30bf\u30fc\u306f\u4ed8\u304b\u306a\u3044\u3088\u3046\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ cowsay hello terminal | terminal-to-html\n ________________\n&amp;lt; hello terminal &amp;gt;\n ----------------\n        \\   ^__^\n         \\  (oo)\\_______\n            (__)\\       )\\&amp;#47;\\\n                ||----w |\n                ||     ||<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u6b21\u306b <code>--preview<\/code> option \u3092\u8a66\u3057\u307e\u3059\uff0eHTML \u3068 CSS \u3067\u30e9\u30c3\u30d7\u3057\u3066\u304f\u308c\u307e\u3059\uff0eaha \u30b3\u30de\u30f3\u30c9\u3067\u306f\u8868\u73fe\u3055\u308c\u306a\u304b\u3063\u305f cow \u306e\u3057\u3063\u307d\u306e\u70b9\u6ec5\u3082\u518d\u73fe\u3067\u304d\u3066\u3044\u307e\u3059\uff0e<br \/>\n\u3057\u304b\u3057\u3053\u3053\u306b HTML \u3092\u8cbc\u308a\u4ed8\u3051\u305f\u3089 WprdPress \u3068\u5e72\u6e09\u3057\u3066\u8272\u30b3\u30fc\u30c9\u304c\u4e0b\u90e8\u306e\u30bf\u30b0\u306b\u306a\u3063\u305f\u308a\u6539\u884c\u304c\u5165\u3063\u3066\u3057\u307e\u3063\u305f\u308a\u3068\u3072\u3069\u3044\u3053\u3068\u306b\u306a\u3063\u305f\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u9759\u6b62\u753b\u3067\u3059\uff0e\u3061\u306a\u307f\u306b Asciidoctor Reveal.js \u3078\u306f\u7dba\u9e97\u306b\u8cbc\u308a\u4ed8\u3051\u3067\u304d\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ unbuffer apt moo moo | terminal-to-html --preview | xsel<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPYAAACvCAYAAADOkyP3AAAanklEQVR4nO3deVRTd\/7\/8WdCIOwQSGSrC25VK61bhbq11UpF1Lovo2O\/tf5abe02Ouf3tTPTzpzptNrpPvZnt5m21rXu1qKiHZdWXFEsrriBVVmCQICwBcjvj2g0ZVVCgev7cY7nSG7yuR8+ua\/7ufeG+47KarVaEUIoirqpOyCEcD4JthAKJMEWQoEk2EIokKa6B9etW8eSJUs4cuQIZWVlv3WfhBANVCXYf\/vb31i8eHFT9EUI4SQOh+Lr1q2TUAuhAA7BXrJkSVP1QwjhRKpb\/0ClTZs2ck4thAI4zNgSaiGUQT7uEkKBJNhCKJAEWwgFkmALoUASbCEUSIIthAJJsIVQIAm2EAokwRZCgSTYQiiQBFsIBZJgC6FAEmzhNMuXL2fKlClOa++bb77hqaeeclp7dxMJtnCKsWPH4uHhwYoVK5zW5h\/\/+Efmzp1LUFCQ09q8W0iwhVO8+OKLfPDBB05tMyMjg82bN\/P00087td27gQRbNFjnzp0JDg7mxx9\/dHrbGzZsYMSIEU5vV+kk2KLBevbsydGjR6msrHR624mJiYSHh+Pn5+f0tpVMgi0azGAwYDQaG6Vti8VCfn4+er2+UdpXKgm2EAokwRYNlp2d3WgzqqurK76+vmRnZzdK+0olwRYNdvToUXr16oVKpXJ627169eLixYuYTCant61kEmzRYCkpKRiNRgYOHOj0tkePHs3333\/v9HaVrtrv7hLidlitVj744ANefvll9uzZA0BUVCm9e1VfzrqgQI2PT\/VX0CsqVHzyqTcAQUFBjBw5kiFDhjROxxXM4QsDgoODm7IvooVbsWIF3333HcuXL3dKe0uWLGHXrl385z\/\/cUp7dxMJthAKJOfYQiiQBFsIBZJgC6FAEmwhFEiCLYQCSbCFUCAJthAKJMEWTvPaX0wMGVLitPb+9KqJmJhip7V3N5FgC6cYNLAUNzcrP\/zg7rQ2F3\/iw6SJReh0zi\/goHQSbOEU48YVsXqNp1PbzMlRk7BPS+xwmbVvlwRbNFjr1hUEBFTw889uTm97709a+vUrdXq7Sid3d4laublZeeXlAjp0tHApTUN8vAcXL2q4774ydu22HXZ36mjh7DlXbt514DxnUjQEB1fg7W2lsFBVr\/4ICbaog5sbfB\/nwYkTvvTuXcbIEcWEhpbz3eabh93+\/pXk5TXOwV95uQqzWYWvbyWFhS716o+QYIs6FBaqOH7cFYDDh904fNj5h9stuT\/NlZxjiwYzmdT4+9V85frhiXMY\/4f3q13Wqdcgnv9oCy6a6gOq0Vjx8rKSny+b6u2Q0RINlnJWQ6dOFmoqeab18MbDq\/q64BpXLV6+ATW+tnPncjIyXCgsdH49NSWTQguiwVQq+OjDHL74wptjTr4y\/sz\/KaS4WMU3S72c2q7SyTl2I7jXz49n77232mXl1D7oeRYL\/q6u1S7LLCkhyL36K79qlYrKGi5L55SWEqDV3lF\/Pjx5krTCwlqeAVYrrF7jyfjxRU4Ntk5XSb9+pbzyB53T2rxbyIwtnOa110wkJGjZscM5Hzu9Ot9E0jE34uI8nNLe3USCLYQCycUzIRRIgi2EAkmwhVAgCbYQCiTBFkKBJNhCKJAEWwgFkmCLWqmA7cOGEWkw1PlcqXnWfEiwRa2swJvHjvGnBx6o9XlS86x5kWCLOu1MT6fcaiU6LKzG51RX80yFiue6v0T8yD1sH\/kjbz\/0AZ6amzdzDA4byubhO9g+8keWPbaGdj7hDq+Xmmd3ToIt6uWNpCRefeAB1NXcX1lTzbPH7nmcUe1GM3ZrLNHfDULromXWfXMAMHi04p1+H\/HK3ucY+t1A4tK+Y+FDVe\/Zlppnd0aCLerlyLVrXCgoYHy7dlWW1VTzbHDYY2y6uJ5CSwFWrKw+v5KHQx8FoH\/wQJKvJXHWlALA6vMr6Knvjberj0Mbt9Y8E\/Unt222QFMmm4mJsV2kOnHClYVv+9ZrWY8eZfzhlQIAKirgqRmB9mXuWiuffZZj\/\/mNf\/iSkuJ4++hbx46x9OGH2ZCWRlnlzfPemmqe6T0MJF07Yv85tzSHQK3etszdwLWSa\/ZlZZVlFFnMBLoHUmgpsD\/+65pnon4k2C3Qho2ebNlqu5WxvFxV72UnTrjy4kvV39tcWqZyWFZQUDWoZ\/PzScjK4qlOnfj0zJk6+5ldbLQHGSBAG4CxJMu2rMRIoPvNHYvWRYunqxfGYmOd7Yq6yaF4M\/XIwyWsWW0kMKDqFeHiYhV5eWry8tRVSgbVtsxiubns1zOs1YrDsoqK6vv1z+RkZnXpgs8txSBqqnm240o8o8LH4OXqjVqlZlLHqey4HA\/AT+l7iAjsQUe\/zgBM7jiN\/ZkJFJWbHdqQmmd3RmbsZqp7dwu7d7tzLad5bdBXi4rYcOkSz3XtysKffwZsNc\/+538KUalwOM\/+4XI8Xfy7sX5YHCpU7M9M4N+nPgFsM\/a8hBf5sP9i3FzcuFx4ifn751ZZn9Q8uzNSaKGZWvz\/cnhrgS+XLjX\/fa\/UPGt+mtd0IAAIDKzkyhWXFhFqcKx55kw3ap5t\/l5KI90umbGF0\/y65tnZ312+o3Y6Lb8HkJpnDSHBFkKB5FBcCAWSYAuhQBJsIRRIgi2EAkmwhVAgCbYQCiTBFkKBJNjNxMIFedx3n8XhsVdezqffQ82nyMCd9mf678289pqpEXokaiLBbgaiIksxm1WcOFH91+e2dOYiFUVmuYnjtyTBbmJqNfzud2aWKvgmB7NZRVGRBPu3JMFuYoMHl5CWpuHCxZZxw8edMJvVmItkU\/styWg3IVdXK+PHFbF8hXJna4CEBC3Ll3vW\/UThNMqdJlqA2NhikpLcSE9Xdi2vigqoqJBD8d+SzNhNxMvLyojYYlZ9KzOZcD4JdhMZO6aI3bvdyc1t+W9BYGAl69cZm9VHc3e7lr9VtUA6XSWPPFLCuvXKmK0jupeRmenC\/gPapu6KuE7OsZtAbq6ap2cG1v3EFqJ7dwsbN3pQKV+x1WxIsFuQqKhSevcqq3aZWk2NwSooUOPjU\/3CykoVanXN37KxZq0nmZm1X9xr3bqCz7\/wrvU54rclwW5B9u\/Xsn9\/8zvc\/b\/\/69\/UXRC\/IjXPhFAguXgmhAJJsIVQIAm2EAokwRZCgSTYQiiQBFsIBZJgC6FAEuxGptFoWLt2bYPamP57M5Mm2b7J8ukZhU7\/Vsvq3KjBplLBu+\/m0rWrpe4XiWZDgt2InnvuOWJjY1GpVMyZM4dBgwbddhsBAZUMGFDKpk22b5xcvcaTYY8X1\/gnos5waw02qxWWLvVi+u\/NjbY+4XwS7EYUFxdHZGQkDz74IBkZGRw7duy225g8ycym7zwoLrYVKsjPV7N9hwfjxzXOrF1dDbajR90oL4cHH6z+79RF8yPBbkRXr16lW7duvP7667Rv3x6T6fZK8IaFVRARYWHrVneHxzdu9KBfv1IMeufP2jXVYPtmqRfTpppRSSGUFkGC3Yg0Gg3vvPMOX3755R3N1lN\/Z+bb1Z6UlzumqaRExYaNnkye7NzD49pqsKWkuHI13YVHHilx6jpF45BgN6KioiJ++uknrFYr27Ztu63XduxYTlhYBbt2uVe7fNs2d7p1s9C6dbkzugrUXYNt2TIvJk0swtW15ts8RfMgwW6mpk8vZNlyT6w1ZKi8XMWqVZ5Mm+acWbs+NdguX3bh+HFXYobJrN3cSbCboZ49ytC6wcGDtd97vXuPO0GtKunSpeEfRdW3BtvKVV6MGlWEp6fM2s2ZBLuZUalg2u\/NLPmm7lrjVissXdbwj6JupwZbdraan\/ZqGf1E43+WLu6cFFoQQoFkxhZCgSTYQiiQBFsIBZJgC6FAEmwhFEiCLYQCSbCFUCAJthAKJMEWQoEk2EIo0G8e7Nmfj+CR6fdXefzFJaPpN7Fbja8bMqMHzyweXuXxx2f34an3o2td5\/vJswjpFFDl8UUpz6Nv7ev0dd7TTc87R5+p8nh4z2De2jej1r7K+Mj4OMNvHuysVBO6UJ8qj+tCvDGm1VxhJCvVhC7k9l8HYEzLI+BX6\/TSueOiUZNztcDp6zSmmvAO8MBV63hfc336KuMj4+MMjRLsP8VNoVPfMIfHXN01fHxuDtcum+yDFNReh0+g7Y4i\/xBv9G38eGXl2CrtjZ3fn\/sebUtAmO11vgZPWrWzfXWrLsSbvAwzH5+fg9rFsdLIfY+0Ze6qcRjTTPbXtr0\/CFetC7oQb7Iv5zPu1QHEvtS3yjr\/d+MkvHTaGtfp4eNWY1+HPtuLgmtF6EJ9cPPQ0KZ7K9vrgr0xpuXJ+Mj41Do+I16JrPL47WqUYGecy8XQzg8AX70nao2aoHB\/jJdMZF7IQxdq+5L0WZ\/FEj2rN24eGly1Gi4kXqVVW9svr\/V0xdPXdj9yq3AdFxPT8Q30wEWjJvalSGYuGgbYBulqSjaFOSUEhPrgolHb3+ygcB3p53Iwptn2nD6BHry6eTJd+rdBF+yDMc1Exvlc+4B7+mlx87DV+gpqr+NMwpUa13nhaEaNfc04a1tnQIgPEYPDmf\/dZNy93fAPub5OGR8ZnzrGp6EaJdiZF3IxtPXD0NaPN\/fNoOfjHQhqryPjXO71vZ8vXjp3Ss0WOvQJQRfqQ\/YlE8Y0Ez56TzRuLkx9azAvr7Dt0YI76Lhy5hqmLDP+wd6E9wjCagWtlyu66xtD5vlcDG39eWhCN97a9xQ+gZ4Edbh1nT507BvGhSMZdIoMtR8OZZy39RVg\/qbJjPvTQHwCbaV+c9MLalznuQNXauxrxvmb6+zUN4zUY5m23\/P6OmV8ZHzqGp+GaqQZO4dW7fzpPrgde5b+TLdBba6\/MTnkXMnHN9CDTn3DSNl\/GTd3DYa2fhjT8qissJL9iwlDWz+COwaQczmfgDAfAu\/xJfOCbYDDuuipsFSSmpRBxz6huLq7UHCtmIzzORja+dH9kbbsWZZ8fZ3+1\/e4tr18xwdD2b3kGO17h+AX5HXL7OBPWBc9F49m0OY+A62u76mBGtdpMhbV0VfbOtv3DubHZcl07BOKv32dMj4yPrWPT0M1TrAv5BIQ6kP3h9sR\/+kRwrro0bf2JeNcDpUVVvIyzdz\/WDjnD6eTeiyT+4eE2y8mZJ7PpWdMRy4lZ3Hqp194aHxX8o1mLKUVGNNM9Hi8PReOZnA+MZ0HotuTfSnf\/jpDW390oT78uOw4XQe2Qd\/azz47+Bm8CO8ZzM87LuLpazv3MablUXCtCBeNmh6Ptyd5Zyo56YV06X8PGbe8MbWts7a+Gtr6Y7XCyT1ptO8Tgq\/B07YxyPjI+NTR14ZqpEPxPPyDvfHwdSMvo5Cs1Dw6PBhK+jnbnsiYZqLboLacO3SVswevcP9j7e1vTMb5XCLHdOH4zlRO\/XiJvqO7OOz97nu4LecOXuHsgaqvu\/+xcM4nppN+Lgd9G188fbXkpReQl1GIh48barWKovxSUpMy6Tqgzc2N4UIefUZ25uSeNPs6M+q5ztr62nVAay4kppOXacbLz3YVtbigVMZHxqfOvjZUowTbUlKO1Wrl3KGrAJz68dL1c4cbv2wexfmlmPNKOHfgisPl\/8zr5yyn9\/5CVmoeGjcXMuxvaB5+Qd6cPXiV3PRCKisqHQYpuIOOE7tSbc9NNZF9OR+r1VYbrLiwjNRjmQCcPWhbZ\/alG29MLiWFFsy5JZzak2braz3WWWtfU034B3tz9uAVAH45aaQwp1jGR8anXn1tKKl5JoQCyZ+UCqFAEmwhFEiCLYQCSbCFUCAJthAKJMEWQoEk2EIokARbCAWSYAuhQBJsIRSoxQV77969TJ8+nT59+pCRkYFWa7tBfejQofzwww\/257Vu3ZqMjIym6uZd65lnnuG9996r9\/O3bdvW4HV+9dVXjB8\/vsHtzJw5k8TERFJSUli\/fj333nuvfdmYMWP4+eefAVi5ciV\/\/vOfG7y+xtTigl1QUEB+fj75+flYLBZKS0ubukviDvn4+BASEtLU3QAgOjqamTNnMn78eLp27Up8fDyLFy+2L8\/Pz6egwFbf7MY22Jy1uGDn5+djMplue3B79+7N9u3bOXDgAPHx8XTrZqto2blzZ1JTU\/Hy8rI\/NzY2ln379tl\/fumll9i7dy979+5l4cKFuLm51bm+L774gmeffdbhsTVr1jBu3DgAOnbsyPr160lISGDnzp0MHjzY4bVTp061\/\/zpp586\/FyTw4cP89prr3Ho0CGmTp3Kli1b+Pjjj+3Lo6Oj2blzJwkJCaxfv5727dvbl9XWH29vbz766CMSEhLYs2cPM2bcrCTq6urKRx99RGJiIps2bSI8PLzOfoLtiOrAgQPo9XqSk5NJTk5m2rRp9epPSEgIGzdu5ODBg3zxxRf2ozYAtVrNW2+9xcGDB+3jAaDRaDh27BgRERH257q7u3P27FnCwsJo27Ytb775JhcvXqSiooJVq1bRuXNnVCpbHbSCggJMJttdWTcmluasRQb71n\/19c4777Bo0SIiIyPZuHGj\/VAqJSWFlJQUhg0bZn\/umDFj+PbbbwFbGCZOnMjw4cMZNGgQBoOBmTNn1rm+ZcuWORweGgwGIiIiiIuLQ6VS8cknn7B27Vr69evH888\/z+LFi\/H396\/371MdFxcXEhMTWbp0KVOmTGHUqFHExMTg5uZGUFAQixYtYtasWfTr14+NGzfy4YcfAtTZn3nz5uHm5saAAQN44oknmDVrFg888AAAo0aN4t577yUqKoqpU6cyYMCAevX1l19+YdSoUVy7do2IiAgiIiJYunRpvftz\/Phx+vbtyz\/\/+U+HdcbExBAZGUn\/\/v159NFHmTBhAr169aK8vJzVq1c7vCdDhw4lKSmJK1eu8Pnnn7Np0yb7slGjRpGUlMSNmx9vTCg3\/n9j9m6uWlywX3jhBZKSkjCbzQwdOtRhWZcuXTh16hSnTp1ix44dDstiYmLYvHkzAAcOHKBdu3b2ZWvXrmX06NGA7fBwyJAhrF69GrAFe82aNZhMJioqKvj6668ddgI12b17N3q9ns6dOwO2DSUuLo7i4mJCQkLo1KkTK1euBODkyZOcPXuWyMiGV6c8efIk165d49y5c1gsFvLz8\/H19WXQoEEkJSVx5swZAJYvX06fPn3sh8O19Sc6Opovv\/ySyspKcnNzWb9+PTExMQBERkaybds2LBYLBQUFbNmypcG\/Q139iYqKsofwzJkzHDt2zP7auLg4Ro4cae\/PiRMn7O\/1ihUrGD16NC4utrLHo0ePtu\/Ab\/Xkk0\/yzDPP8MILL9gfS0lJ4emnnwZgwYIFDjuB5kjT1B24XcXFxfb\/FxYWOiw7f\/48kyZNAiA0NJTvv\/\/evmzEiBE8+eSTaDQaPDw8UKtv7tPWr1\/P\/Pnz8fPzY9iwYSQmJnL58mUA9Ho9sbGx9kNhtVpNbm7dN8NXVlaycuVKJkyYwD\/+8Q\/GjBnD3\/\/+d8A2e+fm5lJeXm5\/fk5ODnq9\/naHo4qSkhKsVitlZWUAWK1W1Go1BoOB7Oxs+\/PKysowm83o9Xp8fX1r7Y9er+eTTz6hosJWssfV1ZW4uDgAdDodp0+ftr\/OZDI1+Peoa3z8\/f3tsyfgcOSm1+t5\/fXX6dSpExUVFXTo0IE1a9YAtu0jNTWVQYMGcejQIaKiopgzZ47DuqOionjuueeIjY11GK\/KykqKiooAWsR1nRYX7NpYLBbS09MB2znVDffccw\/vv\/8+Q4cO5fTp0\/Tv3593333XvjwrK4t9+\/YxfPhwnnjiCYe9eFZWFh9\/\/DGLFi267f6sWLGCdevWsWTJEvR6PQcPHgTAaDSi0+nQaDT2jTcwMJCsrCzAthHdmFXAdo7bUEaj0SFwWq0WLy8vsrKyKC0trbU\/RqORF154gSNHjlRp12QyodPp7D+3atXKKX2trT8mk8nhtMVgMNj\/P3\/+fFxcXBg+fDgVFRVs2LDBoe0VK1Ywbtw4DAYD27dvd5goAMLCwliwYIFDqFuiRj0UDwwMJDk5mf79+1e7fOPGjbz88svVLvvLX\/7CsmXLnNIPf39\/SktLOX\/+PGq1mkmTJjlcLAPbha0RI0bQs2dP+yE7wJYtW5g4cSJ+fn6oVCqmTZtWrwtZAJcuXSItLY033niDNWvW2M\/Xrl69ypkzZ+xHFxEREYSHh7N\/\/34A0tPT6dChA2A7LO3Tp0+Dx2DXrl306NHDfmowffp09u7di9lsrrM\/cXFxzJgxA7VajZubG3\/961\/p1asXAIcOHSImJgZ3d3datWpFdHT9v7rGbDaj0+kICgrC1dXVvuOpqz+HDx9mzJgxgO1U4MbvBBAQEMDJkyepqKigZ8+edOnSxeG93rRpEwMHDmTixImsWrWqSp9OnjzpcGh\/O+50e3bmtn5DowbbxcUFg8FQ41VkvV5f42zk4+PjMBM0xIkTJ4iPj2fHjh2sXbuWZcuWUVhYyL\/+9S\/7c+Li4oiKimLr1q32Qy6AnTt3snLlSuLi4khKSmL48OH897\/\/rfe6ly9fTnR0dJVzudmzZzNhwgQSEhJ47733mDlzpv2CzFdffcWAAQPYtGkTr776KvHx8Q5HIHfCaDQyZ84cPvvsMxISEhgyZIjDRlhbf95\/\/30sFgsJCQkcOnQIrVZLcnIyYDuNSUlJITExka+\/\/poNGzY4HG3UJj09nW+\/\/ZaEhASOHz\/O888\/X6\/+vP3223Tv3p3jx48zY8YM4uPj7adWixcvZsqUKWzevJkxY8awYMEC5s6dS8+ePQEoKipix44dtGnTxr6juNXs2bOZOHHiHYzwnW\/PztzWb5CaZ42sX79+zJ071\/4xl2h68+bNw2q1OpyOKY2izrGbG61Wy7x58\/j3v\/\/d1F0R14WGhjJ58mRGjhzZ1F1pVC3u466Wom\/fviQmJnL69GmHq\/Oi6cyePZutW7eycOFC+0VWpZJDcSEUSGZsIRRIgi2EAkmwhVAgCbYQCiTBFkKBJNhCKJAEWwgFkmALoUASbCEUSIIthAJJsIVQIAm2EArkEOz6lNUVQjR\/DsG+Ue5GCNGyOQR7+vTpTdUPIYQTOQR77NixzJ49u6n6IoRwEodCCzfcKJl75MgRe31qIUTLUW2whRAtm3zcJYQC\/X\/CqhRUERMuhwAAAABJRU5ErkJggg==\" alt=\"terminal to html apt moo2\"\/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u6b21\u306b\u30a6\u30a7\u30d6\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066\u52d5\u304b\u3057\u3066\u307f\u307e\u3059\uff0ehttp \u7d4c\u7531\u3067\u5909\u63db\u304c\u3067\u304d\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ terminal-to-html --http :6060 &amp;\n$ cowsay hello &gt; input.raw\n$ curl --data-binary \"@input.raw\" http:\/\/localhost:6060\/terminal\n _______\n&amp;lt; hello &amp;gt;\n -------\n        \\   ^__^\n         \\  (oo)\\_______\n            (__)\\       )\\&amp;#47;\\\n                ||----w |\n                ||     ||\n$ kill %1\n$ terminal-to-html --preview --http :6060 &amp;\n$ curl --data-binary \"@input.raw\" http:\/\/localhost:6060\/terminal | head\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\n1&lt;!DOCTYPE html&gt;\n0&lt;html&gt;\n1       &lt;head&gt;\n5               &lt;meta charset=\"UTF-8\"&gt;\n6               &lt;title&gt;terminal-to-html Preview&lt;\/title&gt;\n                &lt;style&gt;.term-container {\n   background: #171717;\n1  border-radius: 5px;\n0  color: white;\n0 10005  100   151  6211k  95994 --:--:-- --:--:-- --:--:-- 9917k\ncurl: Failed writing body<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>aha \u306e\u65b9\u304c HTML \u5909\u63db\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u591a\u3044\u3051\u3069\uff0cterminal-to-html \u306f http server \u6628\u65e5\u304c\u5408\u3063\u305f\u308a\u3068\u30e6\u30cb\u30fc\u30af\u306a\u90e8\u5206\u3082\uff0e\u597d\u307f\u3067\u4f7f\u3044\u5206\u3051\u308b\u3068\u826f\u3055\u305d\u3046\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"title\">\u74b0\u5883<\/div>\n<div class=\"content\">\n<pre>$ terminal-to-html --version\nterminal-to-html version 3.16.3\n$ dpkg-query -W golang curl\ncurl    8.10.1-2\ngolang:amd64    2:1.23~2\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>\u5148\u65e5 aha \u3068\u3044\u3046\u30b3\u30de\u30f3\u30c9\u3092\u8a66\u3057\u307e\u3057\u305f\u304c\uff0c\u4eca\u56de terminal-to-html \u3068\u3044\u3046\u4f3c\u305f\u30b3\u30de\u30f3\u30c9\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e buildkite\/terminal-to-html: Converts arbitrary sh [&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],"tags":[855,852,360,1116],"class_list":["post-4170","post","type-post","status-publish","format-standard","hentry","category-debian-linux","category-linux","category-sid","tag-855","tag-aha","tag-terminal","tag-terminal-to-html"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4170","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=4170"}],"version-history":[{"count":3,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4170\/revisions"}],"predecessor-version":[{"id":4173,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4170\/revisions\/4173"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=4170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=4170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=4170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}